; ; memmove from 0x180124120 to 0x180124795 (1653 bytes) ; ; 144 xrefs: ; > sub_180003F70 @ 0x18000405c ; > sub_180012680 @ 0x1800127d4 ; > sub_180015650 @ 0x18001575c ; > sub_180015E10 @ 0x180015efe ; > sub_180016890 @ 0x180016ee8 ; > sub_180017630 @ 0x180017772 ; > sub_180017630 @ 0x180017790 ; > sub_18001C6A0 @ 0x18001c739 ; > sub_18001FAD0 @ 0x18001fba8 ; > sub_180021C90 @ 0x180021ec4 ; > sub_180021C90 @ 0x180022084 ; > sub_18002B1A0 @ 0x18002b25a ; > sub_180031D30 @ 0x180031ea9 ; > sub_18003A710 @ 0x18003aadf ; > sub_18003DB30 @ 0x18003ed72 ; > sub_180042A00 @ 0x180042a38 ; > sub_180042C70 @ 0x180042ddb ; > sub_180042EC0 @ 0x180042fc6 ; > sub_180042EC0 @ 0x180043030 ; > sub_180043940 @ 0x180043980 ; > sub_180046ED0 @ 0x1800470ed ; > sub_180047260 @ 0x180047470 ; > sub_1800474C0 @ 0x1800477de ; > sub_180047E40 @ 0x180047ea0 ; > sub_18004BBC0 @ 0x18004bce4 ; > sub_18004BBC0 @ 0x18004bd0b ; > sub_18004BBC0 @ 0x18004bd25 ; > sub_18004BBC0 @ 0x18004bf27 ; > sub_18004C090 @ 0x18004c0c9 ; > sub_180050C10 @ 0x180050ccf ; > sub_180050C10 @ 0x180050dd6 ; > sub_18005B1E0 @ 0x18005b38b ; > sub_18005CBA0 @ 0x18005cc9f ; > __crtLCMapStringA @ 0x180060501 ; > sub_180065830 @ 0x180065c78 ; > sub_180067510 @ 0x1800677e1 ; > sub_18006B310 @ 0x18006b364 ; > sub_18006E3F0 @ 0x18006e590 ; > sub_18006EAF0 @ 0x18006eb80 ; > sub_18006FF10 @ 0x18006ffe4 ; > sub_180072AF0 @ 0x180072c90 ; > sub_180074400 @ 0x18007449e ; > sub_180078190 @ 0x1800782cd ; > sub_18007AC90 @ 0x18007bf19 ; > sub_18007C8F0 @ 0x18007cbe0 ; > sub_180087B10 @ 0x180087ba6 ; > sub_1800884B0 @ 0x18008853f ; > sub_1800885B0 @ 0x18008863b ; > sub_180088E10 @ 0x18008904c ; > sub_180091020 @ 0x18009179d ; > sub_1800931D0 @ 0x180093276 ; > sub_180099C50 @ 0x18009a50a ; > sub_180099C50 @ 0x18009a717 ; > sub_180099C50 @ 0x18009a974 ; > sub_180099C50 @ 0x18009af69 ; > sub_18009CD10 @ 0x18009cd31 ; > sub_1800A58C0 @ 0x1800a5994 ; > sub_1800B21E0 @ 0x1800b226a ; > sub_1800B2770 @ 0x1800b282d ; > sub_1800B3470 @ 0x1800b36ff ; > sub_1800B4320 @ 0x1800b436e ; > sub_1800B6E80 @ 0x1800b6fd5 ; > sub_1800B6E80 @ 0x1800b7249 ; > sub_1800B92E0 @ 0x1800b9457 ; > sub_1800BB310 @ 0x1800bb4a5 ; > sub_1800BB580 @ 0x1800bb5d5 ; > sub_1800BB9D0 @ 0x1800bbbb0 ; > sub_1800BB9D0 @ 0x1800bbbef ; > sub_1800BBE90 @ 0x1800bbfa6 ; > sub_1800BC0F0 @ 0x1800bc43b ; > sub_1800BCD20 @ 0x1800bcdaf ; > sub_1800BCD20 @ 0x1800bcdcb ; > sub_1800C0360 @ 0x1800c0443 ; > sub_1800C4120 @ 0x1800c422f ; > sub_1800D26B0 @ 0x1800d26e7 ; > sub_1800D2D20 @ 0x1800d2d56 ; > sub_1800D4730 @ 0x1800d489a ; > sub_1800D4BB0 @ 0x1800d4c72 ; > sub_1800DB2E0 @ 0x1800db570 ; > sub_1800DBCA0 @ 0x1800dbd2b ; > sub_1800DCB70 @ 0x1800dcbdf ; > sub_1800DCC10 @ 0x1800dcd4c ; > sub_1800DCC10 @ 0x1800dcef3 ; > sub_1800DCC10 @ 0x1800dcf0f ; > sub_1800DCC10 @ 0x1800dcf38 ; > sub_1800DCC10 @ 0x1800dcf5e ; > sub_1800DCC10 @ 0x1800dcf82 ; > sub_1800E23F0 @ 0x1800e2487 ; > sub_1800E2620 @ 0x1800e289d ; > sub_1800E31C0 @ 0x1800e3260 ; > sub_1800E31C0 @ 0x1800e342f ; > sub_1800E31C0 @ 0x1800e355a ; > sub_1800E3DD0 @ 0x1800e3e20 ; > sub_1800E6350 @ 0x1800e63df ; > sub_1800E70D0 @ 0x1800e7289 ; > sub_1800EABD0 @ 0x1800eadc2 ; > sub_1800EBFC0 @ 0x1800ec0b8 ; > sub_1800EC0E0 @ 0x1800ec1a5 ; > sub_1800EC2B0 @ 0x1800ec328 ; > sub_1800ED6C0 @ 0x1800ed80b ; > sub_1800ED830 @ 0x1800ed89c ; > sub_1800EE430 @ 0x1800ee4bf ; > sub_1800F2F70 @ 0x1800f2faa ; > sub_1800F3320 @ 0x1800f3368 ; > sub_1801078A0 @ 0x1801078dd ; > sub_1801078A0 @ 0x1801078fb ; > sub_180108590 @ 0x180108831 ; > sub_180109990 @ 0x180109a2a ; > sub_18010D0C0 @ 0x18010dbd0 ; > sub_18010DD40 @ 0x18010df70 ; > sub_180112AC0 @ 0x180112b6a ; > sub_180112AC0 @ 0x180112b97 ; > sub_180113070 @ 0x180113162 ; > sub_180113070 @ 0x18011317c ; > sub_180114BD0 @ 0x180114d75 ; > sub_180114DD0 @ 0x180114e5b ; > sub_180114EC0 @ 0x180114f4b ; > sub_18011BE10 @ 0x18011be5d ; > sub_18011C480 @ 0x18011c4cc ; > sub_18011D160 @ 0x18011d1b4 ; > sub_18011D4A0 @ 0x18011d602 ; > sub_180125984 @ 0x180125a87 ; > sub_180125984 @ 0x180125b00 ; > unknown_libname_59 @ 0x18012f08d ; > unknown_libname_60 @ 0x18012f134 ; > __crt_win32_buffer::detach @ 0x180134ba2 ; > __crt_mbstring::__wcsrtombs_utf8 @ 0x180137185 ; > fp_format_e_internal @ 0x180137aed ; > fp_format_e_internal @ 0x180137bdd ; > fp_format_f_internal @ 0x180137cbd ; > fp_format_f_internal @ 0x180137ceb ; > fp_format_f_internal @ 0x180137d34 ; > __dcrt_get_wide_environment_from_os @ 0x18013ad77 ; > sub_18013DC24 @ 0x18013dd6c ; > __acrt_fltout @ 0x18013e6e6 ; > __acrt_fltout @ 0x18013e8c5 ; > __acrt_fltout @ 0x18013e9b1 ; > __acrt_fltout @ 0x18013ebc5 ; > __acrt_fltout @ 0x18013eda4 ; > __acrt_fltout @ 0x18013ee6f ; > __acrt_fltout @ 0x18013f06c ; > memcpy_s @ 0x18013f457 ; > write_double_translated_ansi_nolock @ 0x18013fb5b ; > @ 0x180202660 ; ; 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 rax, rcx ; +0x0, 0x180124120 lea r10, cs:180000000h ; +0x3, 0x180124123 cmp r8, 0Fh; switch 16 cases ; +0xa, 0x18012412a ja def_18012414B; jumptable 000000018012414B default case ; +0xe, 0x18012412e nop word ptr [rax+rax+00000000h] ; +0x14, 0x180124134 mov r9d, ds:(jpt_18012414B - 180000000h)[r10+r8*4] ; +0x20, 0x180124140 add r9, r10 ; +0x28, 0x180124148 jmp r9; switch jump ; +0x2b, 0x18012414b retn; jumptable 000000018012414B case 0 ; +0x2e, 0x18012414e align 10h ; +0x2f, 0x18012414f mov r8, [rdx]; jumptable 000000018012414B case 15 ; +0x30, 0x180124150 mov ecx, [rdx+8] ; +0x33, 0x180124153 movzx r9d, word ptr [rdx+0Ch] ; +0x36, 0x180124156 movzx r10d, byte ptr [rdx+0Eh] ; +0x3b, 0x18012415b mov [rax], r8 ; +0x40, 0x180124160 mov [rax+8], ecx ; +0x43, 0x180124163 mov [rax+0Ch], r9w ; +0x46, 0x180124166 mov [rax+0Eh], r10b ; +0x4b, 0x18012416b retn ; +0x4f, 0x18012416f mov r8, [rdx]; jumptable 000000018012414B case 11 ; +0x50, 0x180124170 movzx ecx, word ptr [rdx+8] ; +0x53, 0x180124173 movzx r9d, byte ptr [rdx+0Ah] ; +0x57, 0x180124177 mov [rax], r8 ; +0x5c, 0x18012417c mov [rax+8], cx ; +0x5f, 0x18012417f mov [rax+0Ah], r9b ; +0x63, 0x180124183 retn ; +0x67, 0x180124187 movzx ecx, word ptr [rdx]; jumptable 000000018012414B case 2 ; +0x68, 0x180124188 mov [rax], cx ; +0x6b, 0x18012418b retn ; +0x6e, 0x18012418e align 10h ; +0x6f, 0x18012418f mov ecx, [rdx]; jumptable 000000018012414B case 7 ; +0x70, 0x180124190 movzx r8d, word ptr [rdx+4] ; +0x72, 0x180124192 movzx r9d, byte ptr [rdx+6] ; +0x77, 0x180124197 mov [rax], ecx ; +0x7c, 0x18012419c mov [rax+4], r8w ; +0x7e, 0x18012419e mov [rax+6], r9b ; +0x83, 0x1801241a3 retn ; +0x87, 0x1801241a7 mov r8, [rdx]; jumptable 000000018012414B case 14 ; +0x88, 0x1801241a8 mov ecx, [rdx+8] ; +0x8b, 0x1801241ab movzx r9d, word ptr [rdx+0Ch] ; +0x8e, 0x1801241ae mov [rax], r8 ; +0x93, 0x1801241b3 mov [rax+8], ecx ; +0x96, 0x1801241b6 mov [rax+0Ch], r9w ; +0x99, 0x1801241b9 retn ; +0x9e, 0x1801241be movzx ecx, word ptr [rdx]; jumptable 000000018012414B case 3 ; +0x9f, 0x1801241bf movzx r8d, byte ptr [rdx+2] ; +0xa2, 0x1801241c2 mov [rax], cx ; +0xa7, 0x1801241c7 mov [rax+2], r8b ; +0xaa, 0x1801241ca retn ; +0xae, 0x1801241ce align 10h ; +0xaf, 0x1801241cf mov r8, [rdx]; jumptable 000000018012414B case 13 ; +0xb0, 0x1801241d0 mov ecx, [rdx+8] ; +0xb3, 0x1801241d3 movzx r9d, byte ptr [rdx+0Ch] ; +0xb6, 0x1801241d6 mov [rax], r8 ; +0xbb, 0x1801241db mov [rax+8], ecx ; +0xbe, 0x1801241de mov [rax+0Ch], r9b ; +0xc1, 0x1801241e1 retn ; +0xc5, 0x1801241e5 mov r8, [rdx]; jumptable 000000018012414B case 10 ; +0xc6, 0x1801241e6 movzx ecx, word ptr [rdx+8] ; +0xc9, 0x1801241e9 mov [rax], r8 ; +0xcd, 0x1801241ed mov [rax+8], cx ; +0xd0, 0x1801241f0 retn ; +0xd4, 0x1801241f4 mov r8, [rdx]; jumptable 000000018012414B case 9 ; +0xd5, 0x1801241f5 movzx ecx, byte ptr [rdx+8] ; +0xd8, 0x1801241f8 mov [rax], r8 ; +0xdc, 0x1801241fc mov [rax+8], cl ; +0xdf, 0x1801241ff retn ; +0xe2, 0x180124202 mov r8, [rdx]; jumptable 000000018012414B case 12 ; +0xe3, 0x180124203 mov ecx, [rdx+8] ; +0xe6, 0x180124206 mov [rax], r8 ; +0xe9, 0x180124209 mov [rax+8], ecx ; +0xec, 0x18012420c retn ; +0xef, 0x18012420f mov ecx, [rdx]; jumptable 000000018012414B case 6 ; +0xf0, 0x180124210 movzx r8d, word ptr [rdx+4] ; +0xf2, 0x180124212 mov [rax], ecx ; +0xf7, 0x180124217 mov [rax+4], r8w ; +0xf9, 0x180124219 retn ; +0xfe, 0x18012421e mov ecx, [rdx]; jumptable 000000018012414B case 5 ; +0xff, 0x18012421f movzx r8d, byte ptr [rdx+4] ; +0x101, 0x180124221 mov [rax], ecx ; +0x106, 0x180124226 mov [rax+4], r8b ; +0x108, 0x180124228 retn ; +0x10c, 0x18012422c mov rcx, [rdx]; jumptable 000000018012414B case 8 ; +0x10d, 0x18012422d mov [rax], rcx ; +0x110, 0x180124230 retn ; +0x113, 0x180124233 movzx ecx, byte ptr [rdx]; jumptable 000000018012414B case 1 ; +0x114, 0x180124234 mov [rax], cl ; +0x117, 0x180124237 retn ; +0x119, 0x180124239 mov ecx, [rdx]; jumptable 000000018012414B case 4 ; +0x11a, 0x18012423a mov [rax], ecx ; +0x11c, 0x18012423c retn ; +0x11e, 0x18012423e align 20h ; +0x11f, 0x18012423f cmp r8, 20h ; ' '; jumptable 000000018012414B default case ; +0x120, 0x180124240 ja short MoveAbove32 ; +0x124, 0x180124244 movdqu xmm1, xmmword ptr [rdx] ; +0x126, 0x180124246 movdqu xmm2, xmmword ptr [rdx+r8-10h] ; +0x12a, 0x18012424a movdqu xmmword ptr [rcx], xmm1 ; +0x131, 0x180124251 movdqu xmmword ptr [rcx+r8-10h], xmm2 ; +0x135, 0x180124255 retn ; +0x13c, 0x18012425c cmp rdx, rcx ; +0x13d, 0x18012425d jnb short CopyUp ; +0x140, 0x180124260 lea r9, [rdx+r8] ; +0x142, 0x180124262 cmp rcx, r9 ; +0x146, 0x180124266 jb CopyDown ; +0x149, 0x180124269 nop ; +0x14f, 0x18012426f cmp cs:dword_1801B1700, 3 ; +0x150, 0x180124270 jb NoAVX ; +0x157, 0x180124277 cmp r8, 2000h ; +0x15d, 0x18012427d jbe short MoveWithYMM ; +0x164, 0x180124284 cmp r8, 180000h ; +0x166, 0x180124286 ja short MoveWithYMM ; +0x16d, 0x18012428d test byte ptr cs:dword_1801F4990, 2 ; +0x16f, 0x18012428f jnz memcpy_repmovs ; +0x176, 0x180124296 vmovdqu ymm0, ymmword ptr [rdx] ; +0x17c, 0x18012429c vmovdqu ymm5, ymmword ptr [rdx+r8-20h] ; +0x180, 0x1801242a0 cmp r8, 100h ; +0x187, 0x1801242a7 jbe MovUpTo256WithYMM ; +0x18e, 0x1801242ae mov r9, rcx ; +0x194, 0x1801242b4 and r9, 1Fh ; +0x197, 0x1801242b7 sub r9, 20h ; ' ' ; +0x19b, 0x1801242bb sub rcx, r9 ; +0x19f, 0x1801242bf sub rdx, r9 ; +0x1a2, 0x1801242c2 add r8, r9 ; +0x1a5, 0x1801242c5 cmp r8, 100h ; +0x1a8, 0x1801242c8 jbe MovUpTo256WithYMM ; +0x1af, 0x1801242cf cmp r8, 180000h ; +0x1b5, 0x1801242d5 ja YmmLoopNT ; +0x1bc, 0x1801242dc nop word ptr [rax+rax+00000000h] ; +0x1c2, 0x1801242e2 vmovdqu ymm1, ymmword ptr [rdx] ; +0x1d0, 0x1801242f0 vmovdqu ymm2, ymmword ptr [rdx+20h] ; +0x1d4, 0x1801242f4 vmovdqu ymm3, ymmword ptr [rdx+40h] ; +0x1d9, 0x1801242f9 vmovdqu ymm4, ymmword ptr [rdx+60h] ; +0x1de, 0x1801242fe vmovdqa ymmword ptr [rcx], ymm1 ; +0x1e3, 0x180124303 vmovdqa ymmword ptr [rcx+20h], ymm2 ; +0x1e7, 0x180124307 vmovdqa ymmword ptr [rcx+40h], ymm3 ; +0x1ec, 0x18012430c vmovdqa ymmword ptr [rcx+60h], ymm4 ; +0x1f1, 0x180124311 vmovdqu ymm1, ymmword ptr [rdx+80h] ; +0x1f6, 0x180124316 vmovdqu ymm2, ymmword ptr [rdx+0A0h] ; +0x1fe, 0x18012431e vmovdqu ymm3, ymmword ptr [rdx+0C0h] ; +0x206, 0x180124326 vmovdqu ymm4, ymmword ptr [rdx+0E0h] ; +0x20e, 0x18012432e vmovdqa ymmword ptr [rcx+80h], ymm1 ; +0x216, 0x180124336 vmovdqa ymmword ptr [rcx+0A0h], ymm2 ; +0x21e, 0x18012433e vmovdqa ymmword ptr [rcx+0C0h], ymm3 ; +0x226, 0x180124346 vmovdqa ymmword ptr [rcx+0E0h], ymm4 ; +0x22e, 0x18012434e add rcx, 100h ; +0x236, 0x180124356 add rdx, 100h ; +0x23d, 0x18012435d sub r8, 100h ; +0x244, 0x180124364 cmp r8, 100h ; +0x24b, 0x18012436b jnb YmmLoop ; +0x252, 0x180124372 lea r9, [r8+1Fh] ; +0x258, 0x180124378 and r9, 0FFFFFFFFFFFFFFE0h ; +0x25c, 0x18012437c mov r11, r9 ; +0x260, 0x180124380 shr r11, 5 ; +0x263, 0x180124383 mov r11d, ds:(jpt_180124392 - 180000000h)[r10+r11*4]; switch 9 cases ; +0x267, 0x180124387 add r11, r10 ; +0x26f, 0x18012438f jmp r11; switch jump ; +0x272, 0x180124392 vmovdqu ymm1, ymmword ptr [rdx+r9-100h]; jumptable 0000000180124392 case 8 ; +0x275, 0x180124395 vmovdqu ymmword ptr [rcx+r9-100h], ymm1 ; +0x27f, 0x18012439f vmovdqu ymm1, ymmword ptr [rdx+r9-0E0h]; jumptable 0000000180124392 case 7 ; +0x289, 0x1801243a9 vmovdqu ymmword ptr [rcx+r9-0E0h], ymm1 ; +0x293, 0x1801243b3 vmovdqu ymm1, ymmword ptr [rdx+r9-0C0h]; jumptable 0000000180124392 case 6 ; +0x29d, 0x1801243bd vmovdqu ymmword ptr [rcx+r9-0C0h], ymm1 ; +0x2a7, 0x1801243c7 vmovdqu ymm1, ymmword ptr [rdx+r9-0A0h]; jumptable 0000000180124392 case 5 ; +0x2b1, 0x1801243d1 vmovdqu ymmword ptr [rcx+r9-0A0h], ymm1 ; +0x2bb, 0x1801243db vmovdqu ymm1, ymmword ptr [rdx+r9-80h]; jumptable 0000000180124392 case 4 ; +0x2c5, 0x1801243e5 vmovdqu ymmword ptr [rcx+r9-80h], ymm1 ; +0x2cc, 0x1801243ec vmovdqu ymm1, ymmword ptr [rdx+r9-60h]; jumptable 0000000180124392 case 3 ; +0x2d3, 0x1801243f3 vmovdqu ymmword ptr [rcx+r9-60h], ymm1 ; +0x2da, 0x1801243fa vmovdqu ymm1, ymmword ptr [rdx+r9-40h]; jumptable 0000000180124392 case 2 ; +0x2e1, 0x180124401 vmovdqu ymmword ptr [rcx+r9-40h], ymm1 ; +0x2e8, 0x180124408 vmovdqu ymmword ptr [rcx+r8-20h], ymm5; jumptable 0000000180124392 case 1 ; +0x2ef, 0x18012440f vmovdqu ymmword ptr [rax], ymm0; jumptable 0000000180124392 case 0 ; +0x2f6, 0x180124416 vzeroupper ; +0x2fa, 0x18012441a retn ; +0x2fd, 0x18012441d align 20h ; +0x2fe, 0x18012441e vmovdqu ymm1, ymmword ptr [rdx] ; +0x300, 0x180124420 vmovdqu ymm2, ymmword ptr [rdx+20h] ; +0x304, 0x180124424 vmovdqu ymm3, ymmword ptr [rdx+40h] ; +0x309, 0x180124429 vmovdqu ymm4, ymmword ptr [rdx+60h] ; +0x30e, 0x18012442e vmovntdq ymmword ptr [rcx], ymm1 ; +0x313, 0x180124433 vmovntdq ymmword ptr [rcx+20h], ymm2 ; +0x317, 0x180124437 vmovntdq ymmword ptr [rcx+40h], ymm3 ; +0x31c, 0x18012443c vmovntdq ymmword ptr [rcx+60h], ymm4 ; +0x321, 0x180124441 vmovdqu ymm1, ymmword ptr [rdx+80h] ; +0x326, 0x180124446 vmovdqu ymm2, ymmword ptr [rdx+0A0h] ; +0x32e, 0x18012444e vmovdqu ymm3, ymmword ptr [rdx+0C0h] ; +0x336, 0x180124456 vmovdqu ymm4, ymmword ptr [rdx+0E0h] ; +0x33e, 0x18012445e vmovntdq ymmword ptr [rcx+80h], ymm1 ; +0x346, 0x180124466 vmovntdq ymmword ptr [rcx+0A0h], ymm2 ; +0x34e, 0x18012446e vmovntdq ymmword ptr [rcx+0C0h], ymm3 ; +0x356, 0x180124476 vmovntdq ymmword ptr [rcx+0E0h], ymm4 ; +0x35e, 0x18012447e add rcx, 100h ; +0x366, 0x180124486 add rdx, 100h ; +0x36d, 0x18012448d sub r8, 100h ; +0x374, 0x180124494 cmp r8, 100h ; +0x37b, 0x18012449b jnb YmmLoopNT ; +0x382, 0x1801244a2 lea r9, [r8+1Fh] ; +0x388, 0x1801244a8 and r9, 0FFFFFFFFFFFFFFE0h ; +0x38c, 0x1801244ac mov r11, r9 ; +0x390, 0x1801244b0 shr r11, 5 ; +0x393, 0x1801244b3 mov r11d, ds:(jpt_1801244C2 - 180000000h)[r10+r11*4]; switch 9 cases ; +0x397, 0x1801244b7 add r11, r10 ; +0x39f, 0x1801244bf jmp r11; switch jump ; +0x3a2, 0x1801244c2 vmovdqu ymm1, ymmword ptr [rdx+r9-100h]; jumptable 00000001801244C2 case 8 ; +0x3a5, 0x1801244c5 vmovntdq ymmword ptr [rcx+r9-100h], ymm1 ; +0x3af, 0x1801244cf vmovdqu ymm1, ymmword ptr [rdx+r9-0E0h]; jumptable 00000001801244C2 case 7 ; +0x3b9, 0x1801244d9 vmovntdq ymmword ptr [rcx+r9-0E0h], ymm1 ; +0x3c3, 0x1801244e3 vmovdqu ymm1, ymmword ptr [rdx+r9-0C0h]; jumptable 00000001801244C2 case 6 ; +0x3cd, 0x1801244ed vmovntdq ymmword ptr [rcx+r9-0C0h], ymm1 ; +0x3d7, 0x1801244f7 vmovdqu ymm1, ymmword ptr [rdx+r9-0A0h]; jumptable 00000001801244C2 case 5 ; +0x3e1, 0x180124501 vmovntdq ymmword ptr [rcx+r9-0A0h], ymm1 ; +0x3eb, 0x18012450b vmovdqu ymm1, ymmword ptr [rdx+r9-80h]; jumptable 00000001801244C2 case 4 ; +0x3f5, 0x180124515 vmovntdq ymmword ptr [rcx+r9-80h], ymm1 ; +0x3fc, 0x18012451c vmovdqu ymm1, ymmword ptr [rdx+r9-60h]; jumptable 00000001801244C2 case 3 ; +0x403, 0x180124523 vmovntdq ymmword ptr [rcx+r9-60h], ymm1 ; +0x40a, 0x18012452a vmovdqu ymm1, ymmword ptr [rdx+r9-40h]; jumptable 00000001801244C2 case 2 ; +0x411, 0x180124531 vmovntdq ymmword ptr [rcx+r9-40h], ymm1 ; +0x418, 0x180124538 vmovdqu ymmword ptr [rcx+r8-20h], ymm5; jumptable 00000001801244C2 case 1 ; +0x41f, 0x18012453f vmovdqu ymmword ptr [rax], ymm0; jumptable 00000001801244C2 case 0 ; +0x426, 0x180124546 sfence ; +0x42a, 0x18012454a vzeroupper ; +0x42d, 0x18012454d retn ; +0x430, 0x180124550 align 20h ; +0x431, 0x180124551 cmp r8, 800h ; +0x440, 0x180124560 jbe short MoveWithXMM ; +0x447, 0x180124567 test byte ptr cs:dword_1801F4990, 2 ; +0x449, 0x180124569 jnz memcpy_repmovs ; +0x450, 0x180124570 movdqu xmm0, xmmword ptr [rdx] ; +0x456, 0x180124576 movdqu xmm5, xmmword ptr [rdx+r8-10h] ; +0x45a, 0x18012457a cmp r8, 80h ; +0x461, 0x180124581 jbe MovUpTo128WithXMM ; +0x468, 0x180124588 mov r9, rcx ; +0x46e, 0x18012458e and r9, 0Fh ; +0x471, 0x180124591 sub r9, 10h ; +0x475, 0x180124595 sub rcx, r9 ; +0x479, 0x180124599 sub rdx, r9 ; +0x47c, 0x18012459c add r8, r9 ; +0x47f, 0x18012459f cmp r8, 80h ; +0x482, 0x1801245a2 jbe short MovUpTo128WithXMM ; +0x489, 0x1801245a9 nop dword ptr [rax+rax+00h] ; +0x48b, 0x1801245ab movdqu xmm1, xmmword ptr [rdx] ; +0x490, 0x1801245b0 movdqu xmm2, xmmword ptr [rdx+10h] ; +0x494, 0x1801245b4 movdqu xmm3, xmmword ptr [rdx+20h] ; +0x499, 0x1801245b9 movdqu xmm4, xmmword ptr [rdx+30h] ; +0x49e, 0x1801245be movdqa xmmword ptr [rcx], xmm1 ; +0x4a3, 0x1801245c3 movdqa xmmword ptr [rcx+10h], xmm2 ; +0x4a7, 0x1801245c7 movdqa xmmword ptr [rcx+20h], xmm3 ; +0x4ac, 0x1801245cc movdqa xmmword ptr [rcx+30h], xmm4 ; +0x4b1, 0x1801245d1 movdqu xmm1, xmmword ptr [rdx+40h] ; +0x4b6, 0x1801245d6 movdqu xmm2, xmmword ptr [rdx+50h] ; +0x4bb, 0x1801245db movdqu xmm3, xmmword ptr [rdx+60h] ; +0x4c0, 0x1801245e0 movdqu xmm4, xmmword ptr [rdx+70h] ; +0x4c5, 0x1801245e5 movdqa xmmword ptr [rcx+40h], xmm1 ; +0x4ca, 0x1801245ea movdqa xmmword ptr [rcx+50h], xmm2 ; +0x4cf, 0x1801245ef movdqa xmmword ptr [rcx+60h], xmm3 ; +0x4d4, 0x1801245f4 movdqa xmmword ptr [rcx+70h], xmm4 ; +0x4d9, 0x1801245f9 add rcx, 80h ; +0x4de, 0x1801245fe add rdx, 80h ; +0x4e5, 0x180124605 sub r8, 80h ; +0x4ec, 0x18012460c cmp r8, 80h ; +0x4f3, 0x180124613 jnb short XmmLoop ; +0x4fa, 0x18012461a lea r9, [r8+0Fh] ; +0x4fc, 0x18012461c and r9, 0FFFFFFFFFFFFFFF0h ; +0x500, 0x180124620 mov r11, r9 ; +0x504, 0x180124624 shr r11, 4 ; +0x507, 0x180124627 mov r11d, ds:(jpt_180124636 - 180000000h)[r10+r11*4]; switch 9 cases ; +0x50b, 0x18012462b add r11, r10 ; +0x513, 0x180124633 jmp r11; switch jump ; +0x516, 0x180124636 movdqu xmm1, xmmword ptr [rdx+r9-80h]; jumptable 0000000180124636 case 8 ; +0x519, 0x180124639 movdqu xmmword ptr [rcx+r9-80h], xmm1 ; +0x520, 0x180124640 movdqu xmm1, xmmword ptr [rdx+r9-70h]; jumptable 0000000180124636 case 7 ; +0x527, 0x180124647 movdqu xmmword ptr [rcx+r9-70h], xmm1 ; +0x52e, 0x18012464e movdqu xmm1, xmmword ptr [rdx+r9-60h]; jumptable 0000000180124636 case 6 ; +0x535, 0x180124655 movdqu xmmword ptr [rcx+r9-60h], xmm1 ; +0x53c, 0x18012465c movdqu xmm1, xmmword ptr [rdx+r9-50h]; jumptable 0000000180124636 case 5 ; +0x543, 0x180124663 movdqu xmmword ptr [rcx+r9-50h], xmm1 ; +0x54a, 0x18012466a movdqu xmm1, xmmword ptr [rdx+r9-40h]; jumptable 0000000180124636 case 4 ; +0x551, 0x180124671 movdqu xmmword ptr [rcx+r9-40h], xmm1 ; +0x558, 0x180124678 movdqu xmm1, xmmword ptr [rdx+r9-30h]; jumptable 0000000180124636 case 3 ; +0x55f, 0x18012467f movdqu xmmword ptr [rcx+r9-30h], xmm1 ; +0x566, 0x180124686 movdqu xmm1, xmmword ptr [rdx+r9-20h]; jumptable 0000000180124636 case 2 ; +0x56d, 0x18012468d movdqu xmmword ptr [rcx+r9-20h], xmm1 ; +0x574, 0x180124694 movdqu xmmword ptr [rcx+r8-10h], xmm5; jumptable 0000000180124636 case 1 ; +0x57b, 0x18012469b movdqu xmmword ptr [rax], xmm0; jumptable 0000000180124636 case 0 ; +0x582, 0x1801246a2 retn ; +0x586, 0x1801246a6 align 10h ; +0x587, 0x1801246a7 mov r11, rcx ; +0x590, 0x1801246b0 mov r10, rdx ; +0x593, 0x1801246b3 sub rdx, rcx ; +0x596, 0x1801246b6 add rcx, r8 ; +0x599, 0x1801246b9 movups xmm0, xmmword ptr [rcx+rdx-10h] ; +0x59c, 0x1801246bc sub rcx, 10h ; +0x5a1, 0x1801246c1 sub r8, 10h ; +0x5a5, 0x1801246c5 test cl, 0Fh ; +0x5a9, 0x1801246c9 jz short XmmMovLargeTest ; +0x5ac, 0x1801246cc mov rax, rcx ; +0x5ae, 0x1801246ce and rcx, 0FFFFFFFFFFFFFFF0h ; +0x5b1, 0x1801246d1 movups xmm1, xmm0 ; +0x5b5, 0x1801246d5 movups xmm0, xmmword ptr [rcx+rdx] ; +0x5b8, 0x1801246d8 movups xmmword ptr [rax], xmm1 ; +0x5bc, 0x1801246dc mov r8, rcx ; +0x5bf, 0x1801246df sub r8, r11 ; +0x5c2, 0x1801246e2 mov r9, r8 ; +0x5c5, 0x1801246e5 shr r9, 7 ; +0x5c8, 0x1801246e8 jz short XmmMovSmallTest ; +0x5cc, 0x1801246ec movaps xmmword ptr [rcx], xmm0 ; +0x5ce, 0x1801246ee jmp short XmmMovLargeInner ; +0x5d1, 0x1801246f1 align 20h ; +0x5d3, 0x1801246f3 movaps xmmword ptr [rcx+10h], xmm0 ; +0x5e0, 0x180124700 movaps xmmword ptr [rcx], xmm1 ; +0x5e4, 0x180124704 movups xmm0, xmmword ptr [rcx+rdx-10h] ; +0x5e7, 0x180124707 movups xmm1, xmmword ptr [rcx+rdx-20h] ; +0x5ec, 0x18012470c sub rcx, 80h ; +0x5f1, 0x180124711 movaps xmmword ptr [rcx+70h], xmm0 ; +0x5f8, 0x180124718 movaps xmmword ptr [rcx+60h], xmm1 ; +0x5fc, 0x18012471c movups xmm0, xmmword ptr [rcx+rdx+50h] ; +0x600, 0x180124720 movups xmm1, xmmword ptr [rcx+rdx+40h] ; +0x605, 0x180124725 dec r9 ; +0x60a, 0x18012472a movaps xmmword ptr [rcx+50h], xmm0 ; +0x60d, 0x18012472d movaps xmmword ptr [rcx+40h], xmm1 ; +0x611, 0x180124731 movups xmm0, xmmword ptr [rcx+rdx+30h] ; +0x615, 0x180124735 movups xmm1, xmmword ptr [rcx+rdx+20h] ; +0x61a, 0x18012473a movaps xmmword ptr [rcx+30h], xmm0 ; +0x61f, 0x18012473f movaps xmmword ptr [rcx+20h], xmm1 ; +0x623, 0x180124743 movups xmm0, xmmword ptr [rcx+rdx+10h] ; +0x627, 0x180124747 movups xmm1, xmmword ptr [rcx+rdx] ; +0x62c, 0x18012474c jnz short XmmMovLargeOuter ; +0x630, 0x180124750 movaps xmmword ptr [rcx+10h], xmm0 ; +0x632, 0x180124752 and r8, 7Fh ; +0x636, 0x180124756 movaps xmm0, xmm1 ; +0x63a, 0x18012475a mov r9, r8 ; +0x63d, 0x18012475d shr r9, 4 ; +0x640, 0x180124760 jz short XmmMovTrailing ; +0x644, 0x180124764 nop word ptr [rax+rax+00000000h] ; +0x646, 0x180124766 movups xmmword ptr [rcx], xmm0 ; +0x650, 0x180124770 sub rcx, 10h ; +0x653, 0x180124773 movups xmm0, xmmword ptr [rcx+rdx] ; +0x657, 0x180124777 dec r9 ; +0x65b, 0x18012477b jnz short XmmMovSmallLoop ; +0x65e, 0x18012477e and r8, 0Fh ; +0x660, 0x180124780 jz short XmmMovReturn ; +0x664, 0x180124784 movups xmm1, xmmword ptr [r10] ; +0x666, 0x180124786 movups xmmword ptr [r11], xmm1 ; +0x66a, 0x18012478a movups xmmword ptr [rcx], xmm0 ; +0x66e, 0x18012478e mov rax, r11 ; +0x671, 0x180124791 retn ; +0x674, 0x180124794