Function at 0x401000
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
lea r15, str.Measure_CPU_clock_frequency
mov r14d, 1
call fcn.004016c9
jb 0x401526
inc r14d
cmp eax, 1
jb 0x401526
inc r14d
mov eax, 1
cpuid
test dl, 0x10
je 0x401526
inc r14d
call fcn.004016f3
jb 0x401526
inc r14d
test rax, rax
je 0x401526
test rdx, rdx
je 0x401526
mov qword [0x00402364], rax
mov qword [0x0040236c], rdx
lea r15, str.OS_API_functions_detection
lea rcx, str.KERNEL32.DLL
call qword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov r14d, 1
test rax, rax
je 0x401526
xchg rbx, rax
mov rcx, rbx
lea rdx, str.VirtualAllocExNuma
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
inc r14d
test rax, rax
je 0x401526
mov qword [0x0040237c], rax
mov rcx, rbx
lea rdx, str.SetThreadAffinityMask
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
inc r14d
test rax, rax
je 0x401526
mov qword [0x00402384], rax
lea r15, str.NUMA_aware_memory_allocation
xor r14d, r14d
call qword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
test rax, rax
je 0x401526
xchg rcx, rax
mov eax, 0x201000
test eax, 0xfff
je 0x40110a
and rax, 0xfffffffffffff000
add rax, 0x1000
lea r8, [rax + 0x1000]
mov qword [0x0040235c], r8
xor edx, edx
mov r9, 0x3000
mov eax, dword [0x00402334]
push rax
push 4
sub rsp, 0x20
call qword [0x0040237c]
add rsp, 0x30
test rax, rax
je 0x401526
mov qword [0x00402354], rax
test eax, 0xfff
je 0x40115b
and rax, 0xfffffffffffff000
add rax, 0x1000
mov qword [0x0040234c], rax
cld
mov rdi, qword [0x0040234c]
mov rcx, qword [0x0040235c]
shr rcx, 3
movabs rax, 0x2020202041544144
rep stosq qword [rdi], rax
lea r15, str.Set_CPU_affinity_mask
mov rbx, qword [0x0040233c]
test rbx, rbx
je 0x4011c8
call qword [sym.imp.KERNEL32.DLL_GetCurrentThread]
mov r14d, 1
test rax, rax
je 0x401526
xchg rcx, rax
mov rdx, rbx
call qword [sym.imp.KERNEL32.DLL_SetThreadAffinityMask]
inc r14d
test rax, rax
je 0x401526
mov qword [0x00402344], rax
mov rdi, qword [0x0040234c]
xor eax, eax
stosq qword [rdi], rax
mov eax, dword [0x00402328]
stosq qword [rdi], rax
mov eax, dword [0x0040232c]
stosq qword [rdi], rax
mov eax, dword [0x00402338]
stosq qword [rdi], rax
stosq qword [rdi], rax
mov eax, dword [0x00402330]
stosq qword [rdi], rax
push rdi
lea rsi, str.SRC_FILE.TMP
lodsb al, byte [rsi]
stosb byte [rdi], al
cmp al, 0
jne 0x4011fd
pop rdi
lea rsi, str.DST_FILE.TMP
add rdi, 0x3d0
lodsb al, byte [rsi]
stosb byte [rdi], al
cmp al, 0
jne 0x401212
mov rsi, qword [0x0040234c]
lea rdi, [rsi + 0x100800]
call fcn.00401785
mov rax, qword [rdi]
add qword [0x004022f8], rax
mov rax, qword [rdi + 8]
add qword [0x004022f0], rax
mov rax, qword [rdi + 0x10]
add qword [0x00402300], rax
lea r15, str.Restore_affinity
cmp qword [0x0040233c], 0
je 0x401283
call qword [sym.imp.KERNEL32.DLL_GetCurrentThread]
test rax, rax
je 0x401526
xchg rcx, rax
mov rdx, qword [0x00402344]
call qword [sym.imp.KERNEL32.DLL_SetThreadAffinityMask]
test rax, rax
je 0x401526
lea r15, str.Release_memory
call qword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
test rax, rax
je 0x401526
xchg rcx, rax
mov rdx, qword [0x00402354]
xor r8d, r8d
mov r9d, 0x8000
call qword [sym.imp.KERNEL32.DLL_VirtualFreeEx]
test rax, rax
je 0x401526
lea r15, str.Calculate_results
mov r14d, 1
mov eax, 1
cpuid
test dl, 1
je 0x401526
wait
fninit
fild dword [0x00402328]
fild dword [0x0040232c]
fild dword [0x00402330]
fmul st(1)
fmul st(2)
fild qword [0x00402318]
fild qword [0x00402320]
fild qword [0x004022f0]
fmul st(2)
fdiv st(1)
fdivr st(3)
fistp qword [0x004022d8]
fild qword [0x004022f8]
fmul st(2)
fdiv st(1)
fdivr st(3)
fistp qword [0x004022e0]
fild qword [0x00402300]
fmul st(2)
fdiv st(1)
fdivr st(3)
fistp qword [0x004022e8]
lea rsi, str.Paths:
lea rdi, [0x0040238c]
call fcn.004015b1
push rsi
lea rsi, str.SRC_FILE.TMP
call fcn.004015b1
mov ax, 0x202c
stosw word [rdi], ax
lea rsi, str.DST_FILE.TMP
call fcn.004015b1
pop rsi
call fcn.004015a8
mov eax, dword [0x00402328]
mov rcx, rax
call fcn.0040165e
call fcn.004015a8
mov eax, dword [0x0040232c]
mov bl, 0
call fcn.004015c4
mul rcx
call fcn.004015a8
call fcn.0040165e
call fcn.004015a8
mov eax, dword [0x00402338]
call fcn.0040160e
mov al, 0x68
stosb byte [rdi], al
call fcn.004015a8
mov eax, dword [0x00402330]
call fcn.004015c4
call fcn.004015a8
mov rax, qword [0x0040235c]
call fcn.0040165e
call fcn.004015a8
mov rax, qword [0x0040234c]
call fcn.00401603
mov al, 0x68
stosb byte [rdi], al
call fcn.004015a8
mov eax, dword [0x00402334]
call fcn.004015c4
call fcn.004015a8
mov rax, qword [0x0040233c]
test rax, rax
je 0x40140a
call fcn.00401603
mov al, 0x68
stosb byte [rdi], al
jmp 0x401410
mov eax, 0x612f6e20
stosd dword [rdi], eax
call fcn.004015a8
mov rax, qword [0x00402344]
test rax, rax
je 0x40142b
call fcn.00401603
mov al, 0x68
stosb byte [rdi], al
jmp 0x401431
mov eax, 0x612f6e20
stosd dword [rdi], eax
call fcn.004015a8
mov rax, qword [0x00402364]
xor edx, edx
mov rcx, 0x186a0
div rcx
shld rdx, rax, 0x20
test edx, edx
jne 0x40145f
call fcn.0040163c
mov eax, 0x7a484d20
stosd dword [rdi], eax
jmp 0x401462
mov al, 0x3f
stosb byte [rdi], al
call fcn.004015a8
mov rax, qword [0x0040236c]
xor edx, edx
mov rcx, 0x64
div rcx
shld rdx, rax, 0x20
test edx, edx
jne 0x401490
call fcn.0040163c
mov eax, 0x20737020
stosd dword [rdi], eax
jmp 0x401493
mov al, 0x3f
stosb byte [rdi], al
call fcn.004015a8
mov rax, qword [0x004022d8]
test rax, rax
je 0x4014b4
call fcn.0040163c
mov al, 0x20
stosb byte [rdi], al
mov eax, 0x5350424d
stosd dword [rdi], eax
jmp 0x4014b7
mov al, 0x3f
stosb byte [rdi], al
call fcn.004015a8
mov rax, qword [0x004022e0]
test rax, rax
je 0x4014d8
call fcn.0040163c
mov al, 0x20
stosb byte [rdi], al
mov eax, 0x5350424d
stosd dword [rdi], eax
jmp 0x4014db
mov al, 0x3f
stosb byte [rdi], al
call fcn.004015a8
mov rax, qword [0x004022e8]
test rax, rax
je 0x4014fc
call fcn.0040163c
mov al, 0x20
stosb byte [rdi], al
mov eax, 0x5350424d
stosd dword [rdi], eax
jmp 0x4014ff
mov al, 0x3f
stosb byte [rdi], al
mov al, 0
stosb byte [rdi], al
xor ecx, ecx
lea rdx, [0x0040238c]
lea r8, str.NativeBench_v0.20_for_Windows_x64
mov r9d, 0x40
call qword [sym.imp.USER32.DLL_MessageBoxA]
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_ExitProcess]
cld
lea rsi, str.Disk_benchmarks_failed_r_nError_phase:
lea rdi, [0x0040238c]
movsb byte [rdi], byte [rsi]
cmp byte [rsi], 0
jne 0x401535
mov rsi, r15
movsb byte [rdi], byte [rsi]
cmp byte [rsi], 0
jne 0x40153e
mov ax, 0xa0d
stosw word [rdi], ax
lea rsi, str.Error_status:
movsb byte [rdi], byte [rsi]
cmp byte [rsi], 0
jne 0x401551
xchg r14, rax
test rax, rax
jne 0x401564
call qword [sym.imp.KERNEL32.DLL_GetLastError]
call fcn.00401603
mov ax, 0x68
stosw word [rdi], ax
xor ecx, ecx
lea rdx, [0x0040238c]
xor r8d, r8d
mov r9, 0x10
call qword [sym.imp.USER32.DLL_MessageBoxA]
jmp 0x40151e