; ; sub_5AF44 from 0x5af44 to 0x5b0c4 (384 bytes) ; ; 1 xrefs: ; > sub_5A364 @ 0x5a3d8 ; ; This function is hookable on this platform! ; ; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA ; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings ; STR X21, [SP,#var_30]! ; +0x0, 0x5af44 STP X20, X19, [SP,#0x30+var_20] ; +0x4, 0x5af48 STP X29, X30, [SP,#0x30+var_10] ; +0x8, 0x5af4c BL sub_5C6DC ; +0xc, 0x5af50 CBZ X8, loc_5B04C ; +0x10, 0x5af54 MOV W21, W2 ; +0x14, 0x5af58 MOV X20, X0 ; +0x18, 0x5af5c MOV X19, X1 ; +0x1c, 0x5af60 MOV W9, #0xFFFFFFFF ; +0x20, 0x5af64 MOVI D0, #0xFFFFFFFF ; +0x24, 0x5af68 MOV W10, #8 ; +0x28, 0x5af6c STR X0, [X1,#0x200] ; +0x2c, 0x5af70 STP XZR, X1, [X8,#0x28] ; +0x30, 0x5af74 STR W9, [X8,#0x5C] ; +0x34, 0x5af78 STUR D0, [X8,#0x54] ; +0x38, 0x5af7c STR W10, [X8,#0x38] ; +0x3c, 0x5af80 STR X0, [X8,#0x18] ; +0x40, 0x5af84 TBZ W2, #0, loc_5B05C ; +0x44, 0x5af88 MOV W9, #1 ; +0x48, 0x5af8c LDR X10, [X20,#8] ; +0x4c, 0x5af90 LDR W12, [X20,#0x48] ; +0x50, 0x5af94 STR W9, [X20,#0x18] ; +0x54, 0x5af98 ADRP X9, #xmmword_2F340@PAGE ; +0x58, 0x5af9c MOV W11, #0x1050 ; +0x5c, 0x5afa0 LDR Q0, [X9,#xmmword_2F340@PAGEOFF] ; +0x60, 0x5afa4 ADRP X9, #xmmword_2F610@PAGE ; +0x64, 0x5afa8 MOVK W11, #1,LSL#16 ; +0x68, 0x5afac LDR Q1, [X9,#xmmword_2F610@PAGEOFF] ; +0x6c, 0x5afb0 MOV W9, #0xFFD8 ; +0x70, 0x5afb4 STR XZR, [X20,#0x1F0] ; +0x74, 0x5afb8 STR XZR, [X20,#0x10] ; +0x78, 0x5afbc STR XZR, [X20,#0x28] ; +0x7c, 0x5afc0 MOVK W9, #0xFEED,LSL#16 ; +0x80, 0x5afc4 ADD X11, X10, X11 ; +0x84, 0x5afc8 AND W9, W12, W9 ; +0x88, 0x5afcc LDR W12, [X11,#0x2EC] ; +0x8c, 0x5afd0 MOV W8, #0x3F800000 ; +0x90, 0x5afd4 STUR Q0, [X20,#0x98] ; +0x94, 0x5afd8 FMOV V0.2S, #1.0 ; +0x98, 0x5afdc STR W9, [X20,#0x48] ; +0x9c, 0x5afe0 MOV X9, #0x3F80000000000000 ; +0xa0, 0x5afe4 STR X9, [X20,#0xB8] ; +0xa4, 0x5afe8 ADRP X9, #qword_2EB58@PAGE ; +0xa8, 0x5afec STR WZR, [X20,#0x228] ; +0xac, 0x5aff0 STR W8, [X20,#0x220] ; +0xb0, 0x5aff4 STR W8, [X20,#0x34] ; +0xb4, 0x5aff8 STR D0, [X20,#0x78] ; +0xb8, 0x5affc STR WZR, [X20,#0xC0] ; +0xbc, 0x5b000 STUR Q1, [X20,#0xA8] ; +0xc0, 0x5b004 STR XZR, [X20,#0xE0] ; +0xc4, 0x5b008 STR WZR, [X20,#0xE8] ; +0xc8, 0x5b00c STR D0, [X20,#0xF0] ; +0xcc, 0x5b010 STR WZR, [X20,#0x100] ; +0xd0, 0x5b014 STR WZR, [X20,#0xF8] ; +0xd4, 0x5b018 STR W12, [X20,#0x224] ; +0xd8, 0x5b01c LDR W11, [X11] ; +0xdc, 0x5b020 LDR D0, [X9,#qword_2EB58@PAGEOFF] ; +0xe0, 0x5b024 STR W11, [X20,#0xFC] ; +0xe4, 0x5b028 STR D0, [X20,#0x58] ; +0xe8, 0x5b02c CBZ X10, loc_5B054 ; +0xec, 0x5b030 MOV X9, XZR ; +0xf0, 0x5b034 ADD X10, X20, #0x13C ; +0xf4, 0x5b038 CMP X9, #4 ; +0xf8, 0x5b03c B.EQ loc_5B054 ; +0xfc, 0x5b040 BL sub_5C6F0 ; +0x100, 0x5b044 B loc_5B03C ; +0x104, 0x5b048 MOV W0, #0x1E ; +0x108, 0x5b04c B loc_5B0BC ; +0x10c, 0x5b050 STP XZR, XZR, [X20,#0x128] ; +0x110, 0x5b054 STRB WZR, [X20,#0x138] ; +0x114, 0x5b058 LDR X0, [X20,#0x60] ; +0x118, 0x5b05c BL sub_5C500 ; +0x11c, 0x5b060 CBNZ W0, loc_5B0BC ; +0x120, 0x5b064 TBZ W21, #0, loc_5B0A8 ; +0x124, 0x5b068 BL sub_5C638 ; +0x128, 0x5b06c CBNZ W0, loc_5B0BC ; +0x12c, 0x5b070 LDR X0, [X20,#0x70] ; +0x130, 0x5b074 BL sub_AFE50 ; +0x134, 0x5b078 CBNZ W0, loc_5B0BC ; +0x138, 0x5b07c LDR X0, [X20,#0x20] ; +0x13c, 0x5b080 ADD X2, SP, #0x30+var_28 ; +0x140, 0x5b084 MOV W1, #0xFFFFFFFD ; +0x144, 0x5b088 LDR X8, [X0] ; +0x148, 0x5b08c BL sub_5C50C ; +0x14c, 0x5b090 CBNZ W0, loc_5B0BC ; +0x150, 0x5b094 LDR X0, [SP,#0x30+var_28] ; +0x154, 0x5b098 LDR X1, [X20,#0x60] ; +0x158, 0x5b09c BL sub_5C538 ; +0x15c, 0x5b0a0 CBNZ W0, loc_5B0BC ; +0x160, 0x5b0a4 LDR X0, [X20,#0x1D8] ; +0x164, 0x5b0a8 MOV X1, X19 ; +0x168, 0x5b0ac LDR X8, [X0] ; +0x16c, 0x5b0b0 LDR X8, [X8,#0x30] ; +0x170, 0x5b0b4 BLR X8 ; +0x174, 0x5b0b8 LDP X29, X30, [SP,#0x30+var_10] ; +0x178, 0x5b0bc B loc_5C56C ; +0x17c, 0x5b0c0