; ; sub_52858 from 0x52858 to 0x52958 (256 bytes) ; ; 1 xrefs: ; > @ 0x10c220 ; ; 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, 0x52858 STP X20, X19, [SP,#0x20+var_10] ; +0x4, 0x5285c STP X29, X30, [SP,#0x20+var_s0] ; +0x8, 0x52860 ADD X29, SP, #0x20 ; +0xc, 0x52864 MOV X19, X0 ; +0x10, 0x52868 BL sub_524B8 ; +0x14, 0x5286c CBZ W0, loc_5287C ; +0x18, 0x52870 LDP X29, X30, [SP,#0x20+var_s0] ; +0x1c, 0x52874 B loc_53E08 ; +0x20, 0x52878 LDR X20, [X19,#8] ; +0x24, 0x5287c LDR W8, [X20,#0x78] ; +0x28, 0x52880 TST W8, #0x300 ; +0x2c, 0x52884 B.EQ loc_528A8 ; +0x30, 0x52888 ADD X2, X19, #0x2F0 ; +0x34, 0x5288c MOV W1, #0x14 ; +0x38, 0x52890 MOV X0, X20 ; +0x3c, 0x52894 BL sub_6DFFC ; +0x40, 0x52898 CBNZ W0, loc_52874 ; +0x44, 0x5289c LDR X20, [X19,#8] ; +0x48, 0x528a0 LDR W8, [X20,#0x78] ; +0x4c, 0x528a4 TBZ W8, #9, loc_528C4 ; +0x50, 0x528a8 ADD X2, X19, #0x2F8 ; +0x54, 0x528ac MOV W1, #0x1A ; +0x58, 0x528b0 MOV X0, X20 ; +0x5c, 0x528b4 BL sub_6DFFC ; +0x60, 0x528b8 CBNZ W0, loc_52874 ; +0x64, 0x528bc LDR X20, [X19,#8] ; +0x68, 0x528c0 ADD X8, X19, #0x70 ; 'p' ; +0x6c, 0x528c4 STR X8, [SP,#0x20+var_18] ; +0x70, 0x528c8 BL sub_C6F2C ; +0x74, 0x528cc MOV X1, X0 ; +0x78, 0x528d0 ADD X3, SP, #0x20+var_18 ; +0x7c, 0x528d4 MOV X0, X20 ; +0x80, 0x528d8 MOV X2, XZR ; +0x84, 0x528dc MOV W4, WZR ; +0x88, 0x528e0 BL sub_77040 ; +0x8c, 0x528e4 CBNZ W0, loc_52874 ; +0x90, 0x528e8 LDR X20, [SP,#0x20+var_18] ; +0x94, 0x528ec MOV W1, #1 ; +0x98, 0x528f0 MOV W2, #1 ; +0x9c, 0x528f4 MOV W3, WZR ; +0xa0, 0x528f8 LDR X8, [X20] ; +0xa4, 0x528fc MOV X0, X20 ; +0xa8, 0x52900 LDR X8, [X8,#0x28] ; +0xac, 0x52904 BLR X8 ; +0xb0, 0x52908 CBNZ W0, loc_52874 ; +0xb4, 0x5290c MOV X0, X20 ; +0xb8, 0x52910 MOV X1, X19 ; +0xbc, 0x52914 BL sub_CC7C4 ; +0xc0, 0x52918 CBNZ W0, loc_52874 ; +0xc4, 0x5291c LDR X8, [X19,#8] ; +0xc8, 0x52920 LDR S0, [X8,#0x6D0] ; +0xcc, 0x52924 ADD X8, X20, #0x64 ; 'd' ; +0xd0, 0x52928 SCVTF S0, S0 ; +0xd4, 0x5292c STR S0, [X20,#0x238] ; +0xd8, 0x52930 LDAXR W9, [X8] ; +0xdc, 0x52934 ORR W9, W9, #0x200 ; +0xe0, 0x52938 STLXR W10, W9, [X8] ; +0xe4, 0x5293c CBNZ W10, loc_52934 ; +0xe8, 0x52940 LDR S0, [X19,#0x64] ; +0xec, 0x52944 MOV W0, WZR ; +0xf0, 0x52948 FNEG S0, S0 ; +0xf4, 0x5294c STR S0, [X19,#0x68] ; +0xf8, 0x52950 B loc_52874 ; +0xfc, 0x52954