Function at 0x401000
Capabilities:
Execute anti-debugging instructions

Disassembly:
call sub.KERNEL32.dll_AllocConsole
push 0x10
push str.RGBArgbaRGB1rgb1
call 0x401794
push str.Test_for_correctness:
call fcn.0040194c
push 0x404006
call fcn.0040194c
push str.RGBArgbaRGB1rgb1
call fcn.0040194c
push 0x404009
call fcn.0040194c
push 1
push str.RGBArgbaRGB1rgb1
call fcn.004017e0
push str.RGBArgbaRGB1rgb1
call fcn.0040194c
push 0x40400c
call fcn.0040194c
push 1
push str.RGBArgbaRGB1rgb1
call fcn.00401844
push str.RGBArgbaRGB1rgb1
call fcn.0040194c
push 0x40400f
call fcn.0040194c
push 0x10
push str.RGBArgbaRGB1rgb1
call fcn.00401868
push str.RGBArgbaRGB1rgb1
call fcn.0040194c
push 0x404012
call fcn.0040194c
push 0x10
push str.RGBArgbaRGB1rgb1
call fcn.00401895
push str.RGBArgbaRGB1rgb1
call fcn.0040194c
push 0x404015
call fcn.0040194c
push 0x10
push str.RGBArgbaRGB1rgb1
call fcn.004018db
push str.RGBArgbaRGB1rgb1
call fcn.0040194c
push 0x404018
call fcn.0040194c
push str.BGRAbgraBGR1bgr1
call fcn.0040194c
push 0x40401b
call fcn.0040194c
push 0xc8
call sub.KERNEL32.dll_Sleep
mov dword [0x404028], 0x3e8
call sub.KERNEL32.dll_GetCurrentProcess
push pe_nt_image_headers32
push eax
call sub.KERNEL32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea esp, [esp]
mov edi, edi
sub dword [0x40402c], 1
jne 0x401130
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
push edx
push eax
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea ecx, [ecx]
push 0x3e8
push 0x403050
call fcn.004018db
sub dword [0x40402c], 1
jne 0x401160
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
mov dword [0x404020], eax
mov dword [0x404024], edx
call sub.KERNEL32.dll_GetCurrentProcess
push 0x20
push eax
call sub.KERNEL32.dll_SetPriorityClass
wait
fninit
fild qword [0x404020]
fild dword [0x404028]
fdivp st(1)
fistp qword [0x404020]
mov eax, dword [0x404020]
push 0xa
push 0x404030
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x404030
call fcn.0040194c
push str._cycles_for_RgbSwap_MichaelW_r_n
call fcn.0040194c
push 0xc8
call sub.KERNEL32.dll_Sleep
mov dword [0x404028], 0x3e8
call sub.KERNEL32.dll_GetCurrentProcess
push pe_nt_image_headers32
push eax
call sub.KERNEL32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea ecx, [ecx]
sub dword [0x40402c], 1
jne 0x401220
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
push edx
push eax
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea ecx, [ecx]
push 0x3e8
push 0x403050
call fcn.00401868
sub dword [0x40402c], 1
jne 0x401250
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
mov dword [0x404020], eax
mov dword [0x404024], edx
call sub.KERNEL32.dll_GetCurrentProcess
push 0x20
push eax
call sub.KERNEL32.dll_SetPriorityClass
wait
fninit
fild qword [0x404020]
fild dword [0x404028]
fdivp st(1)
fistp qword [0x404020]
mov eax, dword [0x404020]
push 0xa
push 0x404063
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x404063
call fcn.0040194c
push str._cycles_for_RgbSwap_Hutch_r_n
call fcn.0040194c
push 0xc8
call sub.KERNEL32.dll_Sleep
mov dword [0x404028], 0x3e8
call sub.KERNEL32.dll_GetCurrentProcess
push pe_nt_image_headers32
push eax
call sub.KERNEL32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea ecx, [ecx]
sub dword [0x40402c], 1
jne 0x401310
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
push edx
push eax
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea ecx, [ecx]
push 0xfa
push 0x403050
call fcn.004017e0
sub dword [0x40402c], 1
jne 0x401340
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
mov dword [0x404020], eax
mov dword [0x404024], edx
call sub.KERNEL32.dll_GetCurrentProcess
push 0x20
push eax
call sub.KERNEL32.dll_SetPriorityClass
wait
fninit
fild qword [0x404020]
fild dword [0x404028]
fdivp st(1)
fistp qword [0x404020]
mov eax, dword [0x404020]
push 0xa
push 0x404094
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x404094
call fcn.0040194c
push str._cycles_for_RgbSwapSSE2_qWord_r_n
call fcn.0040194c
push 0xc8
call sub.KERNEL32.dll_Sleep
mov dword [0x404028], 0x3e8
call sub.KERNEL32.dll_GetCurrentProcess
push pe_nt_image_headers32
push eax
call sub.KERNEL32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea ecx, [ecx]
sub dword [0x40402c], 1
jne 0x401400
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
push edx
push eax
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea ecx, [ecx]
push 0xfa
push 0x403050
call fcn.00401844
sub dword [0x40402c], 1
jne 0x401430
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
mov dword [0x404020], eax
mov dword [0x404024], edx
call sub.KERNEL32.dll_GetCurrentProcess
push 0x20
push eax
call sub.KERNEL32.dll_SetPriorityClass
wait
fninit
fild qword [0x404020]
fild dword [0x404028]
fdivp st(1)
fistp qword [0x404020]
mov eax, dword [0x404020]
push 0xa
push 0x4040c8
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4040c8
call fcn.0040194c
push str.__cycles_for_RgbSwapLingo_r_n
call fcn.0040194c
push 0xc8
call sub.KERNEL32.dll_Sleep
mov dword [0x404028], 0x3e8
call sub.KERNEL32.dll_GetCurrentProcess
push pe_nt_image_headers32
push eax
call sub.KERNEL32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea ecx, [ecx]
sub dword [0x40402c], 1
jne 0x4014f0
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
push edx
push eax
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea ecx, [ecx]
push 0x3e8
push 0x403050
call fcn.00401895
sub dword [0x40402c], 1
jne 0x401520
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
mov dword [0x404020], eax
mov dword [0x404024], edx
call sub.KERNEL32.dll_GetCurrentProcess
push 0x20
push eax
call sub.KERNEL32.dll_SetPriorityClass
wait
fninit
fild qword [0x404020]
fild dword [0x404028]
fdivp st(1)
fistp qword [0x404020]
mov eax, dword [0x404020]
push 0xa
push 0x4040f8
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4040f8
call fcn.0040194c
push str._cycles_for_RgbSwap_Hutch2_r_n
call fcn.0040194c
push 0xc8
call sub.KERNEL32.dll_Sleep
mov dword [0x404028], 0x3e8
call sub.KERNEL32.dll_GetCurrentProcess
push pe_nt_image_headers32
push eax
call sub.KERNEL32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea ecx, [ecx]
sub dword [0x40402c], 1
jne 0x4015e0
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
push edx
push eax
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea ecx, [ecx]
push 0x3e8
push 0x403050
call 0x401794
sub dword [0x40402c], 1
jne 0x401610
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
mov dword [0x404020], eax
mov dword [0x404024], edx
call sub.KERNEL32.dll_GetCurrentProcess
push 0x20
push eax
call sub.KERNEL32.dll_SetPriorityClass
wait
fninit
fild qword [0x404020]
fild dword [0x404028]
fdivp st(1)
fistp qword [0x404020]
mov eax, dword [0x404020]
push 0xa
push 0x404129
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x404129
call fcn.0040194c
push str._cycles_for_RgbSwapSSE_r_n
call fcn.0040194c
mov dword [0x404028], 0x3e8
call sub.KERNEL32.dll_GetCurrentProcess
push pe_nt_image_headers32
push eax
call sub.KERNEL32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea esp, [esp]
lea ebx, [ebx]
sub dword [0x40402c], 1
jne 0x4016d0
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
push edx
push eax
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40402c], 0x3e8
xor eax, eax
cpuid
lea ecx, [ecx]
sub dword [0x40402c], 1
jne 0x401700
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
mov dword [0x404020], eax
mov dword [0x404024], edx
call sub.KERNEL32.dll_GetCurrentProcess
push 0x20
push eax
call sub.KERNEL32.dll_SetPriorityClass
wait
fninit
fild qword [0x404020]
fild dword [0x404028]
fdivp st(1)
fistp qword [0x404020]
mov eax, dword [0x404020]
push 0xa
push 0x404159
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x404159
call fcn.0040194c
push str._cycles_r_n_r_n
call fcn.0040194c
push str.Press_any_key_to_exit...
call fcn.0040194c
call fcn.00401990
push 0x404195
call fcn.0040194c
push 0
call sub.KERNEL32.dll_ExitProcess
pop eax
pop edx
pop ecx
shr ecx, 1
dec ecx
movq xmm1, qword [edx + ecx*8]
pxor xmm0, xmm0
punpcklbw xmm0, xmm1
pshufd xmm0, xmm0, 0x1b
pshuflw xmm0, xmm0, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshufd xmm0, xmm0, 0x4e
psrlq xmm0, 0x18
pxor xmm2, xmm2
pand xmm1, xmmword [section..data]
packsswb xmm0, xmm2
paddb xmm0, xmm1
movq qword [edx + ecx*8], xmm0
test ecx, ecx
jne 0x401799
jmp eax