Function at 0x140045880
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x978]
sub rsp, 0xa78
mov r12, qword [r8 + 8]
xor r14d, r14d
mov r15, rdx
mov qword [rbp - 0x80], r12
mov rdx, rcx
mov rdi, r8
movsxd rcx, dword [r12]
mov rax, qword [r15 + 0x18]
add rcx, r12
mov qword [rbp - 0x18], rax
mov eax, r14d
sub eax, dword [r12]
neg eax
sbb rax, rax
and rcx, rax
cmp byte [r12 + 0xa4], 1
mov qword [rbp - 0x28], rcx
jne 0x140045904
test rcx, rcx
je 0x1400458fa
cmp byte [rcx], r14b
jne 0x140045904
mov ebx, 3
jmp 0x1400465b4
movsxd r8, dword [r12 + 0xc]
lea rcx, [r12 + 0xc]
mov r13, qword [rdx + 0x1d0]
add r8, rcx
mov ebx, dword [r15 + 0x38]
mov eax, r14d
sub eax, dword [rcx]
neg eax
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r12
sbb rax, rax
and r8, rax
mov eax, dword [r15 + 0x38]
mov dword [rsp + 0x68], eax
movzx eax, byte [rdx + 0x108]
and al, 1
mov qword [rbp - 0x78], r8
cmp byte [0x140099b70], r14b
mov byte [rbp + 0x9d8], al
je 0x1400459aa
lea rax, str.EmitNodeStart
mov dword [rbp + 0x48], ebx
xorps xmm0, xmm0
mov qword [rbp + 0x50], rax
lea rcx, [rbp - 0x40]
mov dword [rbp + 0x70], 0x32
movdqu xmmword [rbp + 0x58], xmm0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14004660c
mov rax, qword [rbp - 0x40]
xor edx, edx
sub rax, qword [0x140099f88]
imul rax, rax, 0xf4240
div qword [0x140099f80]
add rax, qword [0x140099f90]
mov qword [rbp + 0x68], rax
cmp qword [0x140099928], r14
mov esi, 4
jne 0x1400459c1
cmp byte [0x140099fd8], r14b
je 0x140045a1a
lea rcx, [0x140099930]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x14009995c]
lea rcx, [rbp + 0x110]
add eax, 0x14
mov dword [rbp + 0x18c], r14d
mov dword [rbp + 0x188], eax
mov r9d, esi
mov rax, qword [rdi + 8]
mov r8d, 8
mov edx, dword [rax + 0xa8]
mov dword [rbp - 0x70], edx
lea rdx, [rbp - 0x70]
mov dword [rbp - 0x6c], ebx
call fcn.140023d20
lea rcx, [0x140099930]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rbp + 0x48]
call fcn.140001250
test dword [r12 + 0xa4], 0x100
jne 0x140045c52
movsxd rdx, dword [r12 + 0x3c]
lea rcx, [r12 + 0x3c]
movsxd r15, dword [r12 + 0x3c]
lea r8, [r12 + 0x3c]
add rdx, rcx
mov eax, r14d
sub eax, dword [rcx]
neg eax
sbb rax, rax
add r15, r8
and rdx, rax
movsxd rax, dword [r12 + 0x38]
lea rcx, [rdx + rax*8]
mov eax, r14d
sub eax, dword [r8]
neg eax
mov qword [rsp + 0x58], rcx
sbb rax, rax
and r15, rax
cmp r15, rcx
je 0x140045b2e
nop dword [rax]
nop word [rax + rax]
movsxd r8, dword [r15]
lea rdx, str.Removing_output_file__s_before_running_action
add r8, r15
mov eax, r14d
sub eax, dword [r15]
mov ecx, 8
neg eax
sbb rax, rax
and r8, rax
call fcn.140013ae0
movsxd rcx, dword [r15]
mov eax, r14d
sub eax, dword [r15]
add rcx, r15
neg eax
sbb rax, rax
and rcx, rax
call fcn.1400145f0
mov esi, dword [r15 + 4]
lea rcx, [r13 + 0x10]
movsxd rbx, dword [r15]
mov edi, dword [r15]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
test edi, edi
lea r8, [r15 + rbx]
mov edx, esi
lea rcx, [r13 + 0x18]
cmove r8, r14
call fcn.140015f60
cmp eax, 0xffffffff
je 0x140045b15
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x40]
lea rdx, [rax + rcx*8]
test rdx, rdx
je 0x140045b15
mov dword [rdx], 0x40000000
lea rcx, [r13 + 0x10]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
add r15, 8
cmp r15, qword [rsp + 0x58]
jne 0x140045a90
movsxd r15, dword [r12 + 0x44]
lea rcx, [r12 + 0x44]
movsxd rdx, dword [r12 + 0x44]
add r15, rcx
mov eax, r14d
sub eax, dword [rcx]
lea rcx, [r12 + 0x44]
neg eax
sbb rax, rax
add rdx, rcx
and r15, rax
mov eax, r14d
sub eax, dword [rcx]
neg eax
sbb rax, rax
and rdx, rax
movsxd rax, dword [r12 + 0x40]
lea rax, [rdx + rax*8]
mov qword [rsp + 0x58], rax
cmp r15, rax
je 0x140045c4b
nop dword [rax]
movsxd r8, dword [r15]
lea rdx, str.Removing_output_directory__s_before_running_action
add r8, r15
mov eax, r14d
sub eax, dword [r15]
mov ecx, 8
neg eax
sbb rax, rax
and r8, rax
call fcn.140013ae0
movsxd rdx, dword [r15]
lea rcx, [rbp + 0xa8]
add rdx, r15
cmp dword [r15], r14d
cmove rdx, r14
call fcn.140027500
movsd xmm0, qword [rax + 0x10]
mov eax, dword [rax]
shr eax, 3
movsd qword [rbp], xmm0
test al, 1
je 0x140045c3c
mov esi, dword [r15 + 4]
lea rcx, [r13 + 0x10]
movsxd rbx, dword [r15]
mov edi, dword [r15]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
test edi, edi
lea r8, [r15 + rbx]
lea rcx, [r13 + 0x18]
mov edx, esi
cmove r8, r14
call fcn.140015f60
cmp eax, 0xffffffff
je 0x140045c18
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x40]
lea rdx, [rax + rcx*8]
test rdx, rdx
je 0x140045c18
mov dword [rdx], 0x40000000
lea rcx, [r13 + 0x10]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movsxd rcx, dword [r15]
add rcx, r15
cmp dword [r15], r14d
cmove rcx, r14
call fcn.140028470
test al, al
je 0x14004639b
add r15, 8
cmp r15, qword [rsp + 0x58]
jne 0x140045b80
mov r15, qword [rbp + 0x9c8]
movsxd rbx, dword [r12 + 0x54]
lea rcx, [r12 + 0x54]
movsxd rdx, dword [r12 + 0x54]
add rbx, rcx
movups xmm0, xmmword [rbp - 0x50]
mov eax, r14d
mov qword [rbp - 0x10], r13
sub eax, dword [rcx]
lea rcx, [r12 + 0x54]
neg eax
movups xmmword [rbp - 8], xmm0
sbb rax, rax
add rdx, rcx
and rbx, rax
mov eax, r14d
sub eax, dword [rcx]
neg eax
sbb rax, rax
and rdx, rax
movsxd rax, dword [r12 + 0x50]
lea rdi, [rdx + rax*8]
cmp rbx, rdi
je 0x140045cdf
movsxd rdx, dword [rbx]
lea rcx, [rbp + 0x1c0]
add rdx, rbx
mov eax, r14d
sub eax, dword [rbx]
neg eax
sbb rax, rax
and rdx, rax
call fcn.140040600
lea rdx, [rbp + 0x1c0]
mov rcx, r13
call fcn.14003b550
test al, al
je 0x1400463c6
add rbx, 8
cmp rbx, rdi
jne 0x140045ca0
movsxd rbx, dword [r12 + 0x44]
lea rcx, [r12 + 0x44]
movsxd rdx, dword [r12 + 0x44]
add rbx, rcx
mov eax, r14d
sub eax, dword [rcx]
lea rcx, [r12 + 0x44]
neg eax
sbb rax, rax
add rdx, rcx
and rbx, rax
mov eax, r14d
sub eax, dword [rcx]
neg eax
sbb rax, rax
and rdx, rax
movsxd rax, dword [r12 + 0x40]
lea rdi, [rdx + rax*8]
cmp rbx, rdi
je 0x140045d6f
nop dword [rax]
nop word [rax + rax]
movsxd rdx, dword [rbx]
lea rcx, [rbp + 0x450]
add rdx, rbx
mov eax, r14d
sub eax, dword [rbx]
neg eax
sbb rax, rax
and rdx, rax
call fcn.140040600
lea rdx, [rbp + 0x450]
mov rcx, r13
call fcn.14003a9d0
test al, al
je 0x1400463e8
add rbx, 8
cmp rbx, rdi
jne 0x140045d30
movsxd rbx, dword [r12 + 0x3c]
lea rcx, [r12 + 0x3c]
movsxd rdx, dword [r12 + 0x3c]
add rbx, rcx
mov eax, r14d
sub eax, dword [rcx]
lea rcx, [r12 + 0x3c]
neg eax
sbb rax, rax
add rdx, rcx
and rbx, rax
mov eax, r14d
sub eax, dword [rcx]
neg eax
sbb rax, rax
and rdx, rax
movsxd rax, dword [r12 + 0x38]
lea rdi, [rdx + rax*8]
cmp rbx, rdi
je 0x140045dff
nop dword [rax]
nop word [rax + rax]
movsxd rdx, dword [rbx]
lea rcx, [rbp + 0x6e0]
add rdx, rbx
mov eax, r14d
sub eax, dword [rbx]
neg eax
sbb rax, rax
and rdx, rax
call fcn.140040600
lea rdx, [rbp + 0x6e0]
mov rcx, r13
call fcn.14003b550
test al, al
je 0x1400463c6
add rbx, 8
cmp rbx, rdi
jne 0x140045dc0
mov rax, qword [r15 + 0x10]
movsxd rsi, dword [r12 + 0x38]
mov qword [rsp + 0x50], rsi
mov rdx, qword [rax + 0x18]
lea rcx, [rdx + rsi]
cmp rcx, qword [rax + 0x10]
jbe 0x140045e2a
mov rdx, rsi
lea rcx, [r15 + 8]
call fcn.14003b680
mov rdx, r14
mov rax, qword [r15 + 0x10]
lea rcx, [rdx + rsi]
mov r8, rsi
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [r15 + 0x10]
mov rcx, r9
mov qword [rsp + 0x58], r9
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [r15 + 0x18], rdx
xor edx, edx
call fcn.14004e520
mov r13d, r14d
mov dword [rsp + 0x60], r14d
cmp dword [r12 + 0x7c], r14d
jle 0x140045f62
mov rdx, r14
lea r8, [r12 + 0x80]
mov qword [rsp + 0x70], rdx
movsxd rcx, dword [r8]
mov eax, r14d
sub eax, dword [r8]
add rcx, r8
neg eax
mov sil, 1
sbb rax, rax
and rcx, rax
mov rax, qword [rbp + 0x9c0]
mov rdi, qword [rax + 0x3e30]
mov ebx, dword [rcx + rdx]
cmp dword [rdi + rbx*4], r14d
jne 0x140045f46
lea rcx, [rax + 0x3e38]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [rdi + rbx*4], r14d
jne 0x140045f1c
mov rax, qword [rbp + 0x9c0]
lea rcx, [rbx + rbx*4]
mov rax, qword [rax + 0x210]
lea rcx, [rax + rcx*4]
movsxd rdx, dword [rcx + 4]
lea rax, [rcx + 4]
add rdx, rax
cmp dword [rax], r14d
cmove rdx, r14
test rdx, rdx
je 0x140045f18
movsxd rdx, dword [rcx + 4]
lea rax, [rcx + 4]
add rdx, rax
lea r8, str.Creating__s
cmp dword [rax], r14d
mov r9, r15
cmove rdx, r14
call fcn.140048d10
movzx esi, al
lock inc dword [rdi + rbx*4]
mov rbx, qword [rbp + 0x9c0]
lea rcx, [rbx + 0x3e38]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test sil, sil
je 0x1400463f2
mov rdx, qword [rsp + 0x70]
lea r8, [r12 + 0x80]
add rdx, 4
inc r13d
mov qword [rsp + 0x70], rdx
cmp r13d, dword [r12 + 0x7c]
jl 0x140045e82
mov rsi, qword [rsp + 0x50]
lea rdx, str.Launching_process
mov ecx, 0x10
call fcn.140013ae0
lea rcx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140046619
mov rax, qword [rbp - 0x38]
xor edx, edx
sub rax, qword [0x140099f88]
imul rax, rax, 0xf4240
div qword [0x140099f80]
add rax, qword [0x140099f90]
cmp byte [0x140099b70], r14b
mov qword [rbp - 0x20], rax
je 0x140046016
mov eax, dword [rsp + 0x68]
lea rcx, [rbp - 0x78]
mov dword [rbp + 0x78], eax
xorps xmm0, xmm0
mov rax, qword [rbp - 0x78]
mov qword [rbp + 0x80], rax
movdqu xmmword [rbp + 0x88], xmm0
mov dword [rbp + 0xa0], 0x32
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140046626
mov rax, qword [rbp - 0x78]
xor edx, edx
sub rax, qword [0x140099f88]
imul rax, rax, 0xf4240
div qword [0x140099f80]
add rax, qword [0x140099f90]
mov qword [rbp + 0x98], rax
mov rax, qword [r15 + 0x10]
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rcx, [rdx + rsi]
cmp rcx, qword [rax + 0x10]
jbe 0x14004603f
mov rdx, rsi
lea rcx, [r15 + 8]
call fcn.14003b680
mov rdx, r14
mov rax, qword [r15 + 0x10]
lea rcx, [rdx + rsi]
mov r13, qword [rbp + 0x9d0]
mov rax, qword [rax + 0x28]
add rax, rdx
mov qword [rsp + 0x70], rax
mov rax, qword [r15 + 0x10]
mov qword [rax + 0x18], rcx
mov rax, qword [r15 + 0x10]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [r15 + 0x18], rdx
mov rax, qword [r13 + 8]
mov ecx, dword [rax + 0xa4]
shr ecx, 0xb
test cl, 1
jne 0x1400461da
mov rsi, qword [0x140099960]
mov r13d, r14d
cmp qword [rsp + 0x50], r13
jbe 0x1400461ce
mov r15, qword [rsp + 0x50]
add r12, 0x3c
mov rbx, r14
nop dword [rax]
movsxd rcx, dword [r12]
mov eax, r14d
sub eax, dword [r12]
add rcx, r12
neg eax
sbb rax, rax
and rcx, rax
add rcx, rbx
movsxd rdx, dword [rcx]
add rdx, rcx
cmp dword [rcx], r14d
lea rcx, [rbp + 0xc0]
cmove rdx, r14
call fcn.140027500
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x58], xmm1
mov rdi, qword [rbp - 0x58]
cmp rdi, rsi
jb 0x1400461a7
call fcn.14002aa30
mov rsi, rax
cmp rdi, rax
jb 0x1400461a7
movabs rax, 0x12e0be826d694b2f
mov rcx, rsi
mul rsi
mov eax, r14d
sub eax, dword [r12]
sub rcx, rdx
shr rcx, 1
add rcx, rdx
movsxd rdx, dword [r12]
shr rcx, 0x1d
add rdx, r12
dec rcx
neg eax
mov qword [rbp + 0x10], rcx
mov qword [rbp + 8], rcx
sbb rax, rax
and rdx, rax
mov eax, r14d
add rdx, rbx
sub eax, dword [rdx]
movsxd rcx, dword [rdx]
add rcx, rdx
lea rdx, [rbp + 8]
neg eax
sbb rax, rax
and rcx, rax
call fcn.14005e278
movsxd rcx, dword [r12]
mov eax, r14d
sub eax, dword [r12]
add rcx, r12
neg eax
sbb rax, rax
and rcx, rax
add rcx, rbx
movsxd rdx, dword [rcx]
add rdx, rcx
cmp dword [rcx], r14d
lea rcx, [rbp + 0xd8]
cmove rdx, r14
call fcn.140027500
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x58], xmm1
mov rdi, qword [rbp - 0x58]
mov rax, qword [rsp + 0x70]
inc r13d
mov qword [rax + rbx], rdi
add rbx, 8
movsxd rax, r13d
cmp rax, r15
jb 0x1400460b0
mov r12, qword [rbp - 0x80]
mov r15, qword [rbp + 0x9c8]
mov r13, qword [rbp + 0x9d0]
mov rsi, qword [rsp + 0x50]
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140046633
mov rax, qword [rbp - 0x30]
lea rcx, [rbp + 0x190]
sub rax, qword [0x140099f88]
xor edx, edx
imul rax, rax, 0xf4240
mov r8, r15
div qword [0x140099f80]
mov rdx, r13
add rax, qword [0x140099f90]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.140044750
mov edi, dword [rsp + 0x60]
mov ebx, 3
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x18], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp + 0x28], xmm1
movups xmmword [rbp + 0x38], xmm0
test edi, edi
jne 0x140046314
mov rax, qword [r13 + 8]
mov ecx, dword [rax + 0xa4]
shr ecx, 0xb
test cl, 1
jne 0x140046314
test rsi, rsi
je 0x140046314
mov rcx, qword [rsp + 0x58]
mov r13, r14
mov qword [rsp + 0x50], rcx
mov r15d, r14d
add r12, 0x3c
nop word [rax + rax]
movsxd rcx, dword [r12]
mov eax, r14d
sub eax, dword [r12]
add rcx, r12
neg eax
sbb rax, rax
and rcx, rax
add rcx, r13
movsxd rdx, dword [rcx]
add rdx, rcx
cmp dword [rcx], r14d
lea rcx, [rbp + 0xf0]
cmove rdx, r14
call fcn.140027500
mov r8, qword [rsp + 0x50]
movsd xmm1, qword [rax + 0x10]
mov rax, qword [rsp + 0x70]
movsd qword [rbp - 0x58], xmm1
mov rdx, qword [rax + r13]
cmp rdx, qword [rbp - 0x58]
sete al
cmove edi, ebx
inc r15d
mov byte [r8], al
inc r8
movsxd rax, r15d
add r13, 8
mov qword [rsp + 0x50], r8
cmp rax, rsi
jb 0x140046290
mov r12, qword [rbp - 0x80]
mov r15, qword [rbp + 0x9c8]
mov r13, qword [rbp + 0x9d0]
mov dword [rsp + 0x60], edi
mov rsi, qword [rbp + 0x9c0]
mov r8, r13
mov rcx, rsi
mov rdx, r15
call fcn.1400452b0
cmp qword [0x140099928], r14
mov r13, qword [rbp + 0x28]
jne 0x140046343
cmp byte [0x140099fd8], r14b
je 0x140046492
lea rcx, [rbp + 0x9c8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140046640
mov rax, qword [rbp + 0x9c8]
xor edx, edx
sub rax, qword [0x140099f88]
xorps xmm0, xmm0
mov r14, qword [rsp + 0x78]
imul rax, rax, 0xf4240
mov rcx, r14
div qword [0x140099f80]
sub rcx, rax
sub rcx, qword [0x140099f90]
js 0x140046448
cvtsi2sd xmm0, rcx
jmp 0x14004645d
movsxd r8, dword [r15]
lea rdx, str.Failed_to_remove_directory__s_as_part_of_preparing_to_actually_running_this_node
add r8, r15
lea rcx, [rbp - 0x50]
cmp dword [r15], r14d
cmove r8, r14
call fcn.140046650
mov r15, qword [rbp + 0x9c8]
mov ebx, eax
jmp 0x1400465b4
movsxd r8, dword [rbx]
lea rdx, str.Failed_to_create_output_directory_for_targetfile__s_as_part_of_preparing_to_actually_running_this_node
sub r14d, dword [rbx]
lea rcx, [rbp - 8]
add r8, rbx
neg r14d
sbb rax, rax
and r8, rax
call fcn.140046650
mov ebx, 4
jmp 0x1400465b4
lea rcx, [r12 + 0x80]
mov eax, r14d
sub eax, dword [rcx]
movsxd rdx, dword [rcx]
add rdx, rcx
neg eax
sbb rax, rax
and rdx, rax
movsxd rax, r13d
movsxd rcx, dword [rdx + rax*4]
mov rax, qword [rbx + 0x210]
lea rdx, [rcx + rcx*4]
movsxd r8, dword [rax + rdx*4]
lea rcx, [rax + rdx*4]
add r8, rcx
lea rdx, str.failed_to_create_shared_resource__s
cmp dword [rcx], r14d
lea rcx, [rbp - 0x50]
cmove r8, r14
call fcn.140046650
mov ebx, eax
jmp 0x1400465b4
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
divsd xmm0, qword [0x14008df68]
mov eax, dword [r15 + 0x38]
mov r9, r13
mov r8d, dword [rbp + 0x18]
mov dword [rsp + 0x28], eax
mulsd xmm0, qword [0x14008df60]
cvttsd2si ecx, xmm0
mov dword [rsp + 0x20], ecx
mov rcx, qword [rbp + 0x9d0]
call fcn.140024480
jmp 0x140046497
mov r14, qword [rsp + 0x78]
mov rax, qword [rsp + 0x58]
lea rcx, [rbp + 0x18]
mov r9, qword [r15 + 0x40]
mov rdx, r12
mov r8, qword [rbp - 0x28]
mov byte [rsp + 0x48], 0
mov qword [rsp + 0x40], rax
movzx eax, byte [rbp + 0x9d8]
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], r14
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r15
call fcn.14003e250
cmp dword [rbp + 0x18], 0
mov r12d, 4
mov r14d, r12d
jne 0x14004653e
cmp edi, 2
jge 0x14004653e
cmp byte [rsi + 0x21d], 0
mov r14d, ebx
je 0x14004653e
mov rdi, qword [rbp + 0x9d0]
mov rax, qword [rdi + 8]
mov ecx, dword [rax + 0xa4]
test ecx, 0x6000
je 0x14004653e
bt ecx, 0xd
jae 0x14004652d
mov r9, qword [rbp + 0x9e0]
mov r8, rdi
mov rdx, r15
mov rcx, rsi
call fcn.140037b00
test al, al
cmove r14d, r12d
mov r9, r13
mov r8, rdi
mov rdx, r15
mov rcx, rsi
call fcn.140045570
test r13, r13
je 0x14004655b
mov rdx, qword [r13 - 8]
lea rcx, [r13 - 8]
mov rax, qword [rbp + 0x40]
neg rdx
lock add qword [rax], rdx
call fcn.140058710
lea rcx, [rbp + 0x78]
mov ebx, r14d
call fcn.140001250
lea rcx, [rbp + 0x9d0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400465ff
mov rax, qword [rbp + 0x9d0]
xor edx, edx
sub rax, qword [0x140099f88]
imul rax, rax, 0xf4240
div qword [0x140099f80]
sub rax, qword [rbp - 0x20]
add rax, qword [0x140099f90]
lock inc dword [0x1400998c8]
lock add qword [0x1400998d0], rax
mov rdx, qword [rbp - 0x18]
mov rax, qword [r15 + 0x10]
mov qword [r15 + 0x18], rdx
cmp qword [rax + 0x20], rdx
jbe 0x1400465dd
mov rcx, rax
nop dword [rax]
mov rcx, qword [rcx]
mov qword [r15 + 0x10], rcx
cmp qword [rcx + 0x20], rdx
ja 0x1400465d0
mov rcx, qword [r15 + 0x10]
mov eax, ebx
sub rdx, qword [rcx + 0x20]
mov qword [rcx + 0x18], rdx
add rsp, 0xa78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013a60
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013a60
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013a60
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013a60
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013a60
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013a60
int3