Function at 0x140045b20
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 - 0xe88]
sub rsp, 0xf88
mov r14, qword [r8 + 8]
xor esi, esi
mov rax, qword [rdx + 0x18]
mov r9, rcx
mov qword [rbp - 0x28], rax
mov rbx, r8
mov eax, esi
mov qword [rsp + 0x58], r14
movsxd r8, dword [r14]
sub eax, r8d
neg eax
sbb rax, rax
lea rcx, [r14 + r8]
and rcx, rax
cmp byte [r14 + 0xa4], 1
mov qword [rbp - 0x38], rcx
jne 0x140045ba5
test rcx, rcx
je 0x140045b94
cmp byte [rcx], sil
jne 0x140045ba5
mov r13, qword [rbp + 0xed8]
mov ebx, 3
jmp 0x14004698b
movsxd rcx, dword [r14 + 0xc]
lea rax, [r14 + 0xc]
mov r13, qword [r9 + 0x1d0]
mov edi, dword [rdx + 0x38]
mov qword [rsp + 0x60], r13
lea r8, [rax + rcx]
mov dword [rsp + 0x68], edi
mov eax, esi
mov qword [rbp - 0x58], rdx
sub eax, ecx
mov qword [rbp - 0x50], r14
neg eax
sbb rax, rax
and r8, rax
movzx eax, byte [r9 + 0x108]
and al, 1
mov qword [rbp - 0x80], r8
cmp byte [0x140098b00], sil
mov byte [rbp + 0xee8], al
je 0x140045c4a
lea rax, str.EmitNodeStart
mov dword [rbp + 0x38], edi
xorps xmm0, xmm0
mov qword [rbp + 0x40], rax
lea rcx, [rbp - 0x48]
mov dword [rbp + 0x60], 0x32
movdqu xmmword [rbp + 0x48], xmm0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400469dc
mov rax, qword [rbp - 0x48]
xor edx, edx
sub rax, qword [0x140098f18]
imul rax, rax, 0xf4240
div qword [0x140098f10]
add rax, qword [0x140098f20]
mov qword [rbp + 0x58], rax
cmp qword [0x1400988b8], rsi
mov r15d, 4
jne 0x140045c62
cmp byte [0x140098f68], sil
je 0x140045cba
lea rcx, [0x1400988c0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x1400988ec]
lea rcx, [rbp + 0x100]
add eax, 0x14
mov dword [rbp + 0x17c], esi
mov dword [rbp + 0x178], eax
mov r9d, r15d
mov rax, qword [rbx + 8]
mov r8d, 8
mov edx, dword [rax + 0xa8]
mov dword [rbp - 0x78], edx
lea rdx, [rbp - 0x78]
mov dword [rbp - 0x74], edi
call fcn.140025270
lea rcx, [0x1400988c0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rbp + 0x38]
call fcn.140001250
test dword [r14 + 0xa4], 0x100
jne 0x140045f0a
movsxd rcx, dword [r14 + 0x3c]
lea r8, [r14 + 0x3c]
movsxd r9, dword [r8]
mov eax, esi
sub eax, ecx
neg eax
lea rdx, [r8 + rcx]
sbb rax, rax
and rdx, rax
movsxd rax, dword [r14 + 0x38]
lea r14, [r8 + r9]
lea rcx, [rdx + rax*8]
mov eax, esi
sub eax, r9d
neg eax
sbb rax, rax
and r14, rax
cmp r14, rcx
je 0x140045dba
lea r12, [r13 + 0x18]
lea r15, [r13 + 0x10]
mov r13, rcx
nop dword [rax]
movsxd rcx, dword [r14]
lea rdx, str.Removing_output_file__s_before_running_action
mov eax, esi
sub eax, ecx
neg eax
lea r8, [r14 + rcx]
mov ecx, 8
sbb rax, rax
and r8, rax
call fcn.140013c50
movsxd rdx, dword [r14]
mov eax, esi
sub eax, edx
neg eax
sbb rax, rax
lea rcx, [r14 + rdx]
and rcx, rax
call fcn.1400146b0
mov edi, dword [r14 + 4]
mov rcx, r15
movsxd rbx, dword [r14]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
test ebx, ebx
lea r8, [r14 + rbx]
mov edx, edi
mov rcx, r12
cmove r8, rsi
call fcn.140016040
cmp eax, 0xffffffff
je 0x140045d9f
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x28]
lea rdx, [rax + rcx*8]
test rdx, rdx
je 0x140045d9f
mov dword [rdx], 0x40000000
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
add r14, 8
cmp r14, r13
jne 0x140045d20
mov r13, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
mov eax, esi
movsxd rcx, dword [r9 + 0x44]
lea r8, [r9 + 0x44]
sub eax, ecx
neg eax
sbb rax, rax
lea r14, [r8 + rcx]
movsxd rcx, dword [r8]
and r14, rax
mov eax, esi
sub eax, ecx
neg eax
lea rdx, [r8 + rcx]
sbb rax, rax
and rdx, rax
movsxd rax, dword [r9 + 0x40]
lea rbx, [rdx + rax*8]
mov qword [rsp + 0x50], rbx
cmp r14, rbx
je 0x14004637a
movsxd rcx, dword [r14]
lea rdx, str.Removing_output_directory__s_before_running_action
mov eax, esi
sub eax, ecx
neg eax
lea r8, [r14 + rcx]
mov ecx, 8
sbb rax, rax
and r8, rax
call fcn.140013c50
movsxd rax, dword [r14]
lea rcx, [rbp + 0x98]
test eax, eax
lea rdx, [r14 + rax]
cmove rdx, rsi
call fcn.140028b60
movsd xmm0, qword [rax + 0x10]
mov eax, dword [rax]
shr eax, 3
movsd qword [rbp - 0x10], xmm0
test al, 1
je 0x140045ef8
movsxd rcx, dword [r14]
mov eax, esi
mov r15d, dword [r14 + 4]
sub eax, ecx
neg eax
lea rdi, [r14 + rcx]
sbb rax, rax
lea rcx, [r13 + 0x10]
and rdi, rax
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [r13 + 0x28]
test eax, eax
je 0x140045ed4
mov r12, qword [r13 + 0x18]
lea ebx, [rax - 1]
mov rdx, qword [r13 + 0x20]
and ebx, r15d
mov ecx, ebx
mov eax, dword [r12 + rbx*4]
test eax, eax
je 0x140045ecf
cmp r15d, eax
jne 0x140045ebb
mov rcx, qword [rdx + rcx*8]
cmp rcx, rdi
je 0x140046338
mov rdx, rdi
call fcn.140007fb0
test eax, eax
je 0x140046338
mov rdx, qword [r13 + 0x20]
mov eax, dword [r13 + 0x28]
inc ebx
dec eax
and ebx, eax
mov ecx, ebx
mov eax, dword [r12 + rbx*4]
test eax, eax
jne 0x140045e95
mov rbx, qword [rsp + 0x50]
lea rcx, [r13 + 0x10]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movsxd rax, dword [r14]
test eax, eax
lea rcx, [r14 + rax]
cmove rcx, rsi
call fcn.140029480
test al, al
je 0x14004636a
add r14, 8
cmp r14, rbx
jne 0x140045e00
mov r14, qword [rsp + 0x58]
movsxd rcx, dword [r14 + 0x54]
lea r8, [r14 + 0x54]
movups xmm0, xmmword [rbp - 0x58]
mov eax, esi
mov qword [rbp - 0x20], r13
sub eax, ecx
neg eax
lea rbx, [r8 + rcx]
movsxd rcx, dword [r8]
sbb rax, rax
and rbx, rax
mov eax, esi
sub eax, ecx
neg eax
lea rdx, [r8 + rcx]
movups xmmword [rbp - 0x18], xmm0
sbb rax, rax
and rdx, rax
movsxd rax, dword [r14 + 0x50]
lea rdi, [rdx + rax*8]
cmp rbx, rdi
je 0x14004603b
movsxd rcx, dword [rbx]
mov eax, esi
sub eax, ecx
neg eax
lea rdx, [rbx + rcx]
sbb rax, rax
and rdx, rax
lea rcx, [rbp + 0x1b0]
call fcn.1400408e0
lea rcx, [rbp + 0x440]
mov eax, 5
lea rdx, [rbp + 0x1b0]
nop dword [rax]
nop dword [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
lea rdx, [rdx + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rdx - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rdx - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rdx - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rdx - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rdx - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rdx - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rax, 1
jne 0x140045f90
mov rax, qword [rdx]
mov qword [rcx], rax
mov eax, dword [rdx + 8]
mov dword [rcx + 8], eax
mov rax, qword [rbp + 0x1b0]
mov rcx, rax
shr rax, 0x20
shr ax, 1
and ax, 1
shr rcx, 0x30
cmp cx, ax
jbe 0x140046017
dec cx
mov word [rbp + 0x446], cx
lea rdx, [rbp + 0x440]
mov rcx, r13
call fcn.14003b5c0
test al, al
je 0x140046382
add rbx, 8
cmp rbx, rdi
jne 0x140045f52
movsxd rcx, dword [r14 + 0x44]
lea r8, [r14 + 0x44]
mov eax, esi
sub eax, ecx
neg eax
lea rbx, [r8 + rcx]
movsxd rcx, dword [r8]
sbb rax, rax
and rbx, rax
mov eax, esi
sub eax, ecx
neg eax
lea rdx, [r8 + rcx]
sbb rax, rax
and rdx, rax
movsxd rax, dword [r14 + 0x40]
lea rdi, [rdx + rax*8]
cmp rbx, rdi
je 0x1400460b2
movsxd rcx, dword [rbx]
mov eax, esi
sub eax, ecx
neg eax
lea rdx, [rbx + rcx]
sbb rax, rax
and rdx, rax
lea rcx, [rbp + 0xbf0]
call fcn.1400408e0
lea rdx, [rbp + 0xbf0]
mov rcx, r13
call fcn.14003b5c0
test al, al
je 0x1400463a3
add rbx, 8
cmp rbx, rdi
jne 0x140046073
movsxd rcx, dword [r14 + 0x3c]
lea r8, [r14 + 0x3c]
mov eax, esi
sub eax, ecx
neg eax
lea rbx, [r8 + rcx]
movsxd rcx, dword [r8]
sbb rax, rax
and rbx, rax
mov eax, esi
sub eax, ecx
neg eax
lea rdx, [r8 + rcx]
sbb rax, rax
and rdx, rax
movsxd rax, dword [r14 + 0x38]
lea rdi, [rdx + rax*8]
cmp rbx, rdi
je 0x1400461cd
nop
movsxd rcx, dword [rbx]
mov eax, esi
sub eax, ecx
neg eax
lea rdx, [rbx + rcx]
sbb rax, rax
and rdx, rax
lea rcx, [rbp + 0x6d0]
call fcn.1400408e0
lea rcx, [rbp + 0x960]
mov eax, 5
lea rdx, [rbp + 0x6d0]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
lea rdx, [rdx + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rdx - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rdx - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rdx - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rdx - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rdx - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rdx - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rax, 1
jne 0x140046122
mov rax, qword [rdx]
mov qword [rcx], rax
mov eax, dword [rdx + 8]
mov dword [rcx + 8], eax
mov rax, qword [rbp + 0x6d0]
mov rcx, rax
shr rax, 0x20
shr ax, 1
and ax, 1
shr rcx, 0x30
cmp cx, ax
jbe 0x1400461a9
dec cx
mov word [rbp + 0x966], cx
lea rdx, [rbp + 0x960]
mov rcx, r13
call fcn.14003b5c0
test al, al
je 0x140046382
add rbx, 8
cmp rbx, rdi
jne 0x1400460f0
mov rbx, qword [rbp + 0xed8]
movsxd r12, dword [r14 + 0x38]
add rbx, 8
mov qword [rsp + 0x78], rbx
mov rcx, qword [rbx + 8]
mov rdx, qword [rcx + 0x18]
lea rax, [rdx + r12]
cmp rax, qword [rcx + 0x10]
jbe 0x140046201
mov rdx, r12
mov rcx, rbx
call fcn.14003bc10
mov rdx, rsi
mov rcx, qword [rbx + 8]
lea rax, [rdx + r12]
mov r8, r12
mov r9, qword [rcx + 0x28]
mov qword [rcx + 0x18], rax
add r9, rdx
mov rax, qword [rbx + 8]
xor edx, edx
mov qword [rsp + 0x70], r9
mov rcx, qword [rax + 0x20]
add rcx, qword [rax + 0x18]
mov qword [rbx + 0x10], rcx
mov rcx, r9
call fcn.14004f130
mov r15d, esi
mov dword [rsp + 0x50], esi
cmp dword [r14 + 0x7c], esi
jle 0x140046415
lea rax, [r14 + 0x80]
mov r13, rsi
mov qword [rsp + 0x60], rax
nop word [rax + rax]
movsxd rcx, dword [rax]
mov r14b, 1
lea rdx, [rax + rcx]
mov eax, esi
sub eax, ecx
neg eax
sbb rax, rax
and rdx, rax
mov rax, qword [rbp + 0xed0]
mov rdi, qword [rax + 0x3e30]
mov ebx, dword [rdx + r13]
cmp dword [rdi + rbx*4], esi
jne 0x140046318
lea rcx, [rax + 0x3e38]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [rdi + rbx*4], esi
jne 0x1400462fb
mov rax, qword [rbp + 0xed0]
lea rcx, [rbx + rbx*4]
mov rax, qword [rax + 0x210]
lea r10, [rax + rcx*4]
movsxd rax, dword [r10 + 4]
lea r8, [r10 + 4]
test eax, eax
lea rcx, [r8 + rax]
cmove rcx, rsi
test rcx, rcx
je 0x1400462f7
movsxd rax, dword [r8]
mov rcx, r10
mov r9, qword [rbp + 0xed8]
test eax, eax
lea rdx, [r8 + rax]
cmove rdx, rsi
lea r8, str.Creating__s
call fcn.1400492d0
movzx r14d, al
lock inc dword [rdi + rbx*4]
mov rbx, qword [rbp + 0xed0]
lea rcx, [rbx + 0x3e38]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r14b, r14b
je 0x1400463b4
mov rdi, qword [rsp + 0x58]
inc r15d
add r13, 4
cmp r15d, dword [rdi + 0x7c]
jge 0x14004640e
mov rax, qword [rsp + 0x60]
jmp 0x140046260
cmp ebx, 0xffffffff
je 0x140045ecf
movsxd rax, ebx
mov rbx, qword [rsp + 0x50]
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x40]
lea r8, [rax + rdx*8]
test r8, r8
je 0x140045ed4
mov dword [r8], 0x40000000
jmp 0x140045ed4
movsxd rax, dword [r14]
lea rdx, str.Failed_to_remove_directory__s_as_part_of_preparing_to_actually_running_this_node
lea r8, [r14 + rax]
jmp 0x1400463f1
mov r14, r9
jmp 0x140045f0a
movsxd rax, dword [rbx]
lea rdx, str.Failed_to_create_output_directory_for_targetfile__s_as_part_of_preparing_to_actually_running_this_node
sub esi, eax
lea rcx, [rbp - 0x18]
neg esi
lea r8, [rbx + rax]
sbb rax, rax
and r8, rax
call fcn.140046a20
mov r13, qword [rbp + 0xed8]
mov ebx, 4
jmp 0x14004698b
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax]
lea rdx, [rax + rcx]
mov eax, esi
sub eax, ecx
neg eax
sbb rax, rax
and rdx, rax
movsxd rax, r15d
movsxd rcx, dword [rdx + rax*4]
mov rax, qword [rbx + 0x210]
lea rdx, [rcx + rcx*4]
lea rcx, [rax + rdx*4]
movsxd rax, dword [rax + rdx*4]
lea rdx, str.failed_to_create_shared_resource__s
lea r8, [rcx + rax]
test eax, eax
lea rcx, [rbp - 0x58]
cmove r8, rsi
call fcn.140046a20
mov r13, qword [rbp + 0xed8]
mov ebx, eax
jmp 0x14004698b
mov rbx, qword [rsp + 0x78]
jmp 0x14004641a
mov rdi, qword [rsp + 0x58]
lea rdx, str.Launching_process
mov ecx, 0x10
call fcn.140013c50
lea rcx, [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400469e9
mov rax, qword [rsp + 0x78]
xor edx, edx
sub rax, qword [0x140098f18]
imul rax, rax, 0xf4240
div qword [0x140098f10]
add rax, qword [0x140098f20]
cmp byte [0x140098b00], sil
mov qword [rbp - 0x30], rax
je 0x1400464ca
mov eax, dword [rsp + 0x68]
lea rcx, [rbp - 0x80]
mov dword [rbp + 0x68], eax
xorps xmm0, xmm0
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x70], rax
movdqu xmmword [rbp + 0x78], xmm0
mov dword [rbp + 0x90], 0x32
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400469f6
mov rax, qword [rbp - 0x80]
xor edx, edx
sub rax, qword [0x140098f18]
imul rax, rax, 0xf4240
div qword [0x140098f10]
add rax, qword [0x140098f20]
mov qword [rbp + 0x88], rax
mov rcx, qword [rbx + 8]
mov rdx, qword [rcx + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + r12]
cmp rax, qword [rcx + 0x10]
jbe 0x1400464f2
mov rdx, r12
mov rcx, rbx
call fcn.14003bc10
mov rdx, rsi
mov rcx, qword [rbx + 8]
mov r14, qword [rbp + 0xee0]
mov rax, qword [rcx + 0x28]
add rax, rdx
mov qword [rsp + 0x60], rax
lea rax, [rdx + r12]
mov qword [rcx + 0x18], rax
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x20]
add rcx, qword [rax + 0x18]
mov qword [rbx + 0x10], rcx
mov rax, qword [r14 + 8]
mov ecx, dword [rax + 0xa4]
shr ecx, 0xb
test cl, 1
jne 0x140046665
mov r14, qword [0x1400988f0]
mov r15d, esi
test r12, r12
je 0x14004665e
lea r13, [rdi + 0x3c]
mov rbx, rsi
movsxd rcx, dword [r13]
mov eax, esi
sub eax, ecx
neg eax
sbb rax, rax
lea r8, [rcx + r13]
and r8, rax
lea rcx, [rbp + 0xb0]
add r8, rbx
movsxd rax, dword [r8]
test eax, eax
lea rdx, [r8 + rax]
cmove rdx, rsi
call fcn.140028b60
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x60], xmm1
mov rdi, qword [rbp - 0x60]
cmp rdi, r14
jb 0x140046642
call fcn.14002b780
mov r14, rax
cmp rdi, rax
jb 0x140046642
movabs rax, 0x12e0be826d694b2f
mov rcx, r14
mul r14
mov eax, esi
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 0x1d
dec rcx
mov qword [rbp], rcx
mov qword [rbp - 8], rcx
movsxd rcx, dword [r13]
sub eax, ecx
neg eax
sbb rax, rax
lea r8, [rcx + r13]
and r8, rax
mov eax, esi
add r8, rbx
movsxd rdx, dword [r8]
sub eax, edx
neg eax
lea rcx, [r8 + rdx]
sbb rax, rax
and rcx, rax
lea rdx, [rbp - 8]
call fcn.14005d058
movsxd rcx, dword [r13]
mov eax, esi
sub eax, ecx
neg eax
sbb rax, rax
lea r8, [rcx + r13]
and r8, rax
lea rcx, [rbp + 0xc8]
add r8, rbx
movsxd rax, dword [r8]
test eax, eax
lea rdx, [r8 + rax]
cmove rdx, rsi
call fcn.140028b60
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x60], xmm1
mov rdi, qword [rbp - 0x60]
mov rax, qword [rsp + 0x60]
inc r15d
mov qword [rax + rbx], rdi
add rbx, 8
movsxd rax, r15d
cmp rax, r12
jb 0x140046551
mov r14, qword [rbp + 0xee0]
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140046a03
mov rax, qword [rbp - 0x40]
lea rcx, [rbp + 0x180]
sub rax, qword [0x140098f18]
xor edx, edx
mov r13, qword [rbp + 0xed8]
imul rax, rax, 0xf4240
mov r8, r13
div qword [0x140098f10]
mov rdx, r14
mov r15, rax
lea rax, [rsp + 0x50]
add r15, qword [0x140098f20]
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x20], rax
call fcn.140044c30
mov edi, dword [rsp + 0x50]
mov ebx, 3
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 8], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp + 0x18], xmm1
movups xmmword [rbp + 0x28], xmm0
test edi, edi
jne 0x1400467a3
mov rax, qword [r14 + 8]
mov ecx, dword [rax + 0xa4]
shr ecx, 0xb
test cl, 1
jne 0x1400467a3
mov r15d, esi
test r12, r12
je 0x14004679e
mov rax, qword [rsp + 0x58]
mov r14, rsi
mov r13, qword [rsp + 0x70]
add rax, 0x3c
mov qword [rsp + 0x50], rax
movsxd rcx, dword [rax]
lea r8, [rax + rcx]
mov eax, esi
sub eax, ecx
lea rcx, [rbp + 0xe0]
neg eax
sbb rax, rax
and r8, rax
add r8, r14
movsxd rax, dword [r8]
test eax, eax
lea rdx, [r8 + rax]
cmove rdx, rsi
call fcn.140028b60
lea r13, [r13 + 1]
movsd xmm1, qword [rax + 0x10]
mov rax, qword [rsp + 0x60]
movsd qword [rbp - 0x60], xmm1
mov rdx, qword [rax + r14]
cmp rdx, qword [rbp - 0x60]
sete al
cmove edi, ebx
mov byte [r13 - 1], al
inc r15d
movsxd rax, r15d
add r14, 8
cmp rax, r12
mov rax, qword [rsp + 0x50]
jb 0x140046724
mov r13, qword [rbp + 0xed8]
mov r14, qword [rbp + 0xee0]
mov dword [rsp + 0x50], edi
mov r15, qword [rsp + 0x68]
mov rcx, qword [rbp + 0xed0]
mov r8, r14
mov rdx, r13
call fcn.140045490
cmp qword [0x1400988b8], rsi
mov r14, qword [rbp + 0x18]
mov r12d, dword [rbp + 8]
jne 0x1400467d3
cmp byte [0x140098f68], sil
je 0x140046866
lea rcx, [rbp + 0xed8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140046a10
mov rax, qword [rbp + 0xed8]
xor edx, edx
sub rax, qword [0x140098f18]
mov rcx, r15
imul rax, rax, 0xf4240
xorps xmm0, xmm0
div qword [0x140098f10]
sub rcx, rax
sub rcx, qword [0x140098f20]
js 0x14004681f
cvtsi2sd xmm0, rcx
jmp 0x140046834
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
divsd xmm0, qword [0x14008dc60]
mov eax, dword [r13 + 0x38]
mov r9, r14
mov dword [rsp + 0x28], eax
mov r8d, r12d
mulsd xmm0, qword [0x14008dc58]
cvttsd2si ecx, xmm0
mov dword [rsp + 0x20], ecx
mov rcx, qword [rbp + 0xee0]
call fcn.1400257b0
mov rax, qword [rsp + 0x70]
lea rcx, [rbp + 8]
mov r9, qword [r13 + 0x40]
mov r8, qword [rbp - 0x38]
mov rdx, qword [rsp + 0x58]
mov byte [rsp + 0x48], sil
mov qword [rsp + 0x40], rax
movzx eax, byte [rbp + 0xee8]
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r13
call fcn.14003e770
mov r15d, 4
mov esi, r15d
test r12d, r12d
jne 0x140046914
cmp edi, 2
jge 0x140046914
mov esi, ebx
mov rbx, qword [rbp + 0xed0]
cmp byte [rbx + 0x21d], r12b
je 0x140046914
mov rdi, qword [rbp + 0xee0]
mov rax, qword [rdi + 8]
mov ecx, dword [rax + 0xa4]
test ecx, 0x6000
je 0x140046914
bt ecx, 0xd
jae 0x140046903
mov r9, qword [rbp + 0xef0]
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call fcn.140038820
test al, al
cmove esi, r15d
mov r9, r14
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call fcn.140045800
test r14, r14
je 0x140046932
mov rdx, qword [r14 - 8]
lea rcx, [r14 - 8]
mov rax, qword [rbp + 0x30]
neg rdx
lock xadd qword [rax], rdx
call fcn.1400578b0
lea rcx, [rbp + 0x68]
mov ebx, esi
call fcn.140001250
lea rcx, [rbp + 0xee0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400469cf
mov rax, qword [rbp + 0xee0]
xor edx, edx
sub rax, qword [0x140098f18]
imul rax, rax, 0xf4240
div qword [0x140098f10]
sub rax, qword [rbp - 0x30]
add rax, qword [0x140098f20]
lock inc dword [0x140098858]
lock xadd qword [0x140098860], rax
mov rax, qword [rbp - 0x28]
mov rcx, qword [r13 + 0x10]
mov qword [r13 + 0x18], rax
cmp qword [rcx + 0x20], rax
jbe 0x1400469ad
nop dword [rax]
mov rcx, qword [rcx]
mov qword [r13 + 0x10], rcx
cmp qword [rcx + 0x20], rax
ja 0x1400469a0
mov rcx, qword [r13 + 0x10]
sub rax, qword [rcx + 0x20]
mov qword [rcx + 0x18], rax
mov eax, ebx
add rsp, 0xf88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013bd0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013bd0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013bd0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013bd0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013bd0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013bd0
int3