// // 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 // void *__cdecl memmove(void *_RCX, const void *Src, size_t Size) { void *result; // rax int v4; // ecx __int16 v5; // r9 char v6; // r10 __int16 v7; // cx char v8; // r9 __int16 v9; // r8 char v10; // r9 int v11; // ecx __int16 v12; // r9 char v13; // r8 int v14; // ecx char v15; // r9 __int16 v16; // cx char v17; // cl int v18; // ecx __int16 v19; // r8 char v20; // r8 __m128i v21; // xmm2 __int64 v24; // r9 __m128i v57; // xmm0 __m128i v58; // xmm5 __int64 v59; // r9 __m128i v60; // xmm2 __m128i v61; // xmm3 __m128i v62; // xmm4 __m128i v63; // xmm2 __m128i v64; // xmm3 __m128i v65; // xmm4 size_t v66; // r9 char *v67; // r11 _OWORD *v68; // r10 signed __int64 v69; // rdx char *v70; // rcx __int128 v71; // xmm0 unsigned __int64 v72; // rcx size_t v73; // r8 _OWORD *v74; // rax __int128 v75; // xmm1 size_t v76; // r9 __int128 v77; // xmm0 __int128 v78; // xmm1 __int128 v79; // xmm1 __int128 v80; // xmm1 __int128 v81; // xmm0 __int128 v82; // xmm1 size_t i; // r9 result = _RCX; switch ( Size ) { case 0uLL: return result; case 1uLL: *(_BYTE *)_RCX = *(_BYTE *)Src; return result; case 2uLL: *(_WORD *)_RCX = *(_WORD *)Src; return result; case 3uLL: v13 = *((_BYTE *)Src + 2); *(_WORD *)_RCX = *(_WORD *)Src; *((_BYTE *)_RCX + 2) = v13; return result; case 4uLL: *(_DWORD *)_RCX = *(_DWORD *)Src; return result; case 5uLL: v20 = *((_BYTE *)Src + 4); *(_DWORD *)_RCX = *(_DWORD *)Src; *((_BYTE *)_RCX + 4) = v20; return result; case 6uLL: v19 = *((_WORD *)Src + 2); *(_DWORD *)_RCX = *(_DWORD *)Src; *((_WORD *)_RCX + 2) = v19; return result; case 7uLL: v9 = *((_WORD *)Src + 2); v10 = *((_BYTE *)Src + 6); *(_DWORD *)_RCX = *(_DWORD *)Src; *((_WORD *)_RCX + 2) = v9; *((_BYTE *)_RCX + 6) = v10; return result; case 8uLL: *(_QWORD *)_RCX = *(_QWORD *)Src; return result; case 9uLL: v17 = *((_BYTE *)Src + 8); *(_QWORD *)result = *(_QWORD *)Src; *((_BYTE *)result + 8) = v17; return result; case 0xAuLL: v16 = *((_WORD *)Src + 4); *(_QWORD *)result = *(_QWORD *)Src; *((_WORD *)result + 4) = v16; return result; case 0xBuLL: v7 = *((_WORD *)Src + 4); v8 = *((_BYTE *)Src + 10); *(_QWORD *)result = *(_QWORD *)Src; *((_WORD *)result + 4) = v7; *((_BYTE *)result + 10) = v8; return result; case 0xCuLL: v18 = *((_DWORD *)Src + 2); *(_QWORD *)result = *(_QWORD *)Src; *((_DWORD *)result + 2) = v18; return result; case 0xDuLL: v14 = *((_DWORD *)Src + 2); v15 = *((_BYTE *)Src + 12); *(_QWORD *)result = *(_QWORD *)Src; *((_DWORD *)result + 2) = v14; *((_BYTE *)result + 12) = v15; return result; case 0xEuLL: v11 = *((_DWORD *)Src + 2); v12 = *((_WORD *)Src + 6); *(_QWORD *)result = *(_QWORD *)Src; *((_DWORD *)result + 2) = v11; *((_WORD *)result + 6) = v12; return result; case 0xFuLL: v4 = *((_DWORD *)Src + 2); v5 = *((_WORD *)Src + 6); v6 = *((_BYTE *)Src + 14); *(_QWORD *)result = *(_QWORD *)Src; *((_DWORD *)result + 2) = v4; *((_WORD *)result + 6) = v5; *((_BYTE *)result + 14) = v6; return result; default: if ( Size <= 0x20 ) { v21 = _mm_loadu_si128((const __m128i *)((char *)Src + Size - 16)); *(__m128i *)_RCX = _mm_loadu_si128((const __m128i *)Src); *(__m128i *)((char *)_RCX + Size - 16) = v21; return result; } if ( Src < _RCX && _RCX < (char *)Src + Size ) { v67 = (char *)_RCX; v68 = Src; v69 = (_BYTE *)Src - (_BYTE *)_RCX; v70 = (char *)_RCX + Size; v71 = *(_OWORD *)&v70[v69 - 16]; v72 = (unsigned __int64)(v70 - 16); v73 = Size - 16; if ( (v72 & 0xF) != 0 ) { v74 = (_OWORD *)v72; v72 &= 0xFFFFFFFFFFFFFFF0uLL; v75 = v71; v71 = *(_OWORD *)(v72 + v69); *v74 = v75; v73 = v72 - (_QWORD)v67; } v76 = v73 >> 7; if ( v73 >> 7 ) { for ( *(_OWORD *)v72 = v71; ; *(_OWORD *)v72 = v82 ) { v77 = *(_OWORD *)(v72 + v69 - 16); v78 = *(_OWORD *)(v72 + v69 - 32); v72 -= 128LL; *(_OWORD *)(v72 + 112) = v77; *(_OWORD *)(v72 + 96) = v78; v79 = *(_OWORD *)(v72 + v69 + 64); --v76; *(_OWORD *)(v72 + 80) = *(_OWORD *)(v72 + v69 + 80); *(_OWORD *)(v72 + 64) = v79; v80 = *(_OWORD *)(v72 + v69 + 32); *(_OWORD *)(v72 + 48) = *(_OWORD *)(v72 + v69 + 48); *(_OWORD *)(v72 + 32) = v80; v81 = *(_OWORD *)(v72 + v69 + 16); v82 = *(_OWORD *)(v72 + v69); if ( !v76 ) break; *(_OWORD *)(v72 + 16) = v81; } *(_OWORD *)(v72 + 16) = v81; v73 &= 0x7Fu; v71 = v82; } for ( i = v73 >> 4; i; --i ) { *(_OWORD *)v72 = v71; v72 -= 16LL; v71 = *(_OWORD *)(v72 + v69); } if ( (v73 & 0xF) != 0 ) *(_OWORD *)v67 = *v68; *(_OWORD *)v72 = v71; return v67; } if ( (unsigned int)dword_1801B1700 < 3 ) { if ( Size <= 0x800 || (dword_1801F4990 & 2) == 0 ) { v57 = _mm_loadu_si128((const __m128i *)Src); v58 = _mm_loadu_si128((const __m128i *)((char *)Src + Size - 16)); if ( Size > 0x80 ) { v59 = ((unsigned __int8)_RCX & 0xF) - 16LL; _RCX = (char *)_RCX - v59; Src = (char *)Src - v59; Size += v59; if ( Size > 0x80 ) { do { v60 = _mm_loadu_si128((const __m128i *)Src + 1); v61 = _mm_loadu_si128((const __m128i *)Src + 2); v62 = _mm_loadu_si128((const __m128i *)Src + 3); *(__m128i *)_RCX = _mm_loadu_si128((const __m128i *)Src); *((__m128i *)_RCX + 1) = v60; *((__m128i *)_RCX + 2) = v61; *((__m128i *)_RCX + 3) = v62; v63 = _mm_loadu_si128((const __m128i *)Src + 5); v64 = _mm_loadu_si128((const __m128i *)Src + 6); v65 = _mm_loadu_si128((const __m128i *)Src + 7); *((__m128i *)_RCX + 4) = _mm_loadu_si128((const __m128i *)Src + 4); *((__m128i *)_RCX + 5) = v63; *((__m128i *)_RCX + 6) = v64; *((__m128i *)_RCX + 7) = v65; _RCX = (char *)_RCX + 128; Src = (char *)Src + 128; Size -= 128LL; } while ( Size >= 0x80 ); } } v66 = (Size + 15) & 0xFFFFFFFFFFFFFFF0uLL; switch ( v66 >> 4 ) { case 0uLL: goto Mov0XmmBlocks; case 1uLL: goto Mov1XmmBlocks; case 2uLL: goto Mov2XmmBlocks; case 3uLL: goto Mov3XmmBlocks; case 4uLL: goto Mov4XmmBlocks; case 5uLL: goto Mov5XmmBlocks; case 6uLL: goto Mov6XmmBlocks; case 7uLL: goto Mov7XmmBlocks; case 8uLL: *(__m128i *)((char *)_RCX + v66 - 128) = _mm_loadu_si128((const __m128i *)((char *)Src + v66 - 128)); Mov7XmmBlocks: *(__m128i *)((char *)_RCX + v66 - 112) = _mm_loadu_si128((const __m128i *)((char *)Src + v66 - 112)); Mov6XmmBlocks: *(__m128i *)((char *)_RCX + v66 - 96) = _mm_loadu_si128((const __m128i *)((char *)Src + v66 - 96)); Mov5XmmBlocks: *(__m128i *)((char *)_RCX + v66 - 80) = _mm_loadu_si128((const __m128i *)((char *)Src + v66 - 80)); Mov4XmmBlocks: *(__m128i *)((char *)_RCX + v66 - 64) = _mm_loadu_si128((const __m128i *)((char *)Src + v66 - 64)); Mov3XmmBlocks: *(__m128i *)((char *)_RCX + v66 - 48) = _mm_loadu_si128((const __m128i *)((char *)Src + v66 - 48)); Mov2XmmBlocks: *(__m128i *)((char *)_RCX + v66 - 32) = _mm_loadu_si128((const __m128i *)((char *)Src + v66 - 32)); Mov1XmmBlocks: *(__m128i *)((char *)_RCX + Size - 16) = v58; Mov0XmmBlocks: *(__m128i *)result = v57; break; } return result; } LABEL_77: memcpy_repmovs(_RCX, Src, Size); return result; } if ( Size > 0x2000 && Size <= 0x180000 && (dword_1801F4990 & 2) != 0 ) goto LABEL_77; __asm { vmovdqu ymm0, ymmword ptr [rdx] vmovdqu ymm5, ymmword ptr [rdx+r8-20h] } if ( Size <= 0x100 || (v24 = ((unsigned __int8)_RCX & 0x1F) - 32LL, _RCX = (char *)_RCX - v24, Src = (char *)Src - v24, Size += v24, Size <= 0x100) ) { MovUpTo256WithYMM: _R9 = (Size + 31) & 0xFFFFFFFFFFFFFFE0uLL; switch ( _R9 >> 5 ) { case 0uLL: goto Mov0YmmBlocks; case 1uLL: goto Mov1YmmBlocks; case 2uLL: goto Mov2YmmBlocks; case 3uLL: goto Mov3YmmBlocks; case 4uLL: goto Mov4YmmBlocks; case 5uLL: goto Mov5YmmBlocks; case 6uLL: goto Mov6YmmBlocks; case 7uLL: goto Mov7YmmBlocks; case 8uLL: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-100h]; jumptable 0000000180124392 case 8 vmovdqu ymmword ptr [rcx+r9-100h], ymm1 } Mov7YmmBlocks: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-0E0h]; jumptable 0000000180124392 case 7 vmovdqu ymmword ptr [rcx+r9-0E0h], ymm1 } Mov6YmmBlocks: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-0C0h]; jumptable 0000000180124392 case 6 vmovdqu ymmword ptr [rcx+r9-0C0h], ymm1 } Mov5YmmBlocks: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-0A0h]; jumptable 0000000180124392 case 5 vmovdqu ymmword ptr [rcx+r9-0A0h], ymm1 } Mov4YmmBlocks: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-80h]; jumptable 0000000180124392 case 4 vmovdqu ymmword ptr [rcx+r9-80h], ymm1 } Mov3YmmBlocks: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-60h]; jumptable 0000000180124392 case 3 vmovdqu ymmword ptr [rcx+r9-60h], ymm1 } Mov2YmmBlocks: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-40h]; jumptable 0000000180124392 case 2 vmovdqu ymmword ptr [rcx+r9-40h], ymm1 } Mov1YmmBlocks: __asm { vmovdqu ymmword ptr [rcx+r8-20h], ymm5; jumptable 0000000180124392 case 1 } Mov0YmmBlocks: __asm { vmovdqu ymmword ptr [rax], ymm0; jumptable 0000000180124392 case 0 vzeroupper } break; } return result; } if ( Size <= 0x180000 ) { do { __asm { vmovdqu ymm1, ymmword ptr [rdx] vmovdqu ymm2, ymmword ptr [rdx+20h] vmovdqu ymm3, ymmword ptr [rdx+40h] vmovdqu ymm4, ymmword ptr [rdx+60h] vmovdqa ymmword ptr [rcx], ymm1 vmovdqa ymmword ptr [rcx+20h], ymm2 vmovdqa ymmword ptr [rcx+40h], ymm3 vmovdqa ymmword ptr [rcx+60h], ymm4 vmovdqu ymm1, ymmword ptr [rdx+80h] vmovdqu ymm2, ymmword ptr [rdx+0A0h] vmovdqu ymm3, ymmword ptr [rdx+0C0h] vmovdqu ymm4, ymmword ptr [rdx+0E0h] vmovdqa ymmword ptr [rcx+80h], ymm1 vmovdqa ymmword ptr [rcx+0A0h], ymm2 vmovdqa ymmword ptr [rcx+0C0h], ymm3 vmovdqa ymmword ptr [rcx+0E0h], ymm4 } _RCX = (char *)_RCX + 256; Src = (char *)Src + 256; Size -= 256LL; } while ( Size >= 0x100 ); goto MovUpTo256WithYMM; } do { __asm { vmovdqu ymm1, ymmword ptr [rdx] vmovdqu ymm2, ymmword ptr [rdx+20h] vmovdqu ymm3, ymmword ptr [rdx+40h] vmovdqu ymm4, ymmword ptr [rdx+60h] vmovntdq ymmword ptr [rcx], ymm1 vmovntdq ymmword ptr [rcx+20h], ymm2 vmovntdq ymmword ptr [rcx+40h], ymm3 vmovntdq ymmword ptr [rcx+60h], ymm4 vmovdqu ymm1, ymmword ptr [rdx+80h] vmovdqu ymm2, ymmword ptr [rdx+0A0h] vmovdqu ymm3, ymmword ptr [rdx+0C0h] vmovdqu ymm4, ymmword ptr [rdx+0E0h] vmovntdq ymmword ptr [rcx+80h], ymm1 vmovntdq ymmword ptr [rcx+0A0h], ymm2 vmovntdq ymmword ptr [rcx+0C0h], ymm3 vmovntdq ymmword ptr [rcx+0E0h], ymm4 } _RCX = (char *)_RCX + 256; Src = (char *)Src + 256; Size -= 256LL; } while ( Size >= 0x100 ); _R9 = (Size + 31) & 0xFFFFFFFFFFFFFFE0uLL; switch ( _R9 >> 5 ) { case 0uLL: goto Mov0YmmBlocksNT; case 1uLL: goto Mov1YmmBlocksNT; case 2uLL: goto Mov2YmmBlocksNT; case 3uLL: goto Mov3YmmBlocksNT; case 4uLL: goto Mov4YmmBlocksNT; case 5uLL: goto Mov5YmmBlocksNT; case 6uLL: goto Mov6YmmBlocksNT; case 7uLL: goto Mov7YmmBlocksNT; case 8uLL: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-100h]; jumptable 00000001801244C2 case 8 vmovntdq ymmword ptr [rcx+r9-100h], ymm1 } Mov7YmmBlocksNT: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-0E0h]; jumptable 00000001801244C2 case 7 vmovntdq ymmword ptr [rcx+r9-0E0h], ymm1 } Mov6YmmBlocksNT: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-0C0h]; jumptable 00000001801244C2 case 6 vmovntdq ymmword ptr [rcx+r9-0C0h], ymm1 } Mov5YmmBlocksNT: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-0A0h]; jumptable 00000001801244C2 case 5 vmovntdq ymmword ptr [rcx+r9-0A0h], ymm1 } Mov4YmmBlocksNT: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-80h]; jumptable 00000001801244C2 case 4 vmovntdq ymmword ptr [rcx+r9-80h], ymm1 } Mov3YmmBlocksNT: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-60h]; jumptable 00000001801244C2 case 3 vmovntdq ymmword ptr [rcx+r9-60h], ymm1 } Mov2YmmBlocksNT: __asm { vmovdqu ymm1, ymmword ptr [rdx+r9-40h]; jumptable 00000001801244C2 case 2 vmovntdq ymmword ptr [rcx+r9-40h], ymm1 } Mov1YmmBlocksNT: __asm { vmovdqu ymmword ptr [rcx+r8-20h], ymm5; jumptable 00000001801244C2 case 1 } Mov0YmmBlocksNT: __asm { vmovdqu ymmword ptr [rax], ymm0; jumptable 00000001801244C2 case 0 } _mm_sfence(); __asm { vzeroupper } break; } return result; } }