Function at 0x401000
Capabilities:
Execute anti-debugging instructions

Disassembly:
push 1
call 0x40142a
mov dword [0x404470], 0xc350
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 [0x404474], 0xc350
xor eax, eax
cpuid
lea esp, [esp]
mov edi, edi
sub dword [0x404474], 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 [0x404474], 0xc350
xor eax, eax
cpuid
lea ecx, [ecx]
mov ecx, section..data
mov eax, str.This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_...
mov edx, dword [ecx]
add ecx, 4
cmp dl, byte [eax]
jne 0x401098
cmp dh, byte [eax + 1]
jne 0x401098
shr edx, 0x10
add eax, 4
cmp dl, byte [eax - 2]
jne 0x401098
cmp dh, byte [eax - 1]
je 0x40107a
sub dword [0x404474], 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 [0x404468], eax
mov dword [0x40446c], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404468]
fild dword [0x404470]
fdivp st(1)
fistp qword [0x404468]
mov eax, dword [0x404468]
push 0x404478
push eax
call fcn.004014c0
push 0x404478
call fcn.00401528
push str._tcycles_for_LingoCMP__2600_bytes_r_n
call fcn.00401528
mov dword [0x404470], 0xc350
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 [0x404474], 0xc350
xor eax, eax
cpuid
lea esp, [esp]
lea ecx, [ecx]
sub dword [0x404474], 1
jne 0x401140
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 [0x404474], 0xc350
xor eax, eax
cpuid
lea ecx, [ecx]
mov ecx, section..data
mov eax, str.This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_...
mov ebx, 0x145
mov edx, dword [ecx]
mov esi, dword [eax]
xor edx, esi
jne 0x40119e
add ecx, 4
add eax, 4
mov edx, dword [ecx]
mov esi, dword [eax]
xor edx, esi
jne 0x40119e
add ecx, 4
add eax, 4
dec ebx
jne 0x40117f
sub dword [0x404474], 1
jne 0x401170
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 [0x404468], eax
mov dword [0x40446c], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404468]
fild dword [0x404470]
fdivp st(1)
fistp qword [0x404468]
mov eax, dword [0x404468]
push 0x4044af
push eax
call fcn.004014c0
push 0x4044af
call fcn.00401528
push str._tcycles_for_frktons_with_XOR___2600_bytes_r_n
call fcn.00401528
mov dword [0x404470], 0xc350
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 [0x404474], 0xc350
xor eax, eax
cpuid
lea esp, [esp]
sub dword [0x404474], 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 [0x404474], 0xc350
xor eax, eax
cpuid
lea ecx, [ecx]
mov ecx, section..data
mov eax, str.This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_...
mov ebx, 0x145
mov edx, dword [ecx]
mov esi, dword [eax]
cmp edx, esi
jne 0x40129e
add ecx, 4
add eax, 4
mov edx, dword [ecx]
mov esi, dword [eax]
cmp edx, esi
jne 0x40129e
add ecx, 4
add eax, 4
dec ebx
jne 0x40127f
sub dword [0x404474], 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 [0x404468], eax
mov dword [0x40446c], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404468]
fild dword [0x404470]
fdivp st(1)
fistp qword [0x404468]
mov eax, dword [0x404468]
push 0x4044f0
push eax
call fcn.004014c0
push 0x4044f0
call fcn.00401528
push str._tcycles_for_frktons_with_CMP___2600_bytes_r_n
call fcn.00401528
mov dword [0x404470], 0xc350
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 [0x404474], 0xc350
xor eax, eax
cpuid
lea esp, [esp]
sub dword [0x404474], 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 [0x404474], 0xc350
xor eax, eax
cpuid
lea ecx, [ecx]
mov ecx, section..data
mov eax, str.This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_This_is_a_string__100_characters_long__that_serves_for_a_variety_of_purposes__such_as_testing_algos_...
mov ebx, 0x145
mov edx, dword [ecx]
cmp edx, dword [eax]
jne 0x40139a
add ecx, 4
add eax, 4
mov edx, dword [ecx]
cmp edx, dword [eax]
jne 0x40139a
add ecx, 4
add eax, 4
dec ebx
jne 0x40137f
sub dword [0x404474], 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 [0x404468], eax
mov dword [0x40446c], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x404468]
fild dword [0x404470]
fdivp st(1)
fistp qword [0x404468]
mov eax, dword [0x404468]
push 0x404530
push eax
call fcn.004014c0
push 0x404530
call fcn.00401528
push str._tcycles_for_frktons_with_CMP_II___2600_bytes_r_n
call fcn.00401528
push str._r_n____ok_____r
call fcn.00401528
call fcn.00401560
push 0x404581
call fcn.00401528
push 0
call sub.kernel32.dll_ExitProcess
push 1
pushal
sub esp, 0x50
mov edi, esp
xor ebp, ebp
lea eax, [ebp - 0x7ffffffe]
cpuid
stosd dword es:[edi], eax
mov eax, ebx
stosd dword es:[edi], eax
mov eax, ecx
stosd dword es:[edi], eax
mov eax, edx
stosd dword es:[edi], eax
inc ebp
cmp ebp, 3
jb 0x401432
push 1
pop eax
cpuid
xor ebx, ebx
xor esi, esi
bt edx, 0x19
adc ebx, esi
bt edx, 0x1a
adc ebx, esi
bt ecx, esi
adc ebx, esi
bt ecx, 9
adc ebx, esi
dec dword [esp + 0x74]
jne 0x4014ad
mov edi, esp
cmp byte [edi], 0x20
jne 0x40147a
inc edi
jmp 0x401472
push edi
call fcn.00401528
or ebx, ebx
je 0x4014ad
push str.__SSE
call fcn.00401528
push 0x40458a
push ebx
call fcn.004014c0
push 0x40458a
call fcn.00401528
push 0x4045a0
call fcn.00401528
add esp, 0x50
mov dword [esp + 0x1c], ebx
popal
ret 4