Function at 0x401000
Capabilities:
Execute anti-debugging instructions

Disassembly:
call fcn.00402644
push 0x1f4
call sub.kernel32.dll_Sleep
mov dword [0x404048], 0x989680
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40404c], 0x989680
xor eax, eax
cpuid
nop
sub dword [0x40404c], 1
jne 0x401040
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 [0x40404c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
mov eax, 0xf83e0ff0
mov edx, 0x404e00
call fcn.00401dd0
mov edx, edx
mov eax, 0xf83e0ff
mov edx, 0x404e00
call fcn.00401dd0
mov edx, edx
sub dword [0x40404c], 1
jne 0x401070
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 [0x404040], eax
mov dword [0x404044], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404040]
fild dword [0x404048]
fdivp st(1)
fistp qword [0x404040]
mov eax, dword [0x404040]
mov dword [0x405e54], eax
push 0x404050
push eax
call fcn.00402750
push 0x404050
call fcn.004027b8
push str._cycles_timing_BIN_______t
call fcn.004027b8
push 0x40407f
push dword [0x405e88]
call fcn.00402750
push 0x40407f
call fcn.004027b8
push 0x404094
call fcn.004027b8
ffree st(7)
mov eax, dword [0x405e88]
or eax, eax
jne 0x401139
add eax, 0xc8
push eax
fild dword [esp]
pop eax
fsqrt
push dword [0x405e54]
fild dword [esp]
fmul st(1)
fistp dword [esp]
pop eax
push 0x404df0
push eax
call fcn.00402750
push 0x404df0
call fcn.004027b8
push 0x40409c
call fcn.004027b8
mov dword [0x404048], 0x989680
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40404c], 0x989680
xor eax, eax
cpuid
mov edi, edi
sub dword [0x40404c], 1
jne 0x4011a0
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 [0x40404c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
push 0x404e00
push 0xf83e0ff0
call fcn.00401f4d
push 0x404e00
push 0xf83e0ff
call fcn.00401f4d
sub dword [0x40404c], 1
jne 0x4011d0
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 [0x404040], eax
mov dword [0x404044], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404040]
fild dword [0x404048]
fdivp st(1)
fistp qword [0x404040]
mov eax, dword [0x404040]
mov dword [0x405e60], eax
push 0x4040a5
push eax
call fcn.00402750
push 0x4040a5
call fcn.004027b8
push str._cycles_timing_pbin2______t
call fcn.004027b8
push 0x4040d8
push dword [0x405e94]
call fcn.00402750
push 0x4040d8
call fcn.004027b8
push 0x4040ec
call fcn.004027b8
ffree st(7)
mov eax, dword [0x405e94]
or eax, eax
jne 0x401295
add eax, 0xc8
push eax
fild dword [esp]
pop eax
fsqrt
push dword [0x405e60]
fild dword [esp]
fmul st(1)
fistp dword [esp]
pop eax
push 0x404df0
push eax
call fcn.00402750
push 0x404df0
call fcn.004027b8
push 0x4040f4
call fcn.004027b8
mov dword [0x404048], 0x989680
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40404c], 0x989680
xor eax, eax
cpuid
lea ebx, [ebx]
sub dword [0x40404c], 1
jne 0x401300
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 [0x40404c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
push esi
mov eax, 0xf83e0ff0
mov esi, 0x404e00
call fcn.00401fdc
mov eax, 0xf83e0ff
mov esi, 0x404e00
call fcn.00401fdc
pop esi
sub dword [0x40404c], 1
jne 0x401330
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 [0x404040], eax
mov dword [0x404044], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404040]
fild dword [0x404048]
fdivp st(1)
fistp qword [0x404040]
mov eax, dword [0x404040]
mov dword [0x405e64], eax
push 0x4040fd
push eax
call fcn.00402750
push 0x4040fd
call fcn.004027b8
push str._cycles_timing_nwDw2Bin_t
call fcn.004027b8
push 0x40412e
push dword [0x405e98]
call fcn.00402750
push 0x40412e
call fcn.004027b8
push 0x404144
call fcn.004027b8
ffree st(7)
mov eax, dword [0x405e98]
or eax, eax
jne 0x4013f7
add eax, 0xc8
push eax
fild dword [esp]
pop eax
fsqrt
push dword [0x405e64]
fild dword [esp]
fmul st(1)
fistp dword [esp]
pop eax
push 0x404df0
push eax
call fcn.00402750
push 0x404df0
call fcn.004027b8
push 0x40414c
call fcn.004027b8
mov dword [0x404048], 0x989680
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40404c], 0x989680
xor eax, eax
cpuid
lea esp, [esp]
sub dword [0x40404c], 1
jne 0x401460
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 [0x40404c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
push esi
mov eax, 0xf83e0ff0
mov esi, 0x404e00
call fcn.00402000
mov eax, 0xf83e0ff
mov esi, 0x404e00
call fcn.00402000
pop esi
sub dword [0x40404c], 1
jne 0x401490
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 [0x404040], eax
mov dword [0x404044], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404040]
fild dword [0x404048]
fdivp st(1)
fistp qword [0x404040]
mov eax, dword [0x404040]
mov dword [0x405e68], eax
push 0x404155
push eax
call fcn.00402750
push 0x404155
call fcn.004027b8
push str._cycles_timing_nwDw2BinJJ_t
call fcn.004027b8
push 0x404188
push dword [0x405e9c]
call fcn.00402750
push 0x404188
call fcn.004027b8
push 0x40419c
call fcn.004027b8
ffree st(7)
mov eax, dword [0x405e9c]
or eax, eax
jne 0x401557
add eax, 0xc8
push eax
fild dword [esp]
pop eax
fsqrt
push dword [0x405e68]
fild dword [esp]
fmul st(1)
fistp dword [esp]
pop eax
push 0x404df0
push eax
call fcn.00402750
push 0x404df0
call fcn.004027b8
push 0x4041a4
call fcn.004027b8
mov dword [0x404048], 0x989680
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40404c], 0x989680
xor eax, eax
cpuid
lea esp, [esp]
sub dword [0x40404c], 1
jne 0x4015c0
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 [0x40404c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
mov eax, 0xf83e0ff0
mov edx, 0x404e00
call fcn.00402030
mov eax, 0xf83e0ff
mov edx, 0x404e00
call fcn.00402030
sub dword [0x40404c], 1
jne 0x4015f0
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 [0x404040], eax
mov dword [0x404044], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404040]
fild dword [0x404048]
fdivp st(1)
fistp qword [0x404040]
mov eax, dword [0x404040]
mov dword [0x405e6c], eax
push 0x4041ad
push eax
call fcn.00402750
push 0x4041ad
call fcn.004027b8
push str._cycles_timing_NightWare_t
call fcn.004027b8
push 0x4041df
push dword [0x405ea0]
call fcn.00402750
push 0x4041df
call fcn.004027b8
push 0x4041f4
call fcn.004027b8
ffree st(7)
mov eax, dword [0x405ea0]
or eax, eax
jne 0x4016b5
add eax, 0xc8
push eax
fild dword [esp]
pop eax
fsqrt
push dword [0x405e6c]
fild dword [esp]
fmul st(1)
fistp dword [esp]
pop eax
push 0x404df0
push eax
call fcn.00402750
push 0x404df0
call fcn.004027b8
push 0x4041fc
call fcn.004027b8
mov dword [0x404048], 0x989680
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40404c], 0x989680
xor eax, eax
cpuid
lea ebx, [ebx]
sub dword [0x40404c], 1
jne 0x401720
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 [0x40404c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
mov eax, 0xf83e0ff0
mov edx, 0x404e00
call fcn.004020c0
mov eax, 0xf83e0ff
mov edx, 0x404e00
call fcn.004020c0
sub dword [0x40404c], 1
jne 0x401750
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 [0x404040], eax
mov dword [0x404044], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404040]
fild dword [0x404048]
fdivp st(1)
fistp qword [0x404040]
mov eax, dword [0x404040]
mov dword [0x405e70], eax
push 0x404205
push eax
call fcn.00402750
push 0x404205
call fcn.004027b8
push str._cycles_timing_BinLingo_t
call fcn.004027b8
push 0x404236
push dword [0x405ea4]
call fcn.00402750
push 0x404236
call fcn.004027b8
push 0x40424c
call fcn.004027b8
ffree st(7)
mov eax, dword [0x405ea4]
or eax, eax
jne 0x401815
add eax, 0xc8
push eax
fild dword [esp]
pop eax
fsqrt
push dword [0x405e70]
fild dword [esp]
fmul st(1)
fistp dword [esp]
pop eax
push 0x404df0
push eax
call fcn.00402750
push 0x404df0
call fcn.004027b8
push 0x404254
call fcn.004027b8
mov dword [0x404048], 0x989680
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40404c], 0x989680
xor eax, eax
cpuid
lea ebx, [ebx]
sub dword [0x40404c], 1
jne 0x401880
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 [0x40404c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
mov eax, 0xf83e0ff0
mov edx, 0x404e00
call fcn.00402137
mov eax, 0xf83e0ff
mov edx, 0x404e00
call fcn.00402137
sub dword [0x40404c], 1
jne 0x4018b0
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 [0x404040], eax
mov dword [0x404044], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404040]
fild dword [0x404048]
fdivp st(1)
fistp qword [0x404040]
mov eax, dword [0x404040]
mov dword [0x405e74], eax
push 0x40425d
push eax
call fcn.00402750
push 0x40425d
call fcn.004027b8
push str._cycles_timing_b2aDrizzAt_t
call fcn.004027b8
push 0x404290
push dword [0x405ea8]
call fcn.00402750
push 0x404290
call fcn.004027b8
push 0x4042a4
call fcn.004027b8
ffree st(7)
mov eax, dword [0x405ea8]
or eax, eax
jne 0x401975
add eax, 0xc8
push eax
fild dword [esp]
pop eax
fsqrt
push dword [0x405e74]
fild dword [esp]
fmul st(1)
fistp dword [esp]
pop eax
push 0x404df0
push eax
call fcn.00402750
push 0x404df0
call fcn.004027b8
push 0x4042ac
call fcn.004027b8
mov dword [0x404048], 0x989680
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40404c], 0x989680
xor eax, eax
cpuid
lea ebx, [ebx]
sub dword [0x40404c], 1
jne 0x4019e0
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 [0x40404c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
mov ecx, 0xf83e0ff0
mov edx, 0x404e00
call fcn.0040226c
mov ecx, 0xf83e0ff
mov edx, 0x404e00
call fcn.0040226c
sub dword [0x40404c], 1
jne 0x401a10
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 [0x404040], eax
mov dword [0x404044], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404040]
fild dword [0x404048]
fdivp st(1)
fistp qword [0x404040]
mov eax, dword [0x404040]
mov dword [0x405e78], eax
push 0x4042b5
push eax
call fcn.00402750
push 0x4042b5
call fcn.004027b8
push str._cycles_timing_QwordMmx_t
call fcn.004027b8
push 0x4042e6
push dword [0x405eac]
call fcn.00402750
push 0x4042e6
call fcn.004027b8
push 0x4042fc
call fcn.004027b8
emms
ffree st(7)
mov eax, dword [0x405eac]
or eax, eax
jne 0x401ad7
add eax, 0xc8
push eax
fild dword [esp]
pop eax
fsqrt
push dword [0x405e78]
fild dword [esp]
fmul st(1)
fistp dword [esp]
pop eax
push 0x404df0
push eax
call fcn.00402750
push 0x404df0
call fcn.004027b8
push 0x404304
call fcn.004027b8
mov dword [0x404048], 0x989680
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40404c], 0x989680
xor eax, eax
cpuid
lea esp, [esp]
sub dword [0x40404c], 1
jne 0x401b40
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 [0x40404c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
mov ecx, 0xf83e0ff0
mov edx, 0x404e00
call fcn.004022dc
mov ecx, 0xf83e0ff
mov edx, 0x404e00
call fcn.004022dc
sub dword [0x40404c], 1
jne 0x401b70
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 [0x404040], eax
mov dword [0x404044], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404040]
fild dword [0x404048]
fdivp st(1)
fistp qword [0x404040]
mov eax, dword [0x404040]
mov dword [0x405e7c], eax
push 0x40430d
push eax
call fcn.00402750
push 0x40430d
call fcn.004027b8
push str._cycles_timing_dw2binstr_t
call fcn.004027b8
push 0x40433f
push dword [0x405eb0]
call fcn.00402750
push 0x40433f
call fcn.004027b8
push str._bytes_t
call fcn.004027b8
emms
ffree st(7)
mov eax, dword [0x405eb0]
or eax, eax
jne 0x401c37
add eax, 0xc8
push eax
fild dword [esp]
pop eax
fsqrt
push dword [0x405e7c]
fild dword [esp]
fmul st(1)
fistp dword [esp]
pop eax
push 0x404df0
push eax
call fcn.00402750
push 0x404df0
call fcn.004027b8
push 0x40435c
call fcn.004027b8
mov dword [0x404048], 0x989680
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x40404c], 0x989680
xor eax, eax
cpuid
lea esp, [esp]
sub dword [0x40404c], 1
jne 0x401ca0
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 [0x40404c], 0x989680
xor eax, eax
cpuid
lea ecx, [ecx]
push 0x404e00
push 0xf83e0ff0
call fcn.00402820
push 0x404e00
push 0xf83e0ff
call fcn.00402820
sub dword [0x40404c], 1
jne 0x401cd0
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 [0x404040], eax
mov dword [0x404044], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404040]
fild dword [0x404048]
fdivp st(1)
fistp qword [0x404040]
mov eax, dword [0x404040]
mov dword [0x405e50], eax
mov dword [0x405e84], 0x85c
push 0x404365
push eax
call fcn.00402750
push 0x404365
call fcn.004027b8
push str._cycles_timing_dw2bin_ex_t_2140_bytes_t
call fcn.004027b8
ffree st(7)
mov eax, dword [0x405e84]
or eax, eax
jne 0x401d7b
add eax, 0xc8
push eax
fild dword [esp]
pop eax
fsqrt
push dword [0x405e50]
fild dword [esp]
fmul st(1)
fistp dword [esp]
pop eax
push 0x404df0
push eax
call fcn.00402750
push 0x404df0
call fcn.004027b8
push str._LAMPs_r_n
call fcn.004027b8
push 0x4043ab
call fcn.004027b8
push str.LAMPs__Lean_And_Mean_Points__cycles__sqrt_size__r_n
call fcn.004027b8
call fcn.004027f0
push 0
call sub.kernel32.dll_ExitProcess