Function at 0x1400062d0
Capabilities:
Check for time delay via queryperformancecounter
Create thread
Terminate thread

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x128]
sub rsp, 0x228
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov qword [rsp + 0x60], r9
mov r12, r8
mov qword [rsp + 0x68], r8
mov r15, rdx
mov qword [rsp + 0x50], rdx
mov rbx, rcx
mov rax, qword [rbp + 0x190]
mov qword [rsp + 0x78], rax
mov r13d, 1
mov qword [rsp + 0x70], r13
mov eax, r13d
xchg dword [0x140051dd8], eax
cmp eax, r13d
jne 0x14000634e
lea rcx, str.FATAL_ERROR:_I_O_Request_Generator_already_running_n
jmp 0x140007506
xor esi, esi
mov dword [0x140051dac], esi
mov dword [0x140051dc8], esi
mov dword [0x140051f08], r13d
mov dword [0x140051ddc], esi
mov dword [0x140050970], esi
mov qword [rcx], rsi
mov dword [0x140051dcc], esi
mov qword [0x140051dd0], rsi
mov qword [rsp + 0x58], rsi
xor edx, edx
mov r8d, 0x110
lea rcx, [0x140051df0]
call fcn.140020020
mov ecx, 0x84
call fcn.14002755c
mov qword [0x140051dd0], rax
test rax, rax
jne 0x1400063ba
lea rcx, str.ERROR:_Memory_allocation_for_groups_and_procs_structure_failed__r_n
jmp 0x140007506
call fcn.1400025f0
test al, al
jne 0x1400063cf
lea rcx, str.ERROR:_Failed_to_get_groups_and_processors_information__r_n
jmp 0x140007506
mov rax, qword [rbx]
test rax, rax
je 0x1400063f0
mov r8d, 0x869
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.nullptr___hNTDLL
call fcn.140027440
xor r8d, r8d
xor edx, edx
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [rbx], rax
mov rax, qword [rbx]
test rax, rax
je 0x1400074ff
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140051f10], rax
test rax, rax
je 0x1400074ff
xor eax, eax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rax
lea rdx, [rbp + 0x58]
mov rcx, r12
call fcn.140002050
nop
mov rdi, qword [rbp + 0x58]
mov rbx, rdi
mov qword [rbp + 0xd0], rbx
mov r14, qword [rbp + 0x60]
mov qword [rbp - 0x68], r14
cmp rdi, r14
je 0x1400064a1
mov qword [rbp - 0x68], r14
nop dword [rax + rax]
cmp qword [rbx + 0x90], 0
jbe 0x14000648a
mov rcx, rbx
call fcn.140015af0
test al, al
je 0x1400065bf
mov qword [rbp - 8], rbx
add rbx, 0xc8
mov qword [rbp + 0xd0], rbx
cmp rbx, r14
jne 0x140006470
mov rbx, rdi
mov qword [rbp + 0xe8], rbx
mov qword [rbp - 0x60], r14
cmp rdi, r14
je 0x1400065c6
mov qword [rbp - 0x60], r14
nop dword [rax]
cmp qword [rbx + 0x60], 0
jbe 0x14000653a
cmp byte [rbx + 0x59], 0
jne 0x14000653a
lea rdx, [rbp + 0xf0]
mov rcx, rbx
call fcn.140001fe0
nop
lea r8, [rbp + 0xf0]
cmp qword [rbp + 0x108], 0x10
cmovae r8, qword [rbp + 0xf0]
test r8, r8
je 0x140006556
movzx eax, byte [r8]
test al, al
je 0x140006556
cmp al, 0x23
je 0x14000652e
cmp byte [r8 + 1], 0x3a
jne 0x140006513
cmp byte [r8 + 2], 0
je 0x14000652e
movzx eax, byte [r15 + 0x18]
mov byte [rsp + 0x20], al
movzx r9d, byte [rbx + 0x44]
mov rdx, qword [rbx + 0x60]
call fcn.140005870
test al, al
je 0x140006563
lea rcx, [rbp + 0xf0]
call fcn.1400017d0
mov qword [rbp], rbx
add rbx, 0xc8
mov qword [rbp + 0xe8], rbx
cmp rbx, r14
je 0x1400065c6
jmp 0x1400064c0
lea rcx, str.You_have_to_provide_a_filename_n
call fcn.140002900
nop
mov rax, qword [rbp + 0x108]
cmp rax, 0x10
jb 0x1400065bf
inc rax
mov rcx, qword [rbp + 0xf0]
cmp rax, 0x1000
jb 0x1400065ba
test cl, 0x1f
je 0x14000658d
call fcn.140025594
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14000659c
call fcn.140025594
int3
sub rcx, rax
cmp rcx, 8
jae 0x1400065ab
call fcn.140025594
int3
cmp rcx, 0x27
jbe 0x1400065b7
call fcn.140025594
int3
mov rcx, rax
call fcn.14001d3f4
xor bl, bl
jmp 0x1400074f1
mov eax, dword [r12 + 0x28]
mov dword [rsp + 0x38], eax
cmp eax, 1
jae 0x14000660e
mov qword [rbp + 0xc8], rdi
mov qword [rbp - 0x58], r14
cmp rdi, r14
je 0x14000660e
mov qword [rbp - 0x58], r14
nop dword [rax + rax]
add eax, dword [rdi + 0x48]
mov qword [rbp - 0x30], rdi
add rdi, 0xc8
cmp rdi, r14
jne 0x1400065f0
mov qword [rbp + 0xc8], rdi
mov dword [rsp + 0x38], eax
xor ecx, ecx
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rcx
mov qword [rsp + 0x48], rax
mov rdx, rax
lea rcx, [rbp + 0x40]
call fcn.140008590
nop
xor eax, eax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov edx, dword [0x140051dc8]
lea rcx, [rbp + 0x28]
call fcn.140008f20
nop
xor eax, eax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov edx, dword [0x140051dc8]
lea rcx, [rbp + 0x10]
call fcn.140008f20
nop
xor eax, eax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x80], rax
mov edx, dword [0x140051dc8]
lea rcx, [rbp + 0x70]
call fcn.140008f20
nop
lea r9, [0x14003f7e0]
xor r8d, r8d
mov edx, r13d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x1400066b3
lea rcx, str.Error_creating_the_start_event_n
jmp 0x1400066e1
cmp byte [r12 + 0x48], 0
je 0x1400066ed
lea r9, [0x14003f7e0]
xor r8d, r8d
mov edx, r13d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x1400066ed
lea rcx, str.Error_creating_the_end_event_n
call fcn.140002900
xor bl, bl
jmp 0x1400074c9
mov dword [0x140051f08], r13d
movzx edi, si
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], esi
mov byte [rbp + 8], 0
mov qword [rbp - 0x78], rsi
mov r15, qword [rbp + 0x60]
mov rcx, r15
mov rbx, qword [rbp + 0x58]
sub rcx, rbx
movabs rax, 0xa3d70a3d70a3d70b
imul rcx
add rdx, rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], rsi
lea r8, [rbp - 0x78]
lea rcx, [rbp + 0x98]
call fcn.140009740
nop
mov rcx, qword [rsp + 0x60]
add rcx, 0x178
mov qword [rbp - 0x70], rcx
mov r13, qword [rcx + 8]
mov r14, qword [rcx]
cmp r14, r13
je 0x140006787
mov rcx, r14
call fcn.140009a00
add r14, 0x18
cmp r14, r13
jne 0x140006772
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
mov qword [rcx + 8], rax
mov rdx, qword [rsp + 0x48]
call fcn.140008f70
mov r13d, esi
cmp dword [rsp + 0x38], esi
jbe 0x140006b99
nop word [rax + rax]
mov r8d, r13d
lea rdx, str.creating_thread__u_n
mov rax, qword [rsp + 0x50]
movzx ecx, byte [rax + 0x18]
call fcn.140002960
mov ecx, 0x158
call fcn.14001d6a4
mov r14, rax
mov qword [rsp + 0x48], rax
xor edx, edx
mov r8d, 0x158
mov rcx, rax
call fcn.140020020
mov qword [r14], rsi
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], rsi
mov qword [r14 + 0x20], rsi
mov qword [r14 + 0x28], rsi
mov qword [r14 + 0x30], rsi
mov qword [r14 + 0x38], rsi
mov qword [r14 + 0x40], rsi
mov qword [r14 + 0x48], rsi
mov qword [r14 + 0x50], rsi
mov qword [r14 + 0x58], rsi
mov qword [r14 + 0x60], rsi
mov qword [r14 + 0x68], rsi
mov qword [r14 + 0x70], rsi
mov qword [r14 + 0x78], rsi
mov qword [r14 + 0x80], rsi
mov qword [r14 + 0x88], rsi
mov qword [r14 + 0x90], rsi
mov qword [r14 + 0x98], rsi
mov qword [r14 + 0xa0], rsi
mov qword [r14 + 0xa8], rsi
mov qword [r14 + 0xb0], rsi
mov qword [r14 + 0xb8], rsi
mov qword [r14 + 0xc0], rsi
mov qword [r14 + 0xc8], rsi
mov qword [r14 + 0xd0], rsi
mov qword [r14 + 0xd8], rsi
mov qword [r14 + 0xe0], rsi
mov qword [r14 + 0xe8], rsi
mov qword [r14 + 0xf0], rsi
mov qword [r14 + 0xf8], rsi
mov qword [r14 + 0x100], rsi
mov qword [r14 + 0x108], rsi
mov dword [r14 + 0x110], esi
mov r10d, esi
cmp dword [r12 + 0x28], esi
jbe 0x1400068db
lea rdx, [rbp + 0x58]
lea rcx, [r14 + 0x10]
call fcn.140008a20
mov rax, qword [rbp + 0x98]
mov qword [r14 + 0x100], rax
mov r10d, r13d
jmp 0x140006a17
mov rcx, rsi
mov r12, rsi
mov rdi, qword [rbp + 0x98]
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xb8], rbx
mov qword [rbp - 0x80], r15
cmp rbx, r15
je 0x140006a13
mov r8d, r13d
mov qword [rsp + 0x48], r8
nop dword [rax + rax]
mov edx, dword [rbx + 0x48]
add rcx, rdx
cmp r8, rcx
jb 0x14000694d
add r12, rdx
mov qword [rbp - 0x18], rbx
add rbx, 0xc8
mov qword [rbp + 0xb8], rbx
mov qword [rbp - 0x28], rdi
add rdi, 8
mov qword [rbp + 0xc0], rdi
mov qword [rbp - 0x80], r15
cmp rbx, r15
jne 0x140006910
jmp 0x140006a13
mov rdx, rbx
lea rcx, [r14 + 0x10]
call fcn.140008950
mov qword [r14 + 0x100], rdi
mov rax, qword [rsp + 0x48]
sub rax, r12
mov ecx, dword [rbx + 0x48]
xor edx, edx
div rcx
mov rdi, rdx
mov qword [rsp + 0x48], rdx
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.140001fe0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14000698f
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8d, r13d
lea rdx, str.thread__u_is_relative_thread__u_for__s_n
mov rax, qword [rsp + 0x50]
movzx ecx, byte [rax + 0x18]
call fcn.140002960
nop
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1400069fe
inc rax
mov rcx, qword [rbp - 0x50]
cmp rax, 0x1000
jb 0x1400069f9
test cl, 0x1f
jne 0x140006b52
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140006b4c
sub rcx, rax
cmp rcx, 8
jb 0x140006b46
cmp rcx, 0x27
ja 0x140006b40
mov rcx, rax
call fcn.14001d3f4
mov qword [rbp - 0x38], 0xf
mov qword [rbp - 0x40], rsi
mov byte [rbp - 0x50], 0
mov r10, qword [rsp + 0x48]
mov edi, dword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
mov qword [r14], rax
mov r15, qword [rsp + 0x68]
mov qword [r14 + 8], r15
mov rbx, qword [rsp + 0x40]
mov qword [r14 + 0x148], rbx
mov rax, qword [rsp + 0x58]
mov qword [r14 + 0x150], rax
mov dword [r14 + 0x10c], r13d
mov dword [r14 + 0x110], r10d
lea rax, [rbp + 8]
mov qword [r14 + 0x118], rax
lea rax, [rbp + 0x88]
mov qword [r14 + 0x120], rax
mov ecx, dword [r15 + 0x24]
add ecx, r13d
mov dword [r14 + 0x108], ecx
cmp byte [r15 + 0x2c], 0
je 0x140006acb
mov word [r14 + 0x130], di
mov ebx, dword [rsp + 0x34]
mov dword [r14 + 0x134], ebx
movzx eax, di
mov rdx, qword [0x140051dd0]
mov ecx, dword [rdx + rax*4 + 4]
dec ecx
cmp ebx, ecx
jne 0x140006ac0
mov dword [rsp + 0x34], esi
movzx edx, word [rdx]
dec edx
movzx eax, di
lea ecx, [rdi + 1]
mov edi, esi
cmp eax, edx
cmovne di, cx
mov dword [rsp + 0x30], edi
jmp 0x140006ac6
inc ebx
mov dword [rsp + 0x34], ebx
mov rbx, qword [rsp + 0x40]
mov r12d, r13d
lea rcx, [r12 + r12*2]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x178]
lea rcx, [rax + rcx*8]
mov qword [r14 + 0x128], rcx
lock inc dword [0x140051dac]
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9, r14
lea r8, [0x140003a40]
mov edx, 0x10000
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x140006b58
mov rbx, qword [rbp + 0x40]
mov qword [rbx + r12*8], rax
inc r13d
cmp r13d, dword [rsp + 0x38]
jae 0x140006ba2
mov r15, qword [rbp + 0x60]
mov rbx, qword [rbp + 0x58]
mov r12, qword [rsp + 0x68]
jmp 0x1400067b0
call fcn.140025594
int3
call fcn.140025594
int3
call fcn.140025594
int3
call fcn.140025594
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.ERROR:_unable_to_create_thread__error_code:__u__n
call fcn.140002900
lock dec dword [0x140051dac]
lea r8, [rbp + 0x40]
mov rdx, rbx
call fcn.140005ce0
mov rcx, r14
call fcn.1400055a0
mov edx, 0x158
mov rcx, r14
call fcn.14001d3fc
jmp 0x1400071bb
mov rbx, qword [rbp + 0x40]
mov r15, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov r13d, 1
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
mov rdi, qword [rsp + 0x78]
test rdi, rdi
je 0x140006c0a
cmp dword [rdi], 0x18
jb 0x140006bfe
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140006bfe
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140006bfe
lea rcx, str.Error_during_WaitForSingleObject_n
call fcn.140002900
lea r8, [rbp + 0x40]
mov rdx, qword [rsp + 0x40]
call fcn.140005ce0
jmp 0x1400071bb
cmp dword [rdi], 0x10
jb 0x140006c0a
cmp qword [rdi + 8], 0
jne 0x140006c12
mov r13d, esi
mov qword [rsp + 0x70], r13
mov r12d, esi
lea rdx, str.starting_warm_up..._n
mov r14, qword [rsp + 0x50]
movzx ecx, byte [r14 + 0x18]
call fcn.140002960
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x140006cad
lea rcx, str.Error_signaling_start_event_n
call fcn.140002900
mov r14, qword [rbp + 0x48]
sub r14, rbx
sar r14, 3
test r14, r14
je 0x1400071bb
mov rax, rsi
nop dword [rax]
lea rdi, [rbx + rax*8]
cmp qword [rdi], r12
jne 0x140006c82
mov r8d, 0x7c2
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.NULL___vhThreads_x_
call fcn.140027440
xor edx, edx
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_TerminateThread]
test eax, eax
jne 0x140006c9f
mov edx, esi
lea rcx, str.Warning:_unable_to_terminate_worker_thread__u_n
call fcn.140002900
inc esi
mov eax, esi
cmp rax, r14
jb 0x140006c60
jmp 0x1400071bb
mov eax, dword [r15 + 0x1c]
test eax, eax
je 0x140006d93
test r13d, r13d
je 0x140006d87
cmp qword [rdi + 8], r12
jne 0x140006ce1
mov r8d, 0x973
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.NULL___pSynch__hStopEvent
call fcn.140027440
imul edx, dword [r15 + 0x1c], 0x3e8
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140006d6e
cmp eax, 0x102
je 0x140006d6e
lea rcx, str.Error_during_WaitForSingleObject_n
call fcn.140002900
mov r14, qword [rbp + 0x48]
sub r14, rbx
sar r14, 3
test r14, r14
je 0x1400071bb
mov rax, rsi
lea rdi, [rbx + rax*8]
cmp qword [rdi], r12
jne 0x140006d43
mov r8d, 0x7c2
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.NULL___vhThreads_x_
call fcn.140027440
xor edx, edx
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_TerminateThread]
test eax, eax
jne 0x140006d60
mov edx, esi
lea rcx, str.Warning:_unable_to_terminate_worker_thread__u_n
call fcn.140002900
inc esi
mov eax, esi
cmp rax, r14
jb 0x140006d21
jmp 0x1400071bb
mov r12d, esi
cmp eax, 0x102
setne r12b
test r12d, r12d
je 0x140006d93
mov r13, rsi
jmp 0x1400070c3
imul ecx, eax, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [0x140051dc8]
mov r13, qword [rbp + 0x28]
test r13, r13
jne 0x140006dbb
mov r8d, 0x23e
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.NULL___pInfo
call fcn.140027440
test ebx, ebx
jne 0x140006dd8
mov r8d, 0x23f
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.uCpuCount___0
call fcn.140027440
lea r8d, [rbx + rbx*2]
shl r8d, 4
xor r9d, r9d
mov rdx, r13
lea ecx, [r9 + 8]
call qword [0x140051f10]
test eax, eax
jns 0x140006e6e
lea rcx, str.Error_reading_performance_counters_n
call fcn.140002900
mov rdi, qword [rbp + 0x48]
mov r14, qword [rbp + 0x40]
sub rdi, r14
sar rdi, 3
test rdi, rdi
je 0x1400071bb
mov rax, rsi
nop dword [rax + rax]
lea rbx, [r14 + rax*8]
cmp qword [rbx], 0
jne 0x140006e43
mov r8d, 0x7c2
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.NULL___vhThreads_x_
call fcn.140027440
xor edx, edx
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_TerminateThread]
test eax, eax
jne 0x140006e60
mov edx, esi
lea rcx, str.Warning:_unable_to_terminate_worker_thread__u_n
call fcn.140002900
inc esi
mov eax, esi
cmp rax, rdi
jb 0x140006e20
jmp 0x1400071bb
lea rdx, str.starting_measurements..._n
movzx ecx, byte [r14 + 0x18]
call fcn.140002960
test rdi, rdi
je 0x140006e94
cmp dword [rdi], 0x20
jb 0x140006e94
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x140006e94
call rax
lea rcx, [rbp + 0xd8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x88], rax
mov byte [rbp + 8], 1
cmp dword [r15 + 0x18], 0
ja 0x140006ed3
mov r8d, 0x9be
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.timeSpan.GetDuration_____0
call fcn.140027440
cmp dword [rsp + 0x70], 0
je 0x140006f9e
cmp qword [rdi + 8], 0
jne 0x140006efe
mov r8d, 0x9c1
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.NULL___pSynch__hStopEvent
call fcn.140027440
imul edx, dword [r15 + 0x18], 0x3e8
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140006f90
cmp eax, 0x102
je 0x140006f90
lea rcx, str.Error_during_WaitForSingleObject_n
call fcn.140002900
mov rdi, qword [rbp + 0x48]
mov r14, qword [rbp + 0x40]
sub rdi, r14
sar rdi, 3
test rdi, rdi
je 0x1400071bb
mov rax, rsi
lea rbx, [r14 + rax*8]
cmp qword [rbx], 0
jne 0x140006f65
mov r8d, 0x7c2
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.NULL___vhThreads_x_
call fcn.140027440
xor edx, edx
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_TerminateThread]
test eax, eax
jne 0x140006f82
mov edx, esi
lea rcx, str.Warning:_unable_to_terminate_worker_thread__u_n
call fcn.140002900
inc esi
mov eax, esi
cmp rax, rdi
jb 0x140006f42
jmp 0x1400071bb
mov r12d, esi
cmp eax, 0x102
setne r12b
jmp 0x140006fac
imul ecx, dword [r15 + 0x18], 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov byte [rbp + 8], 0
lea rcx, [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp + 0xe0]
sub rax, qword [rbp + 0x88]
mov qword [rsp + 0x78], rax
test rdi, rdi
je 0x140006fe5
cmp dword [rdi], 0x28
jb 0x140006fe5
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x140006fe5
call rax
mov ebx, dword [0x140051dc8]
mov r13, qword [rbp + 0x10]
test r13, r13
jne 0x14000700d
mov r8d, 0x23e
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.NULL___pInfo
call fcn.140027440
test ebx, ebx
jne 0x14000702a
mov r8d, 0x23f
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.uCpuCount___0
call fcn.140027440
lea r8d, [rbx + rbx*2]
shl r8d, 4
xor r9d, r9d
mov rdx, r13
lea ecx, [r9 + 8]
call qword [0x140051f10]
test eax, eax
jns 0x1400070be
lea rcx, str.Error_getting_performance_counters_n
call fcn.140002900
mov rdi, qword [rbp + 0x48]
mov r14, qword [rbp + 0x40]
sub rdi, r14
sar rdi, 3
test rdi, rdi
je 0x1400071bb
mov rax, rsi
nop dword [rax]
lea rbx, [r14 + rax*8]
cmp qword [rbx], 0
jne 0x140007093
mov r8d, 0x7c2
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.NULL___vhThreads_x_
call fcn.140027440
xor edx, edx
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_TerminateThread]
test eax, eax
jne 0x1400070b0
mov edx, esi
lea rcx, str.Warning:_unable_to_terminate_worker_thread__u_n
call fcn.140002900
inc esi
mov eax, esi
cmp rax, rdi
jb 0x140007070
jmp 0x1400071bb
mov r13, qword [rsp + 0x78]
lea rdx, str.starting_cool_down..._n
movzx ecx, byte [r14 + 0x18]
call fcn.140002960
mov eax, dword [r15 + 0x20]
test eax, eax
je 0x140007148
test r12d, r12d
jne 0x140007148
cmp dword [rsp + 0x70], r12d
je 0x14000713c
cmp qword [rdi + 8], 0
jne 0x140007108
mov r8d, 0xa03
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.NULL___pSynch__hStopEvent
call fcn.140027440
imul edx, dword [r15 + 0x20], 0x3e8
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140007148
cmp eax, 0x102
je 0x140007148
lea rcx, str.Error_during_WaitForSingleObject_n
call fcn.140002900
lea rdx, [rbp + 0x40]
call fcn.140005c40
jmp 0x1400071bb
imul ecx, eax, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, str.finished_test..._n
movzx ecx, byte [r14 + 0x18]
call fcn.140002960
mov dword [0x140051f08], esi
mov rbx, qword [rsp + 0x58]
cmp byte [r15 + 0x48], 0
je 0x140007181
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x140007181
lea rcx, str.Error_signaling_end_event_n
jmp 0x1400071b6
mov eax, dword [0x140051dac]
test eax, eax
jle 0x1400071a5
nop dword [rax + rax]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x140051dac]
test eax, eax
jg 0x140007190
mov eax, dword [0x140051ddc]
test eax, eax
je 0x1400071c2
lea rcx, str.There_has_been_an_error_during_threads_execution_n
call fcn.140002900
xor bl, bl
jmp 0x1400074bc
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbx, rbx
je 0x1400071db
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, esi
mov eax, dword [0x140051dc8]
test eax, eax
je 0x14000744c
nop dword [rax + rax]
mov ebx, edi
mov edx, edi
lea rcx, [rbp + 0x10]
call fcn.140008d20
mov r8, rax
mov edx, edi
lea rcx, [rbp + 0x28]
call fcn.140008d20
mov rcx, qword [rax]
cmp qword [r8], rcx
jge 0x14000722c
mov r8d, 0xa47
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.vPerfDone_p_.IdleTime.QuadPart___vPerfInit_p_.IdleTime.QuadPart
call fcn.140027440
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.140008d20
mov r8, rax
lea rcx, [rbp + 0x28]
call fcn.140008d20
mov rcx, qword [rax + 8]
cmp qword [r8 + 8], rcx
jge 0x140007267
mov r8d, 0xa48
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.vPerfDone_p_.KernelTime.QuadPart___vPerfInit_p_.KernelTime.QuadPart
call fcn.140027440
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.140008d20
mov r8, rax
lea rcx, [rbp + 0x28]
call fcn.140008d20
mov rcx, qword [rax + 0x10]
cmp qword [r8 + 0x10], rcx
jge 0x1400072a2
mov r8d, 0xa49
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.vPerfDone_p_.UserTime.QuadPart___vPerfInit_p_.UserTime.QuadPart
call fcn.140027440
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.140008d20
mov r8, rax
lea rcx, [rbp + 0x28]
call fcn.140008d20
mov rcx, qword [rax + 0x18]
cmp qword [r8 + 0x18], rcx
jge 0x1400072dd
mov r8d, 0xa4a
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.vPerfDone_p_.Reserved1_0_.QuadPart___vPerfInit_p_.Reserved1_0_.QuadPart
call fcn.140027440
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.140008d20
mov r8, rax
lea rcx, [rbp + 0x28]
call fcn.140008d20
mov rcx, qword [rax + 0x20]
cmp qword [r8 + 0x20], rcx
jge 0x140007318
mov r8d, 0xa4b
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.vPerfDone_p_.Reserved1_1_.QuadPart___vPerfInit_p_.Reserved1_1_.QuadPart
call fcn.140027440
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.140008d20
mov r8, rax
lea rcx, [rbp + 0x28]
call fcn.140008d20
mov ecx, dword [rax + 0x28]
cmp dword [r8 + 0x28], ecx
jae 0x140007352
mov r8d, 0xa4c
lea rdx, str.....IORequestGeneratorIORequestGenerator.cpp
lea rcx, str.vPerfDone_p_.Reserved2___vPerfInit_p_.Reserved2
call fcn.140027440
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.140008d20
mov r9, qword [rax]
lea rcx, [rbp + 0x28]
call fcn.140008d20
sub r9, qword [rax]
lea rcx, [rbp + 0x70]
call fcn.140008d20
mov qword [rax], r9
lea rcx, [rbp + 0x10]
call fcn.140008d20
mov r9, qword [rax + 8]
lea rcx, [rbp + 0x28]
call fcn.140008d20
sub r9, qword [rax + 8]
lea rcx, [rbp + 0x70]
call fcn.140008d20
mov qword [rax + 8], r9
lea rcx, [rbp + 0x10]
call fcn.140008d20
mov r9, qword [rax + 0x10]
lea rcx, [rbp + 0x28]
call fcn.140008d20
sub r9, qword [rax + 0x10]
lea rcx, [rbp + 0x70]
call fcn.140008d20
mov qword [rax + 0x10], r9
lea rcx, [rbp + 0x10]
call fcn.140008d20
mov r9, qword [rax + 0x18]
lea rcx, [rbp + 0x28]
call fcn.140008d20
sub r9, qword [rax + 0x18]
lea rcx, [rbp + 0x70]
call fcn.140008d20
mov qword [rax + 0x18], r9
lea rcx, [rbp + 0x10]
call fcn.140008d20
mov r9, qword [rax + 0x20]
lea rcx, [rbp + 0x28]
call fcn.140008d20
sub r9, qword [rax + 0x20]
lea rcx, [rbp + 0x70]
call fcn.140008d20
mov qword [rax + 0x20], r9
lea rcx, [rbp + 0x10]
call fcn.140008d20
mov r9d, dword [rax + 0x28]
lea rcx, [rbp + 0x28]
call fcn.140008d20
sub r9d, dword [rax + 0x28]
lea rcx, [rbp + 0x70]
call fcn.140008d20
mov dword [rax + 0x28], r9d
inc edi
mov eax, dword [0x140051dc8]
cmp edi, eax
jb 0x1400071f0
mov rbx, qword [rsp + 0x60]
lea rcx, [rbx + 0x198]
lea rdx, [rbp + 0x70]
call fcn.140008d30
mov qword [rbx + 0x190], r13
mov byte [rbx], 0
mov rcx, qword [0x140051dd0]
test rcx, rcx
je 0x14000747c
call fcn.1400257a0
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x90], rax
mov rbx, qword [rbp + 0x60]
cmp rax, rbx
je 0x1400074b4
mov rcx, rax
call fcn.140015b90
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x90]
call fcn.140008640
mov rax, qword [rbp + 0x90]
cmp rax, rbx
jne 0x140007490
xchg dword [0x140051dd8], esi
mov bl, 1
lea rcx, [rbp + 0x98]
call fcn.1400083e0
nop
lea rcx, [rbp + 0x70]
call fcn.140008ed0
nop
lea rcx, [rbp + 0x10]
call fcn.140008ed0
nop
lea rcx, [rbp + 0x28]
call fcn.140008ed0
nop
lea rcx, [rbp + 0x40]
call fcn.1400083e0
nop
lea rcx, [rbp + 0x58]
call fcn.140001910
movzx eax, bl
jmp 0x14000750d
lea rcx, str.Error_loading_NtQuerySystemInformation_n
call fcn.140002900
xor al, al
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.14001d3d0
add rsp, 0x228
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret