Function at 0x401000
Capabilities:
Terminate process

Disassembly:
mov dword [0x402370], str.Measure_CPU_clock_frequency
mov dword [0x402374], 1
call fcn.0040169f
jb 0x40151c
inc dword [0x402374]
cmp eax, 1
jb 0x40151c
inc dword [0x402374]
mov eax, 1
cpuid
test dl, 0x10
je 0x40151c
inc dword [0x402374]
call fcn.004016c9
jb 0x40151c
inc dword [0x402374]
mov dword [0x402350], ebx
mov dword [0x402354], ecx
or ecx, ebx
je 0x40151c
mov dword [0x402358], eax
mov dword [0x40235c], edx
or eax, edx
je 0x40151c
mov dword [0x402370], str.OS_API_functions_detection
push str.KERNEL32.DLL
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [0x402374], 1
test eax, eax
je 0x40151c
xchg ebx, eax
push str.VirtualAllocExNuma
push ebx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
inc dword [0x402374]
test eax, eax
je 0x40151c
mov dword [0x402368], eax
push str.SetThreadAffinityMask
push ebx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
inc dword [0x402374]
test eax, eax
je 0x40151c
mov dword [0x40236c], eax
mov dword [0x402370], 0x402037
mov dword [0x402374], 0
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
test eax, eax
je 0x40151c
xchg ecx, eax
mov eax, 0x1402000
test eax, 0xfff
je 0x401121
and eax, 0xfffff000
add eax, 0x1000
add eax, 0x1000
mov dword [0x40234c], eax
push dword [0x402334]
push 4
push 0x3000
push eax
push 0
push ecx
call dword [0x402368]
test eax, eax
je 0x40151c
mov dword [0x402348], eax
test eax, 0xfff
je 0x401160
and eax, 0xfffff000
add eax, 0x1000
mov dword [0x402344], eax
cld
mov edi, dword [0x402344]
mov ecx, dword [0x40234c]
shr ecx, 2
mov eax, 0x41544144
rep stosd dword es:[edi], eax
mov dword [0x402370], 0x402061
mov ebx, dword [0x40233c]
test ebx, ebx
je 0x4011c3
call dword [sym.imp.KERNEL32.DLL_GetCurrentThread]
mov dword [0x402374], 1
test eax, eax
je 0x40151c
push ebx
push eax
call dword [sym.imp.KERNEL32.DLL_SetThreadAffinityMask]
inc dword [0x402374]
test eax, eax
je 0x40151c
mov dword [0x402340], eax
mov edi, dword [0x402344]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [0x402328]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
mov eax, dword [0x40232c]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
mov eax, dword [0x402338]
stosd dword es:[edi], eax
push eax
xor eax, eax
stosd dword es:[edi], eax
pop eax
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
mov eax, dword [0x402330]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
push edi
lea esi, str.SRC_FILE.TMP
lodsb al, byte [esi]
stosb byte es:[edi], al
cmp al, 0
jne 0x4011fe
pop edi
lea esi, str.DST_FILE.TMP
add edi, 0x3d0
lodsb al, byte [esi]
stosb byte es:[edi], al
cmp al, 0
jne 0x401211
mov esi, dword [0x402344]
lea edi, [esi + 0xa01000]
call fcn.00401748
mov eax, dword [edi]
mov edx, dword [edi + 4]
add dword [0x4022f8], eax
adc dword [0x4022fc], edx
mov eax, dword [edi + 8]
mov edx, dword [edi + 0xc]
add dword [0x4022f0], eax
adc dword [0x4022f4], edx
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
add dword [0x402300], eax
adc dword [0x402304], edx
mov dword [0x402370], 0x4020c7
mov dword [0x402374], 0
cmp dword [0x40233c], 0
je 0x40129d
call dword [sym.imp.KERNEL32.DLL_GetCurrentThread]
test eax, eax
je 0x40151c
push dword [0x402340]
push eax
call dword [sym.imp.KERNEL32.DLL_SetThreadAffinityMask]
test eax, eax
je 0x40151c
mov dword [0x402370], str.Release_memory
mov dword [0x402374], 0
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
test eax, eax
je 0x40151c
push 0x8000
push 0
push dword [0x402348]
push eax
call dword [sym.imp.KERNEL32.DLL_VirtualFreeEx]
test eax, eax
je 0x40151c
mov dword [0x402370], str.Calculate_results
mov dword [0x402374], 1
mov eax, 1
cpuid
test dl, 1
je 0x40151c
wait
fninit
fild dword [0x402328]
fild dword [0x40232c]
fild dword [0x402330]
fmul st(1)
fmul st(2)
fild qword [0x402318]
fild qword [0x402320]
fild qword [0x4022f0]
fmul st(2)
fdiv st(1)
fdivr st(3)
fistp qword [0x4022d8]
fild qword [0x4022f8]
fmul st(2)
fdiv st(1)
fdivr st(3)
fistp qword [0x4022e0]
fild qword [0x402300]
fmul st(2)
fdiv st(1)
fdivr st(3)
fistp qword [0x4022e8]
lea esi, str.Path:
lea edi, [0x402380]
call fcn.004015a1
push esi
lea esi, str.SRC_FILE.TMP
call fcn.004015a1
mov ax, 0x202c
stosw word es:[edi], ax
lea esi, str.DST_FILE.TMP
call fcn.004015a1
pop esi
call fcn.00401598
mov eax, dword [0x402328]
mov ecx, eax
call fcn.00401644
call fcn.00401598
mov eax, dword [0x40232c]
mov bl, 0
call fcn.004015b2
mul ecx
call fcn.00401598
call fcn.00401644
call fcn.00401598
mov eax, dword [0x402338]
call fcn.004015f8
mov al, 0x68
stosb byte es:[edi], al
call fcn.00401598
mov eax, dword [0x402330]
call fcn.004015b2
call fcn.00401598
mov eax, dword [0x40234c]
call fcn.00401644
call fcn.00401598
mov eax, dword [0x402344]
call fcn.004015f8
mov al, 0x68
stosb byte es:[edi], al
call fcn.00401598
mov eax, dword [0x402334]
call fcn.004015b2
call fcn.00401598
mov eax, dword [0x40233c]
test eax, eax
je 0x401420
call fcn.004015f8
mov al, 0x68
stosb byte es:[edi], al
jmp 0x401426
mov eax, 0x612f6e20
stosd dword es:[edi], eax
call fcn.00401598
mov eax, dword [0x402340]
test eax, eax
je 0x40143e
call fcn.004015f8
mov al, 0x68
stosb byte es:[edi], al
jmp 0x401444
mov eax, 0x612f6e20
stosd dword es:[edi], eax
call fcn.00401598
mov eax, dword [0x402350]
mov edx, dword [0x402354]
mov ecx, 0x186a0
cmp edx, ecx
jae 0x40146c
div ecx
call fcn.00401622
mov eax, 0x7a484d20
stosd dword es:[edi], eax
jmp 0x40146f
mov al, 0x3f
stosb byte es:[edi], al
call fcn.00401598
mov eax, dword [0x402358]
mov edx, dword [0x40235c]
mov ecx, 0x64
cmp edx, ecx
jae 0x401497
div ecx
call fcn.00401622
mov eax, 0x20737020
stosd dword es:[edi], eax
jmp 0x40149a
mov al, 0x3f
stosb byte es:[edi], al
call fcn.00401598
mov eax, dword [0x4022d8]
test eax, eax
je 0x4014b8
call fcn.00401622
mov al, 0x20
stosb byte es:[edi], al
mov eax, 0x5350424d
stosd dword es:[edi], eax
jmp 0x4014bb
mov al, 0x3f
stosb byte es:[edi], al
call fcn.00401598
mov eax, dword [0x4022e0]
test eax, eax
je 0x4014d9
call fcn.00401622
mov al, 0x20
stosb byte es:[edi], al
mov eax, 0x5350424d
stosd dword es:[edi], eax
jmp 0x4014dc
mov al, 0x3f
stosb byte es:[edi], al
call fcn.00401598
mov eax, dword [0x4022e8]
test eax, eax
je 0x4014fa
call fcn.00401622
mov al, 0x20
stosb byte es:[edi], al
mov eax, 0x5350424d
stosd dword es:[edi], eax
jmp 0x4014fd
mov al, 0x3f
stosb byte es:[edi], al
mov al, 0
stosb byte es:[edi], al
push 0x40
push str.NativeBench_v0.22_for_Windows_ia32
push 0x402380
push 0
call dword [sym.imp.USER32.DLL_MessageBoxA]
xor ecx, ecx
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
cld
lea esi, str.Disk_benchmarks_failed_r_nError_phase:
lea edi, [0x402380]
movsb byte es:[edi], byte [esi]
cmp byte [esi], 0
jne 0x401529
mov esi, dword [0x402370]
movsb byte es:[edi], byte [esi]
cmp byte [esi], 0
jne 0x401535
mov ax, 0xa0d
stosw word es:[edi], ax
lea esi, str.Error_status:
movsb byte es:[edi], byte [esi]
cmp byte [esi], 0
jne 0x401547
mov eax, dword [0x402374]
test eax, eax
jne 0x40155c
call dword [sym.imp.KERNEL32.DLL_GetLastError]
call fcn.004015f8
mov ax, 0x68
stosw word es:[edi], ax
push 0x10
push 0
push 0x402380
push 0
call dword [sym.imp.USER32.DLL_MessageBoxA]
jmp 0x401514