; ; sub_180006070 from 0x180006070 to 0x180006377 (775 bytes) ; ; 2 xrefs: ; > sub_180005520 @ 0x18000560a ; > @ 0x1801f6318 ; ; 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 ; mov [rsp+arg_0], rbx ; +0x0, 0x180006070 mov [rsp+arg_8], rdi ; +0x5, 0x180006075 mov r10, [rsp+arg_20] ; +0xa, 0x18000607a mov r11, rdx ; +0xf, 0x18000607f mov edx, [rsp+arg_38] ; +0x12, 0x180006082 mov eax, edx ; +0x16, 0x180006086 sar eax, 3 ; +0x18, 0x180006088 test eax, eax ; +0x1b, 0x18000608b jz short loc_1800060DA ; +0x1d, 0x18000608d vmovdqu ymm3, cs:ymmword_1801446A0 ; +0x1f, 0x18000608f nop word ptr [rax+rax+00000000h] ; +0x27, 0x180006097 vpermps ymm0, ymm3, ymmword ptr [r10-20h] ; +0x30, 0x1800060a0 vpermps ymm1, ymm3, ymmword ptr [r9-20h] ; +0x36, 0x1800060a6 vunpcklps ymm2, ymm1, ymm0 ; +0x3c, 0x1800060ac sub r9, 20h ; ' ' ; +0x40, 0x1800060b0 sub r10, 20h ; ' ' ; +0x44, 0x1800060b4 vunpckhps ymm1, ymm1, ymm0 ; +0x48, 0x1800060b8 vperm2f128 ymm0, ymm2, ymm1, 20h ; ' ' ; +0x4c, 0x1800060bc vmovups ymmword ptr [rcx], ymm0 ; +0x52, 0x1800060c2 vperm2f128 ymm1, ymm2, ymm1, 31h ; '1' ; +0x56, 0x1800060c6 vmovups ymmword ptr [rcx+20h], ymm1 ; +0x5c, 0x1800060cc add rcx, 40h ; '@' ; +0x61, 0x1800060d1 sub eax, 1 ; +0x65, 0x1800060d5 jnz short loc_1800060A0 ; +0x68, 0x1800060d8 and edx, 7 ; +0x6a, 0x1800060da jz short loc_1800060FD ; +0x6d, 0x1800060dd nop ; +0x6f, 0x1800060df mov eax, [r9-4] ; +0x70, 0x1800060e0 sub r9, 4 ; +0x74, 0x1800060e4 sub r10, 4 ; +0x78, 0x1800060e8 mov [rcx], eax ; +0x7c, 0x1800060ec mov eax, [r10] ; +0x7e, 0x1800060ee mov [rcx+4], eax ; +0x81, 0x1800060f1 add rcx, 8 ; +0x84, 0x1800060f4 sub edx, 1 ; +0x88, 0x1800060f8 jnz short loc_1800060E0 ; +0x8b, 0x1800060fb mov ebx, [rsp+arg_40] ; +0x8d, 0x1800060fd mov edi, ebx ; +0x91, 0x180006101 mov rax, [rsp+arg_30] ; +0x93, 0x180006103 mov rdx, [rsp+arg_28] ; +0x98, 0x180006108 sar edi, 3 ; +0x9d, 0x18000610d test edi, edi ; +0xa0, 0x180006110 jz short loc_180006189 ; +0xa2, 0x180006112 vmovdqu ymm4, cs:ymmword_1801446A0 ; +0xa4, 0x180006114 nop dword ptr [rax+00h] ; +0xac, 0x18000611c vmovups ymm2, ymmword ptr [r8] ; +0xb0, 0x180006120 vmovups ymm1, ymmword ptr [r11-20h] ; +0xb5, 0x180006125 vmulps ymm0, ymm1, ymmword ptr [r9-20h] ; +0xbb, 0x18000612b vpermps ymm3, ymm4, ymm0 ; +0xc1, 0x180006131 vmulps ymm0, ymm1, ymmword ptr [r10-20h] ; +0xc6, 0x180006136 vfmadd231ps ymm3, ymm2, ymmword ptr [rdx] ; +0xcc, 0x18000613c sub r11, 20h ; ' ' ; +0xd1, 0x180006141 sub r9, 20h ; ' ' ; +0xd5, 0x180006145 sub r10, 20h ; ' ' ; +0xd9, 0x180006149 add rdx, 20h ; ' ' ; +0xdd, 0x18000614d vpermps ymm1, ymm4, ymm0 ; +0xe1, 0x180006151 vfmadd231ps ymm1, ymm2, ymmword ptr [rax] ; +0xe6, 0x180006156 vunpcklps ymm2, ymm3, ymm1 ; +0xeb, 0x18000615b vunpckhps ymm1, ymm3, ymm1 ; +0xef, 0x18000615f vperm2f128 ymm0, ymm2, ymm1, 20h ; ' ' ; +0xf3, 0x180006163 vmovups ymmword ptr [rcx], ymm0 ; +0xf9, 0x180006169 vperm2f128 ymm1, ymm2, ymm1, 31h ; '1' ; +0xfd, 0x18000616d vmovups ymmword ptr [rcx+20h], ymm1 ; +0x103, 0x180006173 add rcx, 40h ; '@' ; +0x108, 0x180006178 add rax, 20h ; ' ' ; +0x10c, 0x18000617c add r8, 20h ; ' ' ; +0x110, 0x180006180 sub edi, 1 ; +0x114, 0x180006184 jnz short loc_180006120 ; +0x117, 0x180006187 and ebx, 7 ; +0x119, 0x180006189 jz short loc_1800061E5 ; +0x11c, 0x18000618c xchg ax, ax ; +0x11e, 0x18000618e vmovss xmm0, dword ptr [rdx] ; +0x120, 0x180006190 vmulss xmm2, xmm0, dword ptr [r8] ; +0x124, 0x180006194 vmovss xmm1, dword ptr [r9-4] ; +0x129, 0x180006199 vfmadd231ss xmm2, xmm1, dword ptr [r11-4] ; +0x12f, 0x18000619f vmovss dword ptr [rcx], xmm2 ; +0x135, 0x1800061a5 vmovss xmm1, dword ptr [r8] ; +0x139, 0x1800061a9 vmovss xmm0, dword ptr [r10-4] ; +0x13e, 0x1800061ae vmulss xmm3, xmm0, dword ptr [r11-4] ; +0x144, 0x1800061b4 vfmadd231ss xmm3, xmm1, dword ptr [rax] ; +0x14a, 0x1800061ba sub r11, 4 ; +0x14f, 0x1800061bf sub r9, 4 ; +0x153, 0x1800061c3 sub r10, 4 ; +0x157, 0x1800061c7 add rdx, 4 ; +0x15b, 0x1800061cb vmovss dword ptr [rcx+4], xmm3 ; +0x15f, 0x1800061cf add rcx, 8 ; +0x164, 0x1800061d4 add rax, 4 ; +0x168, 0x1800061d8 add r8, 4 ; +0x16c, 0x1800061dc sub ebx, 1 ; +0x170, 0x1800061e0 jnz short loc_180006190 ; +0x173, 0x1800061e3 mov ebx, [rsp+arg_48] ; +0x175, 0x1800061e5 mov edi, ebx ; +0x179, 0x1800061e9 sar edi, 3 ; +0x17b, 0x1800061eb test edi, edi ; +0x17e, 0x1800061ee jz short loc_180006264 ; +0x180, 0x1800061f0 vmovdqu ymm4, cs:ymmword_1801446A0 ; +0x182, 0x1800061f2 nop word ptr [rax+rax+00h] ; +0x18a, 0x1800061fa vpermps ymm2, ymm4, ymmword ptr [r11-20h] ; +0x190, 0x180006200 vpermps ymm0, ymm4, ymmword ptr [rdx-20h] ; +0x196, 0x180006206 vmulps ymm3, ymm0, ymmword ptr [r8] ; +0x19c, 0x18000620c vfmsub231ps ymm3, ymm2, ymmword ptr [r9] ; +0x1a1, 0x180006211 vpermps ymm0, ymm4, ymmword ptr [rax-20h] ; +0x1a6, 0x180006216 vmulps ymm1, ymm0, ymmword ptr [r8] ; +0x1ac, 0x18000621c vfmsub231ps ymm1, ymm2, ymmword ptr [r10] ; +0x1b1, 0x180006221 vunpcklps ymm2, ymm3, ymm1 ; +0x1b6, 0x180006226 sub rdx, 20h ; ' ' ; +0x1ba, 0x18000622a sub rax, 20h ; ' ' ; +0x1be, 0x18000622e sub r11, 20h ; ' ' ; +0x1c2, 0x180006232 add r9, 20h ; ' ' ; +0x1c6, 0x180006236 vunpckhps ymm1, ymm3, ymm1 ; +0x1ca, 0x18000623a vperm2f128 ymm0, ymm2, ymm1, 20h ; ' ' ; +0x1ce, 0x18000623e vmovups ymmword ptr [rcx], ymm0 ; +0x1d4, 0x180006244 vperm2f128 ymm1, ymm2, ymm1, 31h ; '1' ; +0x1d8, 0x180006248 vmovups ymmword ptr [rcx+20h], ymm1 ; +0x1de, 0x18000624e add rcx, 40h ; '@' ; +0x1e3, 0x180006253 add r10, 20h ; ' ' ; +0x1e7, 0x180006257 add r8, 20h ; ' ' ; +0x1eb, 0x18000625b sub edi, 1 ; +0x1ef, 0x18000625f jnz short loc_180006200 ; +0x1f2, 0x180006262 and ebx, 7 ; +0x1f4, 0x180006264 jz short loc_1800062BC ; +0x1f7, 0x180006267 sub r9, r8 ; +0x1f9, 0x180006269 sub r10, r8 ; +0x1fc, 0x18000626c nop ; +0x1ff, 0x18000626f vmovss xmm1, dword ptr [r9+r8] ; +0x200, 0x180006270 vmovss xmm0, dword ptr [rdx-4] ; +0x206, 0x180006276 vmulss xmm2, xmm0, dword ptr [r8] ; +0x20b, 0x18000627b sub rdx, 4 ; +0x210, 0x180006280 lea r11, [r11-4] ; +0x214, 0x180006284 vfmsub231ss xmm2, xmm1, dword ptr [r11] ; +0x218, 0x180006288 vmovss dword ptr [rcx], xmm2 ; +0x21d, 0x18000628d vmovss xmm0, dword ptr [rax-4] ; +0x221, 0x180006291 vmulss xmm3, xmm0, dword ptr [r8] ; +0x226, 0x180006296 vmovss xmm1, dword ptr [r11] ; +0x22b, 0x18000629b vfmsub231ss xmm3, xmm1, dword ptr [r10+r8] ; +0x230, 0x1800062a0 sub rax, 4 ; +0x236, 0x1800062a6 lea r8, [r8+4] ; +0x23a, 0x1800062aa vmovss dword ptr [rcx+4], xmm3 ; +0x23e, 0x1800062ae add rcx, 8 ; +0x243, 0x1800062b3 sub ebx, 1 ; +0x247, 0x1800062b7 jnz short loc_180006270 ; +0x24a, 0x1800062ba mov r8d, [rsp+arg_50] ; +0x24c, 0x1800062bc mov r9d, r8d ; +0x251, 0x1800062c1 sar r9d, 3 ; +0x254, 0x1800062c4 test r9d, r9d ; +0x258, 0x1800062c8 jz short loc_180006323 ; +0x25b, 0x1800062cb vmovdqu ymm4, cs:ymmword_1801446A0 ; +0x25d, 0x1800062cd vmovups ymm5, cs:ymmword_1801446E0 ; +0x265, 0x1800062d5 nop dword ptr [rax] ; +0x26d, 0x1800062dd vpermps ymm0, ymm4, ymmword ptr [rdx-20h] ; +0x270, 0x1800062e0 vpermps ymm1, ymm4, ymmword ptr [rax-20h] ; +0x276, 0x1800062e6 vmulps ymm3, ymm0, ymm5 ; +0x27c, 0x1800062ec vmulps ymm0, ymm1, ymm5 ; +0x280, 0x1800062f0 sub rdx, 20h ; ' ' ; +0x284, 0x1800062f4 sub rax, 20h ; ' ' ; +0x288, 0x1800062f8 vunpcklps ymm2, ymm3, ymm0 ; +0x28c, 0x1800062fc vunpckhps ymm1, ymm3, ymm0 ; +0x290, 0x180006300 vperm2f128 ymm0, ymm2, ymm1, 20h ; ' ' ; +0x294, 0x180006304 vmovups ymmword ptr [rcx], ymm0 ; +0x29a, 0x18000630a vperm2f128 ymm1, ymm2, ymm1, 31h ; '1' ; +0x29e, 0x18000630e vmovups ymmword ptr [rcx+20h], ymm1 ; +0x2a4, 0x180006314 add rcx, 40h ; '@' ; +0x2a9, 0x180006319 sub r9d, 1 ; +0x2ad, 0x18000631d jnz short loc_1800062E0 ; +0x2b1, 0x180006321 and r8d, 7 ; +0x2b3, 0x180006323 jz short loc_180006369 ; +0x2b7, 0x180006327 vmovss xmm3, dword ptr cs:xmmword_180144610 ; +0x2b9, 0x180006329 sub rdx, rax ; +0x2c1, 0x180006331 nop dword ptr [rax+00h] ; +0x2c4, 0x180006334 nop dword ptr [rax+rax+00000000h] ; +0x2c8, 0x180006338 lea rax, [rax-4] ; +0x2d0, 0x180006340 lea rcx, [rcx+8] ; +0x2d4, 0x180006344 vmovss xmm0, dword ptr [rdx+rax] ; +0x2d8, 0x180006348 vxorps xmm1, xmm0, xmm3 ; +0x2dd, 0x18000634d vmovss dword ptr [rcx-8], xmm1 ; +0x2e1, 0x180006351 vmovss xmm2, dword ptr [rax] ; +0x2e6, 0x180006356 vxorps xmm0, xmm2, xmm3 ; +0x2ea, 0x18000635a vmovss dword ptr [rcx-4], xmm0 ; +0x2ee, 0x18000635e sub r8d, 1 ; +0x2f3, 0x180006363 jnz short loc_180006340 ; +0x2f7, 0x180006367 vzeroupper ; +0x2f9, 0x180006369 mov rbx, [rsp+arg_0] ; +0x2fc, 0x18000636c mov rdi, [rsp+arg_8] ; +0x301, 0x180006371 retn ; +0x306, 0x180006376