; ; sub_52C8C from 0x52c8c to 0x52d1c (144 bytes) ; ; 3 xrefs: ; > sub_529D8 @ 0x52c4c ; > sub_52D1C @ 0x52f30 ; > sub_53348 @ 0x53448 ; ; 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 ; SUB SP, SP, #0x30 ; +0x0, 0x52c8c STP X20, X19, [SP,#0x20+var_10] ; +0x4, 0x52c90 STP X29, X30, [SP,#0x20+var_s0] ; +0x8, 0x52c94 ADD X29, SP, #0x20 ; +0xc, 0x52c98 CBZ X1, loc_52CE4 ; +0x10, 0x52c9c LDR X8, [X0,#8] ; +0x14, 0x52ca0 MOV W9, #0x18 ; +0x18, 0x52ca4 MOV X19, X0 ; +0x1c, 0x52ca8 SMADDL X8, W2, W9, X8 ; +0x20, 0x52cac MOV W9, #0x11FC0 ; +0x24, 0x52cb0 ADD X8, X8, X9 ; +0x2c, 0x52cb8 LDR X9, [X8] ; +0x30, 0x52cbc CBZ X9, loc_52CDC ; +0x34, 0x52cc0 LDR X9, [X19,#0x18] ; +0x38, 0x52cc4 SXTW X20, W2 ; +0x3c, 0x52cc8 ADD X9, X9, X20,LSL#3 ; +0x40, 0x52ccc LDR X9, [X9,#0x150] ; +0x44, 0x52cd0 STR X9, [SP,#0x20+var_18] ; +0x48, 0x52cd4 CBZ X9, loc_52CEC ; +0x4c, 0x52cd8 MOV W0, WZR ; +0x50, 0x52cdc B loc_52D00 ; +0x54, 0x52ce0 MOV W0, #0x1F ; +0x58, 0x52ce4 B loc_52D00 ; +0x5c, 0x52ce8 LDR X0, [X8] ; +0x60, 0x52cec ADD X2, SP, #0x20+var_18 ; +0x64, 0x52cf0 MOV W3, #2 ; +0x68, 0x52cf4 BL sub_53DFC ; +0x6c, 0x52cf8 CBZ W0, loc_52D08 ; +0x70, 0x52cfc LDP X29, X30, [SP,#0x20+var_s0] ; +0x74, 0x52d00 B loc_53E08 ; +0x78, 0x52d04 LDR X8, [X19,#0x18] ; +0x7c, 0x52d08 LDR X9, [SP,#0x20+var_18] ; +0x80, 0x52d0c ADD X8, X8, X20,LSL#3 ; +0x84, 0x52d10 STR X9, [X8,#0x150] ; +0x88, 0x52d14 B loc_52CDC ; +0x8c, 0x52d18