Function at 0x140011f90
Capabilities:
Check for time delay via queryperformancecounter
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
cmp byte [0x14008eab8], 0
mov r15, rdx
mov r12, qword [rcx + 0x160]
mov rbx, rcx
je 0x14001211f
mov rdi, qword [0x1400b70a0]
cmp dword [rdi + 0x38], 0x8000
mov byte [rdi + 0x3c], 1
jb 0x140012000
xor r9d, r9d
lea rsi, str.EnqueueRequestedNodes
mov r8d, 0x8000
mov qword [rsp + 0x20], rsi
lea rdx, str.profiler:_max_events___d__reached_on_thread__i___s_and_later_wont_be_recorded
lea ecx, [r9 + 2]
call fcn.140013a20
jmp 0x14001211f
movsxd rax, dword [rdi + 0x38]
inc dword [rdi + 0x38]
lea rcx, [rax + rax*4]
mov rax, qword [rdi + 0x30]
lea r14, [rax + rcx*8]
lea rcx, [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140012ea5
mov rax, qword [rbp + 0x48]
lea rsi, str.EnqueueRequestedNodes
sub rax, qword [0x14008eac8]
xor edx, edx
imul rax, rax, 0xf4240
mov rcx, rsi
div qword [0x14008eac0]
mov edx, 0x20
add rax, qword [0x14008ead0]
mov qword [r14], rax
mov qword [r14 + 0x20], 0
call fcn.140048fbc
mov r13, rax
test rax, rax
je 0x1400120a4
mov r8, rax
mov rdx, rsi
sub r8, rsi
mov rcx, rdi
call fcn.14001e6c0
mov qword [r14 + 0x10], rax
lea rdx, [r13 + 1]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x140012090
mov rcx, rdi
call fcn.14001e6c0
jmp 0x14001211b
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
lea rax, [rdx + 0x16]
cmp rax, qword [rcx + 0x10]
jbe 0x1400120c8
mov edx, 0x16
mov rcx, rdi
call fcn.140038a30
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x16]
mov r8, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r8, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rdi + 0x10], rdx
movups xmm0, xmmword [str.EnqueueRequestedNodes]
movups xmmword [r8], xmm0
mov eax, dword [0x14007f2e0]
mov dword [r8 + 0x10], eax
movzx eax, byte [0x14007f2e4]
mov byte [r8 + 0x14], al
lea rax, [0x14007d7e6]
mov byte [r8 + 0x15], 0
mov qword [r14 + 0x10], r8
mov qword [r14 + 0x18], rax
mov rax, qword [rbx + 0x170]
mov rcx, qword [rbx + 0x178]
mov rdi, rax
lea rsi, [rax + rcx*4]
cmp rax, rsi
je 0x140012165
nop dword [rax]
movsxd rax, dword [rdi]
xor r9d, r9d
mov rdx, qword [rbx + 0xd8]
mov rcx, rbx
imul r8, rax, 0x68
add r8, r12
call fcn.14000cee0
add rdi, 4
cmp rdi, rsi
jne 0x140012140
cmp byte [0x14008eab8], 0
je 0x1400122cc
xor ecx, ecx
call fcn.14003df60
cmp byte [0x14008eab8], 0
je 0x1400122cc
mov rdi, qword [0x1400b70a0]
cmp dword [rdi + 0x38], 0x8000
mov byte [rdi + 0x3c], 1
jb 0x1400121c4
xor r9d, r9d
lea rsi, str.SortWorkingStack
mov r8d, 0x8000
mov qword [rsp + 0x20], rsi
lea rdx, str.profiler:_max_events___d__reached_on_thread__i___s_and_later_wont_be_recorded
lea ecx, [r9 + 2]
call fcn.140013a20
jmp 0x1400122cc
movsxd rax, dword [rdi + 0x38]
inc dword [rdi + 0x38]
lea rcx, [rax + rax*4]
mov rax, qword [rdi + 0x30]
lea r14, [rax + rcx*8]
lea rcx, [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140012eb2
mov rax, qword [rbp + 0x48]
lea rsi, str.SortWorkingStack
sub rax, qword [0x14008eac8]
xor edx, edx
imul rax, rax, 0xf4240
mov rcx, rsi
div qword [0x14008eac0]
mov edx, 0x20
add rax, qword [0x14008ead0]
mov qword [r14], rax
mov qword [r14 + 0x20], 0
call fcn.140048fbc
mov r13, rax
test rax, rax
je 0x140012266
mov r8, rax
mov rdx, rsi
sub r8, rsi
mov rcx, rdi
call fcn.14001e6c0
mov qword [r14 + 0x10], rax
lea rdx, [r13 + 1]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140012252
mov rcx, rdi
call fcn.14001e6c0
jmp 0x1400122c8
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
lea rax, [rdx + 0x11]
cmp rax, qword [rcx + 0x10]
jbe 0x14001228a
mov edx, 0x11
mov rcx, rdi
call fcn.140038a30
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x11]
mov r8, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r8, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
lea rax, [0x14007d7e6]
mov qword [rdi + 0x10], rdx
movups xmm0, xmmword [str.SortWorkingStack]
movups xmmword [r8], xmm0
mov byte [r8 + 0x10], 0
mov qword [r14 + 0x10], r8
mov qword [r14 + 0x18], rax
mov rcx, qword [rbx + 0x68]
mov rdx, qword [rbx + 0x70]
mov r9, qword [rbx + 0xf0]
add r9, 0x18
lea rdx, [rcx + rdx*4]
mov r8, rdx
sub r8, rcx
sar r8, 2
call fcn.140010320
cmp byte [0x14008eab8], 0
je 0x140012302
xor ecx, ecx
call fcn.14003df60
lea rcx, [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
lea rcx, [rbx + 0x30]
mov r8d, 0xffffffff
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SleepConditionVariableCS]
test eax, eax
je 0x140012e98
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [0x1400b70b0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdi, qword [0x1400b70e0]
lea rcx, [0x1400b70b0]
mov qword [rbp + 0x60], rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rdi, rdi
je 0x140012e81
cmp qword [0x14008e770], 0
je 0x140012e7a
mov rax, qword [r15 + 0x10]
mov rcx, r15
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], r15
call fcn.140034420
xor r14d, r14d
mov qword [rbp - 0x30], rax
mov rsi, rax
mov qword [rbp - 0x38], rax
mov rdi, rax
mov byte [rbp + 0x48], 0x7b
lea r13, [rbp + 0x48]
lea r12d, [r14 + 1]
nop dword [rax]
mov rax, rsi
sub rax, rdi
add rax, 0x3f8
jne 0x140012412
mov rax, qword [r15 + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x1400123dd
mov edx, 0x400
mov rcx, r15
call fcn.140038a30
xor edx, edx
mov rax, qword [r15 + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [r15 + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [r15 + 0x10], rdx
mov qword [rsi + 0x3f8], rdi
mov rsi, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r14, rbx
add r13, rbx
sub r12, rbx
jne 0x1400123a0
mov byte [rbp - 0x20], r12b
lea r13, [rbp + 0x48]
mov r12d, 1
mov qword [rbp - 0x30], rsi
mov byte [rbp + 0x48], 0x22
mov rax, rsi
sub rax, rdi
add rax, 0x3f8
jne 0x1400124c4
mov rax, qword [r15 + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x14001248f
mov edx, 0x400
mov rcx, r15
call fcn.140038a30
xor edx, edx
mov rax, qword [r15 + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [r15 + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [r15 + 0x10], rdx
mov qword [rsi + 0x3f8], rdi
mov rsi, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r14, rbx
add r13, rbx
sub r12, rbx
jne 0x140012452
lea r8, [r12 - 1]
mov qword [rbp - 0x28], rdi
lea rdx, [0x14007edbc]
mov qword [rbp - 0x30], rsi
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x18], r14
call fcn.140034290
mov rdi, qword [rbp - 0x40]
lea r9, [rbp + 0x48]
mov rsi, qword [rbp - 0x28]
lea r13d, [r12 + 1]
mov r12, qword [rbp - 0x18]
mov r14, qword [rbp - 0x30]
mov qword [rbp + 0x58], r9
mov byte [rbp + 0x48], 0x22
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x1400125a6
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140012571
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
mov r9, qword [rbp + 0x58]
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp + 0x58]
add rsi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp + 0x58], r9
sub r13, rbx
jne 0x140012530
mov qword [rbp - 0x30], r14
lea r15, [rbp + 0x48]
mov byte [rbp + 0x48], 0x3a
mov r13d, 1
nop word [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140012662
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x14001262d
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r13
mov rbx, r13
mov rdx, r15
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rsi, rbx
add r12, rbx
add r15, rbx
sub r13, rbx
jne 0x1400125f0
lea r9, [rbp + 0x48]
mov byte [rbp - 0x20], r13b
mov qword [rbp + 0x58], r9
mov r13d, 1
mov qword [rbp - 0x30], r14
mov byte [rbp + 0x48], 0x22
nop word [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140012726
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x1400126f1
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
mov r9, qword [rbp + 0x58]
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp + 0x58]
add rsi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp + 0x58], r9
sub r13, rbx
jne 0x1400126b0
lea r8, [r13 - 1]
mov qword [rbp - 0x28], rsi
lea rdx, str.interrupted
mov qword [rbp - 0x30], r14
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x18], r12
call fcn.140034290
mov rdi, qword [rbp - 0x40]
lea r9, [rbp + 0x48]
mov r12, qword [rbp - 0x18]
mov r13d, 1
mov rsi, qword [rbp - 0x28]
mov r14, qword [rbp - 0x30]
mov qword [rbp + 0x58], r9
mov byte [rbp + 0x48], 0x22
nop word [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140012816
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x1400127e1
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
mov r9, qword [rbp + 0x58]
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp + 0x58]
add rsi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp + 0x58], r9
sub r13, rbx
jne 0x1400127a0
mov qword [rbp - 0x30], r14
lea r15, [rbp + 0x48]
mov byte [rbp - 0x20], 1
mov r13d, 1
mov byte [rbp + 0x48], 0x2c
nop
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x1400128d2
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x14001289d
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r13
mov rbx, r13
mov rdx, r15
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rsi, rbx
add r12, rbx
add r15, rbx
sub r13, rbx
jne 0x140012860
lea r9, [rbp + 0x48]
mov qword [rbp - 0x30], r14
mov qword [rbp + 0x58], r9
mov r13d, 1
mov byte [rbp + 0x48], 0x22
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140012988
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140012953
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
mov r9, qword [rbp + 0x58]
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp + 0x58]
add rsi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp + 0x58], r9
sub r13, rbx
jne 0x140012912
lea r8, [r13 - 1]
mov qword [rbp - 0x28], rsi
lea rdx, str.reason
mov qword [rbp - 0x30], r14
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x18], r12
call fcn.140034290
mov rdi, qword [rbp - 0x40]
lea r9, [rbp + 0x48]
mov r12, qword [rbp - 0x18]
mov r13d, 1
mov rsi, qword [rbp - 0x28]
mov r14, qword [rbp - 0x30]
mov qword [rbp + 0x58], r9
mov byte [rbp + 0x48], 0x22
nop dword [rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140012a76
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140012a41
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
mov r9, qword [rbp + 0x58]
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp + 0x58]
add rsi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp + 0x58], r9
sub r13, rbx
jne 0x140012a00
mov qword [rbp - 0x30], r14
lea r15, [rbp + 0x48]
mov byte [rbp + 0x48], 0x3a
mov r13d, 1
nop word [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140012b32
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140012afd
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r13
mov rbx, r13
mov rdx, r15
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rsi, rbx
add r12, rbx
add r15, rbx
sub r13, rbx
jne 0x140012ac0
lea r9, [rbp + 0x48]
mov byte [rbp - 0x20], r13b
mov qword [rbp + 0x58], r9
mov r13d, 1
mov qword [rbp - 0x30], r14
mov byte [rbp + 0x48], 0x22
nop word [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140012bf6
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140012bc1
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
mov r9, qword [rbp + 0x58]
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp + 0x58]
add rsi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp + 0x58], r9
sub r13, rbx
jne 0x140012b80
mov rdx, qword [rbp + 0x60]
lea r8, [r13 - 1]
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x18], r12
call fcn.140034290
mov rdi, qword [rbp - 0x40]
lea r9, [rbp + 0x48]
mov r14, qword [rbp - 0x18]
lea r12d, [r13 + 1]
mov rsi, qword [rbp - 0x28]
mov r13, qword [rbp - 0x30]
mov qword [rbp + 0x58], r9
mov byte [rbp + 0x48], 0x22
nop word [rax + rax]
mov rax, r13
sub rax, rsi
add rax, 0x3f8
jne 0x140012ce6
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140012cb1
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
mov r9, qword [rbp + 0x58]
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r13 + 0x3f8], rsi
mov r13, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r9
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp + 0x58]
add rsi, rbx
add r9, rbx
add r14, rbx
mov qword [rbp + 0x58], r9
sub r12, rbx
jne 0x140012c70
mov byte [rbp + 0x48], 0x7d
lea r15, [rbp + 0x48]
mov r12d, 1
nop word [rax + rax]
mov rax, r13
sub rax, rsi
add rax, 0x3f8
jne 0x140012da2
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140012d6d
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r13 + 0x3f8], rsi
mov r13, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r15
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rsi, rbx
add r14, rbx
add r15, rbx
sub r12, rbx
jne 0x140012d30
cmp qword [0x14008e770], r12
mov r15, qword [rbp + 0x50]
je 0x140012e4c
lea rcx, [0x14008ead8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rsi, qword [0x14008e770]
mov rdi, qword [rbp - 0x38]
test r14, r14
je 0x140012e32
nop word [rax + rax]
mov ebx, 0x3f8
mov r9, rsi
cmp r14, rbx
mov edx, 1
mov rcx, rdi
cmovb rbx, r14
mov r8, rbx
call fcn.1400529c8
mov rdi, qword [rdi + 0x3f8]
sub r14, rbx
jne 0x140012e00
mov rsi, qword [0x14008e770]
mov rdx, rsi
mov ecx, 0xa
call fcn.140052f48
lea rcx, [0x14008ead8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rdx, qword [rbp - 0x48]
mov rax, qword [r15 + 8]
mov qword [r15 + 0x10], rdx
cmp qword [rax + 0x20], rdx
jbe 0x140012e6e
mov rcx, rax
mov rcx, qword [rcx]
mov qword [r15 + 8], rcx
cmp qword [rcx + 0x20], rdx
ja 0x140012e61
mov rcx, qword [r15 + 8]
sub rdx, qword [rcx + 0x20]
mov qword [rcx + 0x18], rdx
mov eax, 1
jmp 0x140012e87
mov eax, dword [rbx + 0x1d0]
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, str.SleepConditionVariableCS___failed
call fcn.1400139a0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3