Function at 0x401000
Capabilities:
Execute anti-debugging instructions

Disassembly:
call fcn.00401945
push 0x403018
call fcn.00401d98
push 0x403360
push 0x7fffffff
call 0x401759
push eax
call fcn.00401d98
push 0x40301b
call fcn.00401d98
push 0x403360
push 0x80000000
call 0x401759
push eax
call fcn.00401d98
push 0x40301e
call fcn.00401d98
push 0x403360
push 0xffffffffffffffff
call fcn.004017a4
push eax
call fcn.00401d98
push 0x403021
call fcn.00401d98
push 0x403360
push section..data
call fcn.004017df
push eax
call fcn.00401d98
push 0x403024
call fcn.00401d98
push 0x403360
push 0x403008
call fcn.004017df
push eax
call fcn.00401d98
push 0x403027
call fcn.00401d98
push 0x403360
push 0x403010
call fcn.0040189d
push eax
call fcn.00401d98
push 0x40302a
call fcn.00401d98
call sub.kernel32.dll_GetCurrentProcess
push 1
push eax
call sub.kernel32.dll_SetProcessAffinityMask
push 0x1f4
call sub.kernel32.dll_Sleep
push str.smdtoa__2147483647_
call fcn.00401d98
mov ecx, 3
push ecx
mov dword [0x403058], 0x989680
call sub.kernel32.dll_GetCurrentProcess
push 0x100
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40305c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
sub dword [0x40305c], 1
jne 0x401120
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 [0x40305c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
push 0x403360
push 0x7fffffff
call 0x401759
sub dword [0x40305c], 1
jne 0x401150
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 [0x403050], eax
mov dword [0x403054], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x403050]
fild dword [0x403058]
fdivp st(1)
fistp qword [0x403050]
mov eax, dword [0x403050]
push 0x403060
push eax
call fcn.00401d30
push 0x403060
call fcn.00401d98
push 0x403074
call fcn.00401d98
pop ecx
dec ecx
jne 0x4010ec
push 0x403076
call fcn.00401d98
push 0x403083
call fcn.00401d98
push str.smdtoa___2147483648_
call fcn.00401d98
mov ecx, 3
push ecx
mov dword [0x403058], 0x989680
call sub.kernel32.dll_GetCurrentProcess
push 0x100
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40305c], 0x989680
xor eax, eax
cpuid
lea esp, [esp]
sub dword [0x40305c], 1
jne 0x401230
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 [0x40305c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
push 0x403360
push 0x80000000
call 0x401759
sub dword [0x40305c], 1
jne 0x401260
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 [0x403050], eax
mov dword [0x403054], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x403050]
fild dword [0x403058]
fdivp st(1)
fistp qword [0x403050]
mov eax, dword [0x403050]
push 0x4030a6
push eax
call fcn.00401d30
push 0x4030a6
call fcn.00401d98
push 0x4030bc
call fcn.00401d98
pop ecx
dec ecx
jne 0x4011f8
push 0x4030be
call fcn.00401d98
push 0x4030cb
call fcn.00401d98
push str.umdtoa__4294967295_
call fcn.00401d98
mov ecx, 3
push ecx
mov dword [0x403058], 0xaeb690
call sub.kernel32.dll_GetCurrentProcess
push 0x100
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40305c], 0xaeb690
xor eax, eax
cpuid
lea esp, [esp]
sub dword [0x40305c], 1
jne 0x401340
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 [0x40305c], 0xaeb690
xor eax, eax
cpuid
lea ecx, [ecx]
push 0x403360
push 0xffffffffffffffff
call fcn.004017a4
sub dword [0x40305c], 1
jne 0x401370
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 [0x403050], eax
mov dword [0x403054], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x403050]
fild dword [0x403058]
fdivp st(1)
fistp qword [0x403050]
mov eax, dword [0x403050]
push 0x4030ee
push eax
call fcn.00401d30
push 0x4030ee
call fcn.00401d98
push 0x403104
call fcn.00401d98
pop ecx
dec ecx
jne 0x401308
push 0x403106
call fcn.00401d98
push 0x403113
call fcn.00401d98
push str.smqtoa__9223372036854775807_
call fcn.00401d98
mov ecx, 3
push ecx
mov dword [0x403058], 0x222e00
call sub.kernel32.dll_GetCurrentProcess
push 0x100
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40305c], 0x222e00
xor eax, eax
cpuid
lea esp, [esp]
lea ecx, [ecx]
sub dword [0x40305c], 1
jne 0x401450
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 [0x40305c], 0x222e00
xor eax, eax
cpuid
lea ecx, [ecx]
push 0x403360
push section..data
call fcn.004017df
sub dword [0x40305c], 1
jne 0x401480
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 [0x403050], eax
mov dword [0x403054], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x403050]
fild dword [0x403058]
fdivp st(1)
fistp qword [0x403050]
mov eax, dword [0x403050]
push 0x403136
push eax
call fcn.00401d30
push 0x403136
call fcn.00401d98
push 0x40314c
call fcn.00401d98
pop ecx
dec ecx
jne 0x401415
push 0x40314e
call fcn.00401d98
push 0x40315b
call fcn.00401d98
push str.smqtoa___9223372036854775808_
call fcn.00401d98
mov ecx, 3
push ecx
mov dword [0x403058], 0x222e00
call sub.kernel32.dll_GetCurrentProcess
push 0x100
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40305c], 0x222e00
xor eax, eax
cpuid
lea esp, [esp]
sub dword [0x40305c], 1
jne 0x401560
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 [0x40305c], 0x222e00
xor eax, eax
cpuid
lea ecx, [ecx]
push 0x403360
push 0x403008
call fcn.004017df
sub dword [0x40305c], 1
jne 0x401590
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 [0x403050], eax
mov dword [0x403054], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x403050]
fild dword [0x403058]
fdivp st(1)
fistp qword [0x403050]
mov eax, dword [0x403050]
push 0x40317e
push eax
call fcn.00401d30
push 0x40317e
call fcn.00401d98
push 0x403194
call fcn.00401d98
pop ecx
dec ecx
jne 0x401528
push 0x403196
call fcn.00401d98
push 0x4031a3
call fcn.00401d98
push str.umqtoa__18446744073709551615_
call fcn.00401d98
mov ecx, 3
push ecx
mov dword [0x403058], 0x256250
call sub.kernel32.dll_GetCurrentProcess
push 0x100
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40305c], 0x256250
xor eax, eax
cpuid
lea esp, [esp]
sub dword [0x40305c], 1
jne 0x401670
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 [0x40305c], 0x256250
xor eax, eax
cpuid
lea ecx, [ecx]
push 0x403360
push 0x403010
call fcn.0040189d
sub dword [0x40305c], 1
jne 0x4016a0
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 [0x403050], eax
mov dword [0x403054], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x403050]
fild dword [0x403058]
fdivp st(1)
fistp qword [0x403050]
mov eax, dword [0x403050]
push 0x4031c6
push eax
call fcn.00401d30
push 0x4031c6
call fcn.00401d98
push 0x4031dc
call fcn.00401d98
pop ecx
dec ecx
jne 0x401638
push str.clock_cycles
call fcn.00401d98
push str._r_n_r_n
call fcn.00401d98
push str.Press_any_key_to_continue_...
call fcn.00401d98
call fcn.00401dd0
push 0x40320e
call fcn.00401d98
push 0
call sub.kernel32.dll_ExitProcess
push ebp
mov ebp, esp
push ebx
push edi
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
add edi, 0xb
mov ecx, 0xcccccccd
mov ebx, 0xa
mov byte [edi], 0
cdq
push edx
xor eax, edx
sub eax, edx
mul ecx
shrd eax, edx, 3
shr edx, 3
inc eax
push edx
mul ebx
dec edi
add dl, 0x30
mov byte [edi], dl
pop eax
test eax, eax
jne 0x40177a
pop edx
mov al, 0x2d
and eax, edx
je 0x40179c
dec edi
mov byte [edi], al
mov eax, edi
pop edi
pop ebx
leave
ret 8