; ; Pole_Zero_Filter from 0x105d34 to 0x105df8 (196 bytes) ; ; 4 xrefs: ; > .Pole_Zero_Filter @ 0x109e8c ; > @ 0x6b68 ; > .Pole_Zero_Filter @ 0x109e84 ; > @ 0x111808 ; ; 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, 0x105d34 SXTH W6, W6 ; +0x4, 0x105d38 SXTH X1, W1 ; +0x8, 0x105d3c MOV X29, SP ; +0xc, 0x105d40 SXTH X3, W3 ; +0x10, 0x105d44 AND W7, W6, #1 ; +0x14, 0x105d48 LDR S2, [X5] ; +0x18, 0x105d4c LDR S3, [X5,#4] ; +0x1c, 0x105d50 LDR S6, [X4] ; +0x20, 0x105d54 LDR S7, [X4,#4] ; +0x24, 0x105d58 LDR S16, [X4,#8] ; +0x28, 0x105d5c TBNZ W6, #0, loc_105DD8 ; +0x2c, 0x105d60 FMOV S5, S3 ; +0x30, 0x105d64 CBZ W6, loc_105DC4 ; +0x34, 0x105d68 FNEG S6, S6 ; +0x38, 0x105d6c MOV W4, W7 ; +0x3c, 0x105d70 LSL X8, X1, #2 ; +0x40, 0x105d74 LSL X7, X3, #2 ; +0x44, 0x105d78 LSL X1, X1, #3 ; +0x48, 0x105d7c LSL X3, X3, #3 ; +0x4c, 0x105d80 FMUL S0, S3, S16 ; +0x50, 0x105d84 ADD W4, W4, #2 ; +0x54, 0x105d88 LDR S1, [X0] ; +0x58, 0x105d8c CMP W4, W6 ; +0x5c, 0x105d90 LDR S5, [X0,X8] ; +0x60, 0x105d94 ADD X0, X0, X1 ; +0x64, 0x105d98 FMUL S4, S1, S16 ; +0x68, 0x105d9c FMADD S0, S2, S6, S0 ; +0x6c, 0x105da0 FMOV S3, S5 ; +0x70, 0x105da4 FMADD S2, S5, S7, S4 ; +0x74, 0x105da8 FMADD S0, S1, S7, S0 ; +0x78, 0x105dac FMADD S2, S0, S6, S2 ; +0x7c, 0x105db0 STR S0, [X2] ; +0x80, 0x105db4 STR S2, [X2,X7] ; +0x84, 0x105db8 ADD X2, X2, X3 ; +0x88, 0x105dbc B.CC loc_105D84 ; +0x8c, 0x105dc0 MOV W0, #0 ; +0x90, 0x105dc4 STR S2, [X5] ; +0x94, 0x105dc8 STR S5, [X5,#4] ; +0x98, 0x105dcc LDP X29, X30, [SP+var_s0],#0x10 ; +0x9c, 0x105dd0 RET ; +0xa0, 0x105dd4 ADRP X0, #aSrcPl2EncodeSu@PAGE; "../../src/pl2_encode_subroutine.c" ; +0xa4, 0x105dd8 ADRP X2, #aPoleZeroFilter_1@PAGE; "Pole_Zero_Filter" ; +0xa8, 0x105ddc ADRP X3, #a0Dspsblocksize@PAGE; "0 == dspsBlockSize % 2" ; +0xac, 0x105de0 ADD X0, X0, #aSrcPl2EncodeSu@PAGEOFF; "../../src/pl2_encode_subroutine.c" ; +0xb0, 0x105de4 MOV W1, #0x695 ; +0xb4, 0x105de8 ADD X2, X2, #aPoleZeroFilter_1@PAGEOFF; "Pole_Zero_Filter" ; +0xb8, 0x105dec ADD X3, X3, #a0Dspsblocksize@PAGEOFF; "0 == dspsBlockSize % 2" ; +0xbc, 0x105df0 BL .__assert2 ; +0xc0, 0x105df4