; ; sub_1055A8 from 0x1055a8 to 0x105778 (464 bytes) ; ; 1 xrefs: ; > @ 0x11c0a0 ; ; 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 ; STP X29, X30, [SP,#-0x10+var_s0]! ; +0x0, 0x1055a8 LDR X8, [X0] ; +0x4, 0x1055ac LDR X9, [X0,#0x30] ; +0x8, 0x1055b0 MOV X29, SP ; +0xc, 0x1055b4 LDR X8, [X8,#0x30] ; +0x10, 0x1055b8 LDR W8, [X8,X9,LSL#2] ; +0x14, 0x1055bc MOV W9, #2 ; +0x18, 0x1055c0 SDIV W8, W8, W9 ; +0x1c, 0x1055c4 CBZ X2, loc_10575C ; +0x20, 0x1055c8 LDR W9, [X2] ; +0x24, 0x1055cc LDR W14, [X1,#0x38] ; +0x28, 0x1055d0 MOV W13, WZR ; +0x2c, 0x1055d4 MOV W15, WZR ; +0x30, 0x1055d8 MOV W10, #1 ; +0x34, 0x1055dc MUL W17, W14, W9 ; +0x38, 0x1055e0 ADRP X9, #off_10FBB8@PAGE ; +0x3c, 0x1055e4 LDR X9, [X9,#off_10FBB8@PAGEOFF]; flt_4F3F4 ; +0x40, 0x1055e8 MOV W11, #0x400 ; +0x44, 0x1055ec MOV W12, #0xFFC00 ; +0x48, 0x1055f0 LDRSW X14, [X1,#0x34] ; +0x4c, 0x1055f4 CMP X10, X14 ; +0x50, 0x1055f8 B.GE loc_105728 ; +0x54, 0x1055fc LDR X14, [X1,#0x18] ; +0x58, 0x105600 LDRB W0, [X14,X10] ; +0x5c, 0x105604 LDR W14, [X2,X0,LSL#2] ; +0x60, 0x105608 LSR W16, W14, #0xF ; +0x64, 0x10560c CBNZ W16, loc_105710 ; +0x68, 0x105610 AND W13, W14, #0x7FFF ; +0x6c, 0x105614 LDR W14, [X1,#0x38] ; +0x70, 0x105618 LDR X4, [X1,#0x10] ; +0x74, 0x10561c MOVI V0.2D, #0 ; +0x78, 0x105620 ADD X16, X3, W15,SXTW#2 ; +0x7c, 0x105624 MUL W14, W14, W13 ; +0x80, 0x105628 LDRH W13, [X4,X0,LSL#1] ; +0x84, 0x10562c SUB W0, W14, W17 ; +0x88, 0x105630 CMP W0, #0 ; +0x8c, 0x105634 LSL W4, W0, #0x14 ; +0x90, 0x105638 CSEL W0, W12, W11, LT ; +0x94, 0x10563c BFI W0, W17, #0x14, #0xC ; +0x98, 0x105640 SUB W17, W13, W15 ; +0x9c, 0x105644 CMP W8, W13 ; +0xa0, 0x105648 SDIV W17, W4, W17 ; +0xa4, 0x10564c CSEL W4, W13, W8, GT ; +0xa8, 0x105650 DUP V2.4S, W0 ; +0xac, 0x105654 ADD W0, W17, W17,LSL#1 ; +0xb0, 0x105658 SUB W15, W4, W15 ; +0xb4, 0x10565c LSL W4, W17, #1 ; +0xb8, 0x105660 INS V0.S[0], W0 ; +0xbc, 0x105664 INS V0.S[1], W4 ; +0xc0, 0x105668 LSL W0, W17, #2 ; +0xc4, 0x10566c INS V0.S[2], W17 ; +0xc8, 0x105670 DUP V1.4S, W0 ; +0xcc, 0x105674 ADD V0.4S, V0.4S, V2.4S ; +0xd0, 0x105678 ASR W0, W15, #2 ; +0xd4, 0x10567c CBZ W0, loc_1056D4 ; +0xd8, 0x105680 SSHR V2.4S, V0.4S, #0x14 ; +0xdc, 0x105684 UMOV W4, V2.S[3] ; +0xe0, 0x105688 LDR S3, [X9,W4,SXTW#2] ; +0xe4, 0x10568c UMOV W4, V2.S[2] ; +0xe8, 0x105690 ADD X4, X9, W4,SXTW#2 ; +0xec, 0x105694 FMOV W5, S2 ; +0xf0, 0x105698 LD1 {V3.S}[1], [X4] ; +0xf4, 0x10569c UMOV W4, V2.S[1] ; +0xf8, 0x1056a0 ADD X4, X9, W4,SXTW#2 ; +0xfc, 0x1056a4 ADD X5, X9, W5,SXTW#2 ; +0x100, 0x1056a8 LD1 {V3.S}[2], [X4] ; +0x104, 0x1056ac MOV X4, X16 ; +0x108, 0x1056b0 LDR Q2, [X4],#0x10 ; +0x10c, 0x1056b4 ADD V0.4S, V0.4S, V1.4S ; +0x110, 0x1056b8 LD1 {V3.S}[3], [X5] ; +0x114, 0x1056bc SUB W0, W0, #1 ; +0x118, 0x1056c0 FMUL V2.4S, V3.4S, V2.4S ; +0x11c, 0x1056c4 STR Q2, [X16] ; +0x120, 0x1056c8 MOV X16, X4 ; +0x124, 0x1056cc CBNZ W0, loc_105684 ; +0x128, 0x1056d0 TST W15, #3 ; +0x12c, 0x1056d4 B.EQ loc_105718 ; +0x130, 0x1056d8 MOV X0, XZR ; +0x134, 0x1056dc UMOV W4, V0.S[3] ; +0x138, 0x1056e0 AND X15, X15, #3 ; +0x13c, 0x1056e4 CMP W15, W0 ; +0x140, 0x1056e8 B.EQ loc_105718 ; +0x144, 0x1056ec ASR W5, W4, #0x14 ; +0x148, 0x1056f0 LDR S0, [X16,X0,LSL#2] ; +0x14c, 0x1056f4 LDR S1, [X9,W5,SXTW#2] ; +0x150, 0x1056f8 ADD W4, W4, W17 ; +0x154, 0x1056fc FMUL S0, S0, S1 ; +0x158, 0x105700 STR S0, [X16,X0,LSL#2] ; +0x15c, 0x105704 ADD X0, X0, #1 ; +0x160, 0x105708 B loc_1056E8 ; +0x164, 0x10570c MOV W14, W17 ; +0x168, 0x105710 B loc_10571C ; +0x16c, 0x105714 MOV W15, W13 ; +0x170, 0x105718 ADD X10, X10, #1 ; +0x174, 0x10571c MOV W17, W14 ; +0x178, 0x105720 B loc_1055F4 ; +0x17c, 0x105724 SXTW X10, W17 ; +0x180, 0x105728 SXTW X11, W13 ; +0x184, 0x10572c SXTW X8, W8 ; +0x188, 0x105730 CMP X11, X8 ; +0x18c, 0x105734 B.GE loc_105754 ; +0x190, 0x105738 LDR S0, [X9,X10,LSL#2] ; +0x194, 0x10573c LDR S1, [X3,X11,LSL#2] ; +0x198, 0x105740 FMUL S0, S1, S0 ; +0x19c, 0x105744 STR S0, [X3,X11,LSL#2] ; +0x1a0, 0x105748 ADD X11, X11, #1 ; +0x1a4, 0x10574c B loc_105734 ; +0x1a8, 0x105750 MOV W0, #1 ; +0x1ac, 0x105754 B loc_105770 ; +0x1b0, 0x105758 SBFIZ X2, X8, #2, #0x20 ; ' '; n ; +0x1b4, 0x10575c MOV X0, X3; s ; +0x1b8, 0x105760 MOV W1, WZR; c ; +0x1bc, 0x105764 BL .memset ; +0x1c0, 0x105768 MOV W0, WZR ; +0x1c4, 0x10576c LDP X29, X30, [SP+var_s0],#0x10 ; +0x1c8, 0x105770 RET ; +0x1cc, 0x105774