X19 = Main Pointer
0xE68 = Jetpack Offset
.text:00000000005043E8 68 6A 4E BD LDR S8, [X19,#0xE68] ; Load from Memory
...
.text:0000000000504434 B7 E4 00 90 ADRP X23, #_Multiplayer@PAGE ; Address of Page
.text:0000000000504438 F7 AE 47 F9 LDR X23, [X23,#_Multiplayer@PAGEOFF] ; Load from Memory
.text:000000000050443C E8 02 40 39 LDRB W8, [X23] ; Load from Memory
.text:0000000000504440 B6 FD 01 B0 ADRP X22, #byte_44B9FC0@PAGE ; Address of Page
.text:0000000000504444 D6 02 3F 91 ADD X22, X22, #byte_44B9FC0@PAGEOFF ; Rd = Op1 + Op2
.text:0000000000504448 C8 00 00 34 CBZ W8, loc_504460 ; Compare and Branch on Zero
.text:000000000050444C C9 CA 41 F9 LDR X9, [X22,#(pMain - 0x44B9FC0)] ; Load from Memory
.text:0000000000504450 3F 01 13 EB CMP X9, X19 ; Set cond. codes on Op1 - Op2
.text:0000000000504454 60 00 00 54 B.EQ loc_504460 ; Branch
.text:0000000000504458 E9 1B 09 32 MOV W9, #0x3F800000 ; Rd = Op2
in code:
v3 = *(float *)(this + 0xE68);
...
if ( *Multiplayer && pMain != this)
*(_DWORD *)(this + 0xE68) = 0x3F800000;
If Multiplayer is active and pMain is diffrent from the offline game, then jetpack is set to 0x3F800000.
This code is 100% identical to the pc version, they only change
v3 = *(float *)(this + 0xE68);
to
*(float *)(this + 0xE68) = 0x3F800000;
v3 = *(float *)(this + 0xE68);