Function at 0x401000
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov byte [0x4172e0], 1
mov byte [0x4172e1], 0x22
mov byte [0x4172e2], 1
mov byte [0x4172e3], 0x5a
mov dword [0x41a66b], 0
mov dword [0x41a66f], 0
mov dword [0x41a673], 3
mov dword [0x41a677], 0x4031dc
mov dword [0x41a67b], 0x4031e2
mov dword [0x41a67f], 0
mov dword [0x41a520], 0
call fcn.00401630
call fcn.004016b6
call fcn.00401786
mov dword [0x41a564], 0x41a524
push str.TESTBEDHELP.POP
push dword [0x41a564]
call fcn.00402520
mov dword [0x41a564], eax
push 0x418ae8
push dword [0x41a564]
call fcn.00401b58
push 0x418ae8
push 0x414300
call fcn.0040192b
push 0x4031f6
push 0x4053a0
call fcn.0040192b
push 0x4053a0
call fcn.004017e3
mov word [0x4172ea], 0
push 0x41a310
call fcn.00401c7a
push 0x4049ee
push 0x41a310
call sub.kernel32.dll_lstrcatA
push 1
push 0xe
call fcn.004019d6
push 0x41a310
call fcn.00402550
mov dword [0x4172ec], eax
push dword [0x4172ec]
push 0x41a310
push 1
push 7
call fcn.00401a03
push 0x41a410
call fcn.00402330
movzx ebx, ax
lea esi, [0x41a410]
mov dword [0x41a514], esi
push esi
call fcn.004025a0
push 0x41a410
call fcn.00402550
mov dword [0x4172ec], eax
push dword [0x4172ec]
push 0x41a410
push 2
push 7
call fcn.00401a03
push str.Conversion_of_a_screen_buffer_from_DOS_to_Windows_CHAR_INFO_structure
call fcn.00402550
mov dword [0x4172ec], eax
push dword [0x4172ec]
push str.Conversion_of_a_screen_buffer_from_DOS_to_Windows_CHAR_INFO_structure
push 4
push 7
call fcn.00401a03
cmp dword [0x4031d8], 0xc
jne 0x401190
mov dword [0x404a3d], 4
jmp 0x40119a
mov dword [0x404a3d], 1
push dword [0x404a0c]
push str.Use_MMX___Proposed_by_Alex
push 0
push word [0x404a31]
push 0
push word [0x404a33]
call fcn.00401a03
push 0xa
push 0x404a14
push dword [0x404a10]
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
mov dword [0x404a1c], 0x404a14
push 8
push 0x404a14
push 0
push word [0x404a31]
push 0
push word [0x404a35]
call fcn.00401a03
push 0x64
call sub.kernel32.dll_Sleep
mov dword [0x404a50], 0xf4240
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 [0x404a54], 0xf4240
xor eax, eax
cpuid
lea esp, [esp]
lea esp, [esp]
sub dword [0x404a54], 1
jne 0x401240
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 [0x404a54], 0xf4240
xor eax, eax
cpuid
lea ecx, [ecx]
lea esi, [0x4031f6]
lea edi, [0x4053a0]
mov ecx, 0xbf4
mov eax, 0xbf4
pxor mm7, mm7
and ecx, 1
shr eax, 1
je 0x4012a2
movd mm0, dword [esi]
punpcklbw mm0, mm7
add esi, 4
movntq qword [edi], mm0
add edi, 8
dec eax
jne 0x401290
jecxz 0x4012ac
movzx eax, word [esi]
mov byte [edi], al
mov byte [edi + 2], ah
emms
sub dword [0x404a54], 1
jne 0x401270
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 [0x404a48], eax
mov dword [0x404a4c], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404a48]
fild dword [0x404a50]
fdivp st(1)
fistp qword [0x404a48]
mov eax, dword [0x404a48]
mov dword [0x404a20], eax
push 0xa
push 0x404a24
push dword [0x404a20]
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
mov dword [0x404a2d], 0x404a24
cmp dword [0x404a20], 0x3e7
jbe 0x40136f
push dword [0x404a2d]
call 0x40160e
push dword [0x4031ee]
call fcn.00402550
mov dword [0x404a39], eax
push dword [0x404a39]
push 0x41a56c
push 0
push word [0x404a31]
push 0
push word [0x404a37]
call fcn.00401a03
jmp 0x40138f
push 9
push 0x404a24
push 0
push word [0x404a31]
push 0
push word [0x404a37]
call fcn.00401a03
inc dword [0x404a41]
mov eax, dword [0x404a3d]
cmp dword [0x404a41], eax
jb 0x4013ae
mov dword [0x404a41], 0
jmp 0x4013bb
add word [0x404a37], 0xb
jmp 0x4011fe
mov word [0x404a37], 0x2e
add word [0x404a31], 2
push dword [0x404a74]
push str.Use_386___Proposed_by_Frank
push 0
push word [0x404a31]
push 0
push word [0x404a33]
call fcn.00401a03
push 0xa
push 0x404a7c
push dword [0x404a78]
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
mov dword [0x404a84], 0x404a7c
push 8
push 0x404a7c
push 0
push word [0x404a31]
push 0
push word [0x404a35]
call fcn.00401a03
push 0x64
call sub.kernel32.dll_Sleep
mov dword [0x404a50], 0xf4240
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 [0x404a54], 0xf4240
xor eax, eax
cpuid
lea esp, [esp]
mov edi, edi
sub dword [0x404a54], 1
jne 0x401470
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 [0x404a54], 0xf4240
xor eax, eax
cpuid
lea ecx, [ecx]
lea esi, [0x4031f6]
lea edi, [0x4053a0]
mov ecx, 0x5fa
xor eax, eax
mov eax, dword [esi]
mov byte [edi], al
mov byte [edi + 2], ah
bswap eax
mov byte [edi + 4], ah
mov byte [edi + 6], al
add esi, 4
add edi, 8
dec ecx
jne 0x4014b3
sub dword [0x404a54], 1
jne 0x4014a0
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 [0x404a48], eax
mov dword [0x404a4c], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404a48]
fild dword [0x404a50]
fdivp st(1)
fistp qword [0x404a48]
mov eax, dword [0x404a48]
mov dword [0x404a20], eax
push 0xa
push 0x404a24
push dword [0x404a20]
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
mov dword [0x404a2d], 0x404a24
cmp dword [0x404a20], 0x3e7
jbe 0x40158c
push dword [0x404a2d]
call 0x40160e
push dword [0x4031ee]
call fcn.00402550
mov dword [0x404a39], eax
push dword [0x404a39]
push 0x41a56c
push 0
push word [0x404a31]
push 0
push word [0x404a37]
call fcn.00401a03
jmp 0x4015ac
push 9
push 0x404a24
push 0
push word [0x404a31]
push 0
push word [0x404a37]
call fcn.00401a03
inc dword [0x404a41]
mov eax, dword [0x404a3d]
cmp dword [0x404a41], eax
jb 0x4015cb
mov dword [0x404a41], 0
jmp 0x4015d8
add word [0x404a37], 0xb
jmp 0x401430
mov word [0x404a37], 0x2e
add word [0x404a31], 2
mov dword [0x41a518], 0
push 0x40b360
call fcn.00401809
call fcn.0040182f
call fcn.00401730
push 0
call sub.kernel32.dll_ExitProcess
push ebp
mov ebp, esp
push 0xff
push 0x41a56c
push 0x41a66b
push dword [ebp + 8]
push 0
push 0
call sub.kernel32.dll_GetNumberFormatA
leave
ret 4