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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x928]
sub rsp, 0xa28
mov rsi, rcx
call fcn.140013bf0
xor r9d, r9d
mov qword [rbp + 0x10], rax
xor r8d, r8d
lea rcx, str.Tundra_RemoveStaleOutputs
xor edx, edx
mov r15, rax
call fcn.140003ca0
mov rcx, qword [rsi + 0xc8]
lea rbx, [rsi + 8]
mov r8, qword [rsi + 0xb8]
mov rdi, rbx
mov qword [rbp], rbx
mov r14, qword [rbx + 0x10]
mov qword [rbp + 0xa8], r14
mov qword [rbp - 0x48], r8
mov qword [rbp + 0x980], rcx
mov qword [rbp + 0xa0], rbx
test rcx, rcx
jne 0x14003e084
lea rdx, str.unable_to_clean_up_stale_output_files___no_previous_build_state
mov ecx, 8
call fcn.140013a20
jmp 0x14003f4fd
xor r9d, r9d
mov qword [rbp + 0x38], rsi
xorps xmm0, xmm0
mov qword [rbp + 0x28], r9
movdqu xmmword [rbp + 0x18], xmm0
mov dword [rbp + 0x30], r9d
movdqu xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], r9
mov dword [rbp + 0x58], r9d
mov qword [rbp + 0x60], rsi
movsxd r12, dword [r8 + 8]
test r12, r12
jle 0x14003e2e8
lea r13, [r8 + 0x10]
mov r15d, r9d
mov qword [rbp + 0x978], r13
nop word [rax + rax]
movsxd rsi, dword [r13]
mov eax, r9d
sub eax, dword [r13]
add rsi, r13
neg eax
sbb rax, rax
and rsi, rax
mov eax, r9d
add rsi, r15
sub eax, dword [rsi + 0x30]
lea rcx, [rsi + 0x30]
movsxd rdx, dword [rcx]
lea r8, [rsi + 0x30]
movsxd rbx, dword [r8]
add rdx, rcx
neg eax
sbb rax, rax
add rbx, r8
and rdx, rax
movsxd rax, dword [rsi + 0x2c]
lea r14, [rdx + rax*8]
mov eax, r9d
sub eax, dword [r8]
neg eax
sbb rax, rax
and rbx, rax
cmp rbx, r14
je 0x14003e187
xor r13d, r13d
nop dword [rax]
movsxd r8, dword [rbx]
lea rcx, [rbp + 0x18]
mov edi, dword [rbx + 4]
add r8, rbx
mov eax, r13d
mov edx, edi
sub eax, dword [rbx]
neg eax
sbb rax, rax
and r8, rax
call fcn.140015f50
cmp eax, 0xffffffff
jne 0x14003e174
movsxd r8, dword [rbx]
lea rcx, [rbp + 0x18]
add r8, rbx
mov eax, r13d
sub eax, dword [rbx]
mov edx, edi
neg eax
sbb rax, rax
and r8, rax
call fcn.140018640
add rbx, 8
cmp rbx, r14
jne 0x14003e130
mov r13, qword [rbp + 0x978]
xor r9d, r9d
movsxd rdx, dword [rsi + 0x40]
lea rcx, [rsi + 0x40]
movsxd rbx, dword [rsi + 0x40]
lea r8, [rsi + 0x40]
add rdx, rcx
mov eax, r9d
sub eax, dword [rcx]
neg eax
sbb rax, rax
add rbx, r8
and rdx, rax
movsxd rax, dword [rsi + 0x3c]
lea r14, [rdx + rax*8]
mov eax, r9d
sub eax, dword [r8]
neg eax
sbb rax, rax
and rbx, rax
cmp rbx, r14
je 0x14003e221
xor r13d, r13d
nop dword [rax + rax]
movsxd r8, dword [rbx]
lea rcx, [rbp + 0x18]
mov edi, dword [rbx + 4]
add r8, rbx
cmp dword [rbx], r13d
mov edx, edi
cmove r8, r13
call fcn.140015f50
cmp eax, 0xffffffff
jne 0x14003e20e
movsxd r8, dword [rbx]
lea rcx, [rbp + 0x18]
add r8, rbx
mov eax, r13d
sub eax, dword [rbx]
mov edx, edi
neg eax
sbb rax, rax
and r8, rax
call fcn.140018640
add rbx, 8
cmp rbx, r14
jne 0x14003e1d0
mov r13, qword [rbp + 0x978]
xor r9d, r9d
movsxd rdx, dword [rsi + 0x38]
lea rcx, [rsi + 0x38]
movsxd rbx, dword [rsi + 0x38]
lea r8, [rsi + 0x38]
add rdx, rcx
mov eax, r9d
sub eax, dword [rcx]
neg eax
sbb rax, rax
add rbx, r8
and rdx, rax
movsxd rax, dword [rsi + 0x34]
lea rsi, [rdx + rax*8]
mov eax, r9d
sub eax, dword [r8]
neg eax
sbb rax, rax
and rbx, rax
cmp rbx, rsi
je 0x14003e2c1
xor r13d, r13d
nop dword [rax]
nop word [rax + rax]
movsxd r8, dword [rbx]
lea rcx, [rbp + 0x40]
mov edi, dword [rbx + 4]
add r8, rbx
cmp dword [rbx], r13d
mov edx, edi
cmove r8, r13
call fcn.140015f50
cmp eax, 0xffffffff
jne 0x14003e2ae
movsxd r8, dword [rbx]
lea rcx, [rbp + 0x40]
add r8, rbx
mov eax, r13d
sub eax, dword [rbx]
mov edx, edi
neg eax
sbb rax, rax
and r8, rax
call fcn.140018640
add rbx, 8
cmp rbx, rsi
jne 0x14003e270
mov r13, qword [rbp + 0x978]
xor r9d, r9d
add r15, 0x94
sub r12, 1
jne 0x14003e0d0
mov rbx, qword [rbp]
mov rcx, qword [rbp + 0x980]
mov r8, qword [rbp - 0x48]
mov rsi, qword [rbp + 0x970]
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x20], 0
mov qword [rbp + 0xb8], rdx
xorps xmm0, xmm0
lea rdx, [rbp]
mov qword [rbp - 0x10], rsi
mov qword [rbp + 0xc0], rdx
mov eax, r9d
lea rdx, [rbp + 0x18]
mov dword [rbp - 0x18], eax
mov qword [rbp + 0x68], rdx
lea rdx, [rbp - 0x30]
movdqu xmmword [rbp - 0x30], xmm0
mov qword [rbp + 0x70], rdx
lea rdx, [rbp + 0x40]
movups xmm0, xmmword [rbp + 0xb8]
mov qword [rbp + 0x88], rdx
movups xmmword [rbp + 0x78], xmm0
movsxd rdi, dword [rcx + 4]
mov qword [rbp + 0x980], rdi
test rdi, rdi
jle 0x14003e69b
lea rdx, [rcx + 0xc]
mov rcx, r9
mov qword [rbp + 0x988], rcx
mov qword [rbp - 8], rdx
nop dword [rax]
nop dword [rax + rax]
movsxd rbx, dword [rdx]
mov eax, r9d
sub eax, dword [rdx]
add rbx, rdx
mov edx, dword [r8 + 4]
neg eax
sbb rax, rax
and rbx, rax
add rbx, rcx
mov rcx, rbx
mov qword [rbp - 0x50], rbx
call fcn.1400040a0
xor r9d, r9d
test al, al
je 0x14003e662
movsxd rdx, dword [rbx + 0x28]
lea rcx, [rbx + 0x28]
movsxd r13, dword [rbx + 0x28]
lea r8, [rbx + 0x28]
add rdx, rcx
mov eax, r9d
sub eax, dword [rcx]
neg eax
sbb rax, rax
add r13, r8
and rdx, rax
movsxd rax, dword [rbx + 0x24]
lea rcx, [rdx + rax*8]
mov eax, r9d
sub eax, dword [r8]
neg eax
mov qword [rbp - 0x40], rcx
sbb rax, rax
and r13, rax
cmp r13, rcx
je 0x14003e508
nop word [rax + rax]
mov r12d, dword [r13 + 4]
mov eax, r9d
sub eax, dword [r13]
mov edx, r12d
movsxd r14, dword [r13]
mov rcx, qword [rbp + 0x68]
add r14, r13
neg eax
mov dword [rbp + 0x978], r12d
sbb rax, rax
and r14, rax
mov r8, r14
call fcn.140015f50
cmp eax, 0xffffffff
jne 0x14003e4e9
mov rax, qword [rbp + 0x88]
xor dil, dil
mov ecx, dword [rax + 0x10]
mov rbx, qword [rax]
mov rsi, qword [rax + 8]
test ecx, ecx
je 0x14003e495
mov r15d, ecx
mov r12d, 1
nop word [rax + rax]
cmp dword [rbx], 0
je 0x14003e47c
mov rcx, qword [rsi]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rcx + r8], 0
jne 0x14003e460
mov rdx, r14
call fcn.1400546c0
test eax, eax
movzx edi, dil
cmove edi, r12d
add rbx, 4
add rsi, 8
sub r15, r12
jne 0x14003e450
mov r12d, dword [rbp + 0x978]
test dil, dil
jne 0x14003e4e9
mov rdx, r14
lea rcx, [rbp + 0x78]
call fcn.14003f5b0
mov rdx, r14
lea rcx, [rbp + 0x118]
call fcn.140026540
movsd xmm0, qword [rax + 0x10]
mov eax, dword [rax]
shr eax, 2
movsd qword [rbp + 0xe0], xmm0
test al, 1
je 0x14003e4e9
mov rcx, qword [rbp + 0x70]
mov r8, r14
mov edx, r12d
call fcn.140015f50
cmp eax, 0xffffffff
jne 0x14003e4e9
mov rcx, qword [rbp + 0x70]
mov r8, r14
mov edx, r12d
call fcn.140018640
add r13, 8
mov r9d, 0
cmp r13, qword [rbp - 0x40]
jne 0x14003e3f0
mov rbx, qword [rbp - 0x50]
mov rdi, qword [rbp + 0x980]
movsxd rdx, dword [rbx + 0x30]
lea rcx, [rbx + 0x30]
movsxd r13, dword [rbx + 0x30]
lea r8, [rbx + 0x30]
add rdx, rcx
mov eax, r9d
sub eax, dword [rcx]
neg eax
sbb rax, rax
add r13, r8
and rdx, rax
movsxd rax, dword [rbx + 0x2c]
lea rcx, [rdx + rax*8]
mov eax, r9d
sub eax, dword [r8]
neg eax
mov qword [rbp - 0x40], rcx
sbb rax, rax
and r13, rax
cmp r13, rcx
je 0x14003e662
nop
mov r12d, dword [r13 + 4]
mov eax, r9d
sub eax, dword [r13]
mov edx, r12d
movsxd r14, dword [r13]
mov rcx, qword [rbp + 0x68]
add r14, r13
neg eax
mov dword [rbp + 0x978], r12d
sbb rax, rax
and r14, rax
mov r8, r14
call fcn.140015f50
cmp eax, 0xffffffff
jne 0x14003e647
mov rax, qword [rbp + 0x88]
xor bl, bl
mov ecx, dword [rax + 0x10]
mov rdi, qword [rax]
mov rsi, qword [rax + 8]
test ecx, ecx
je 0x14003e5f3
mov r15d, ecx
mov r12d, 1
nop dword [rax]
cmp dword [rdi], 0
je 0x14003e5db
mov rcx, qword [rsi]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rcx + r8], 0
jne 0x14003e5c0
mov rdx, r14
call fcn.1400546c0
test eax, eax
movzx ebx, bl
cmove ebx, r12d
add rdi, 4
add rsi, 8
sub r15, r12
jne 0x14003e5b0
mov r12d, dword [rbp + 0x978]
test bl, bl
jne 0x14003e647
mov rdx, r14
lea rcx, [rbp + 0x78]
call fcn.14003f5b0
mov rdx, r14
lea rcx, [rbp + 0x130]
call fcn.140026540
movsd xmm0, qword [rax + 0x10]
mov eax, dword [rax]
shr eax, 2
movsd qword [rbp + 0xe0], xmm0
test al, 1
je 0x14003e647
mov rcx, qword [rbp + 0x70]
mov r8, r14
mov edx, r12d
call fcn.140015f50
cmp eax, 0xffffffff
jne 0x14003e647
mov rcx, qword [rbp + 0x70]
mov r8, r14
mov edx, r12d
call fcn.140018640
add r13, 8
mov r9d, 0
cmp r13, qword [rbp - 0x40]
jne 0x14003e550
mov rdi, qword [rbp + 0x980]
mov rcx, qword [rbp + 0x988]
mov rdx, qword [rbp - 8]
add rcx, 0x50
mov r8, qword [rbp - 0x48]
sub rdi, 1
mov qword [rbp + 0x980], rdi
mov qword [rbp + 0x988], rcx
jne 0x14003e370
mov rbx, qword [rbp]
mov eax, dword [rbp - 0x18]
mov rsi, qword [rbp + 0x970]
mov edi, eax
mov rax, qword [rbx + 8]
shl rdi, 3
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rcx, [rdx + rdi]
cmp rcx, qword [rax + 0x10]
jbe 0x14003e6cc
mov rdx, rdi
mov rcx, rbx
call fcn.140038a30
xor r9d, r9d
mov edx, r9d
mov rax, qword [rbx + 8]
lea rcx, [rdx + rdi]
mov r14, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r14, rdx
mov rax, qword [rbx + 8]
mov qword [rbp - 0x48], r14
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov eax, dword [rbp - 0x20]
test eax, eax
je 0x14003e725
mov r8, qword [rbp - 0x28]
mov r10d, eax
mov rdx, qword [rbp - 0x30]
cmp dword [rdx], 0
je 0x14003e717
mov rax, qword [r8]
mov ecx, r9d
inc r9d
mov qword [r14 + rcx*8], rax
add rdx, 4
add r8, 8
sub r10, 1
jne 0x14003e705
mov eax, dword [rbp - 0x18]
mov rcx, r14
movzx r9d, byte [rbp + 0x970]
lea rdx, [r14 + rax*8]
mov r8, rdx
sub r8, r14
sar r8, 3
call fcn.14003f7e0
mov ebx, dword [rbp - 0x18]
lea rcx, [rbp + 0x98]
mov dword [rbp - 8], ebx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14003f595
mov rax, qword [rbp + 0x98]
xor edx, edx
sub rax, qword [0x14008eac8]
xor r15d, r15d
imul rax, rax, 0xf4240
mov dword [rbp - 0x38], r15d
div qword [0x14008eac0]
mov rdi, rax
add rdi, qword [0x14008ead0]
mov qword [rbp + 8], rdi
test ebx, ebx
je 0x14003f3e9
lea r13, [rsi + 8]
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x40], r13
mov edi, r15d
nop dword [rax + rax]
mov rbx, qword [r14 + rdi*8]
lea rcx, [rbp + 0xd0]
mov rdx, rbx
call fcn.140026540
movups xmm1, xmmword [rax]
movd eax, xmm1
test al, 1
je 0x14003e7ff
movd eax, xmm1
shr eax, 4
test al, 1
jne 0x14003e7ff
mov rcx, rbx
call fcn.140014580
test al, al
je 0x14003e7ff
mov r8, qword [r14 + rdi*8]
lea rdx, str.cleaned_up__s
mov ecx, 8
call fcn.140013a20
jmp 0x14003f328
mov rdx, qword [r14 + rdi*8]
lea rcx, [rbp + 0x100]
call fcn.140026540
mov eax, dword [rax]
shr eax, 2
test al, 1
je 0x14003f328
mov r8, qword [r14 + rdi*8]
lea rdx, str.Failed_deleting_stale_output_file__s
mov ecx, 2
call fcn.140013a20
mov rcx, r13
mov qword [rsp + 0x78], r13
call fcn.140034420
xor r12d, r12d
mov qword [rbp - 0x78], rax
mov rsi, rax
mov qword [rbp - 0x80], rax
mov rdi, rax
mov byte [rbp + 0x970], 0x7b
lea r15, [rbp + 0x970]
lea r14d, [r12 + 1]
nop dword [rax]
nop word [rax + rax]
mov rcx, rsi
sub rcx, rdi
add rcx, 0x3f8
jne 0x14003e8e3
mov rax, qword [r13 + 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 0x14003e8ae
mov edx, 0x400
mov rcx, r13
call fcn.140038a30
xor edx, edx
mov rax, qword [r13 + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [r13 + 8]
mov ecx, 0x3f8
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [r13 + 0x10], rdx
mov qword [rsi + 0x3f8], rdi
mov rsi, rdi
cmp rcx, r14
mov rbx, r14
mov rdx, r15
cmovb rbx, rcx
mov rcx, rdi
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r15, rbx
sub r14, rbx
jne 0x14003e870
mov byte [rbp - 0x68], r14b
lea r15, [rbp + 0x978]
mov r14d, 1
mov qword [rbp - 0x78], rsi
mov byte [rbp + 0x978], 0x22
nop dword [rax]
mov rax, rsi
sub rax, rdi
add rax, 0x3f8
jne 0x14003e9a2
mov rax, qword [r13 + 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 0x14003e96d
mov edx, 0x400
mov rcx, r13
call fcn.140038a30
xor edx, edx
mov rax, qword [r13 + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [r13 + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [r13 + 0x10], rdx
mov qword [rsi + 0x3f8], rdi
mov rsi, rdi
cmp rax, r14
mov rbx, r14
mov rdx, r15
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r15, rbx
sub r14, rbx
jne 0x14003e930
lea r8, [r14 - 1]
mov qword [rbp - 0x70], rdi
lea rdx, [0x14007edbc]
mov qword [rbp - 0x78], rsi
lea rcx, [rsp + 0x78]
mov qword [rbp - 0x60], r12
call fcn.140034290
mov rsi, qword [rsp + 0x78]
lea r15, [rbp + 0x980]
mov r12, qword [rbp - 0x60]
mov r14d, 1
mov rdi, qword [rbp - 0x70]
mov r13, qword [rbp - 0x78]
mov byte [rbp + 0x980], 0x22
mov rax, r13
sub rax, rdi
add rax, 0x3f8
jne 0x14003ea84
mov rax, qword [rsi + 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 0x14003ea4f
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
xor edx, edx
mov rax, qword [rsi + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rsi + 0x10], rdx
mov qword [r13 + 0x3f8], rdi
mov r13, rdi
cmp rax, r14
mov rbx, r14
mov rdx, r15
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r15, rbx
sub r14, rbx
jne 0x14003ea12
mov qword [rbp - 0x78], r13
lea r15, [rbp + 0x988]
mov byte [rbp + 0x988], 0x3a
mov r14d, 1
nop word [rax + rax]
mov rax, r13
sub rax, rdi
add rax, 0x3f8
jne 0x14003eb42
mov rax, qword [rsi + 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 0x14003eb0d
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
xor edx, edx
mov rax, qword [rsi + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rsi + 0x10], rdx
mov qword [r13 + 0x3f8], rdi
mov r13, rdi
cmp rax, r14
mov rbx, r14
mov rdx, r15
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r15, rbx
sub r14, rbx
jne 0x14003ead0
mov byte [rbp - 0x68], r14b
lea r15, [rsp + 0x30]
mov r14d, 1
mov qword [rbp - 0x78], r13
mov byte [rsp + 0x30], 0x22
nop dword [rax]
nop dword [rax + rax]
mov rax, r13
sub rax, rdi
add rax, 0x3f8
jne 0x14003ec02
mov rax, qword [rsi + 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 0x14003ebcd
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
xor edx, edx
mov rax, qword [rsi + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rsi + 0x10], rdx
mov qword [r13 + 0x3f8], rdi
mov r13, rdi
cmp rax, r14
mov rbx, r14
mov rdx, r15
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r15, rbx
sub r14, rbx
jne 0x14003eb90
lea r8, [r14 - 1]
mov qword [rbp - 0x70], rdi
lea rdx, str.removeStaleOutputFailed
mov qword [rbp - 0x78], r13
lea rcx, [rsp + 0x78]
mov qword [rbp - 0x60], r12
call fcn.140034290
mov rsi, qword [rsp + 0x78]
lea r15, [rsp + 0x38]
mov r12, qword [rbp - 0x60]
mov r14d, 1
mov rdi, qword [rbp - 0x70]
mov r13, qword [rbp - 0x78]
mov byte [rsp + 0x38], 0x22
nop
mov rax, r13
sub rax, rdi
add rax, 0x3f8
jne 0x14003ece2
mov rax, qword [rsi + 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 0x14003ecad
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
xor edx, edx
mov rax, qword [rsi + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rsi + 0x10], rdx
mov qword [r13 + 0x3f8], rdi
mov r13, rdi
cmp rax, r14
mov rbx, r14
mov rdx, r15
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r15, rbx
sub r14, rbx
jne 0x14003ec70
mov qword [rbp - 0x78], r13
lea r15, [rsp + 0x40]
mov byte [rbp - 0x68], 1
mov r14d, 1
mov byte [rsp + 0x40], 0x2c
nop dword [rax]
nop dword [rax + rax]
mov rax, r13
sub rax, rdi
add rax, 0x3f8
jne 0x14003eda2
mov rax, qword [rsi + 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 0x14003ed6d
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
xor edx, edx
mov rax, qword [rsi + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rsi + 0x10], rdx
mov qword [r13 + 0x3f8], rdi
mov r13, rdi
cmp rax, r14
mov rbx, r14
mov rdx, r15
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r15, rbx
sub r14, rbx
jne 0x14003ed30
mov qword [rbp - 0x78], r13
lea r15, [rsp + 0x48]
mov byte [rsp + 0x48], 0x22
mov r14d, 1
mov rax, r13
sub rax, rdi
add rax, 0x3f8
jne 0x14003ee52
mov rax, qword [rsi + 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 0x14003ee1d
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
xor edx, edx
mov rax, qword [rsi + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rsi + 0x10], rdx
mov qword [r13 + 0x3f8], rdi
mov r13, rdi
cmp rax, r14
mov rbx, r14
mov rdx, r15
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r15, rbx
sub r14, rbx
jne 0x14003ede0
lea r8, [r14 - 1]
mov qword [rbp - 0x70], rdi
lea rdx, str.file
mov qword [rbp - 0x78], r13
lea rcx, [rsp + 0x78]
mov qword [rbp - 0x60], r12
call fcn.140034290
mov rsi, qword [rsp + 0x78]
lea r15, [rsp + 0x50]
mov r12, qword [rbp - 0x60]
mov r14d, 1
mov rdi, qword [rbp - 0x70]
mov r13, qword [rbp - 0x78]
mov byte [rsp + 0x50], 0x22
nop
mov rax, r13
sub rax, rdi
add rax, 0x3f8
jne 0x14003ef32
mov rax, qword [rsi + 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 0x14003eefd
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
xor edx, edx
mov rax, qword [rsi + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rsi + 0x10], rdx
mov qword [r13 + 0x3f8], rdi
mov r13, rdi
cmp rax, r14
mov rbx, r14
mov rdx, r15
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r15, rbx
sub r14, rbx
jne 0x14003eec0
mov qword [rbp - 0x78], r13
lea r15, [rsp + 0x58]
mov byte [rsp + 0x58], 0x3a
mov r14d, 1
mov rax, r13
sub rax, rdi
add rax, 0x3f8
jne 0x14003efe2
mov rax, qword [rsi + 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 0x14003efad
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
xor edx, edx
mov rax, qword [rsi + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rsi + 0x10], rdx
mov qword [r13 + 0x3f8], rdi
mov r13, rdi
cmp rax, r14
mov rbx, r14
mov rdx, r15
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r15, rbx
sub r14, rbx
jne 0x14003ef70
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x60], r12
mov rax, qword [rax + rcx*8]
mov byte [rbp - 0x68], r14b
mov qword [rbp + 0xb0], rax
test rax, rax
jne 0x14003f05f
lea r8d, [r14 + 4]
lea rdx, str.null
lea rcx, [rsp + 0x78]
call fcn.140034190
mov r14, qword [rbp - 0x60]
mov rdi, qword [rbp - 0x70]
mov r13, qword [rbp - 0x78]
mov rsi, qword [rsp + 0x78]
jmp 0x14003f1f0
mov byte [rsp + 0x60], 0x22
lea r15, [rsp + 0x60]
mov r14d, 1
nop
mov rax, r13
sub rax, rdi
add rax, 0x3f8
jne 0x14003f0e2
mov rax, qword [rsi + 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 0x14003f0ad
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
xor edx, edx
mov rax, qword [rsi + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rsi + 0x10], rdx
mov qword [r13 + 0x3f8], rdi
mov r13, rdi
cmp rax, r14
mov rbx, r14
mov rdx, r15
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r15, rbx
sub r14, rbx
jne 0x14003f070
mov rdx, qword [rbp + 0xb0]
lea r8, [r14 - 1]
lea rcx, [rsp + 0x78]
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x60], r12
call fcn.140034290
mov rsi, qword [rsp + 0x78]
lea r15d, [r14 + 1]
mov r14, qword [rbp - 0x60]
lea r12, [rsp + 0x68]
mov rdi, qword [rbp - 0x70]
mov r13, qword [rbp - 0x78]
mov byte [rsp + 0x68], 0x22
nop dword [rax]
mov rax, r13
sub rax, rdi
add rax, 0x3f8
jne 0x14003f1c2
mov rax, qword [rsi + 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 0x14003f18d
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
xor edx, edx
mov rax, qword [rsi + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rsi + 0x10], rdx
mov qword [r13 + 0x3f8], rdi
mov r13, rdi
cmp rax, r15
mov rbx, r15
mov rdx, r12
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r14, rbx
add r12, rbx
sub r15, rbx
jne 0x14003f150
mov qword [rbp - 0x78], r13
mov byte [rsp + 0x70], 0x7d
lea r12, [rsp + 0x70]
mov r15d, 1
mov rax, r13
sub rax, rdi
add rax, 0x3f8
jne 0x14003f272
mov rax, qword [rsi + 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 0x14003f23d
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
xor edx, edx
mov rax, qword [rsi + 8]
lea rcx, [rdx + 0x400]
mov rdi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rdi, rdx
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rsi + 0x10], rdx
mov qword [r13 + 0x3f8], rdi
mov r13, rdi
cmp rax, r15
mov rbx, r15
mov rdx, r12
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r14, rbx
add r12, rbx
sub r15, rbx
jne 0x14003f200
cmp qword [0x14008e770], r15
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x78], r13
je 0x14003f31c
lea rcx, [0x14008ead8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rsi, qword [0x14008e770]
mov rdi, qword [rbp - 0x80]
test r14, r14
je 0x14003f302
nop
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 0x14003f2d0
mov rsi, qword [0x14008e770]
mov rdx, rsi
mov ecx, 0xa
call fcn.140052f48
lea rcx, [0x14008ead8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rdi, qword [rbp - 0x50]
mov r14, qword [rbp - 0x48]
mov r13, qword [rbp - 0x40]
mov eax, dword [rbp - 0x38]
inc rdi
mov ebx, dword [rbp - 8]
inc eax
mov dword [rbp - 0x38], eax
mov qword [rbp - 0x50], rdi
cmp eax, ebx
jb 0x14003e7b0
mov rdi, qword [rbp + 8]
xor r15d, r15d
test ebx, ebx
je 0x14003f3e9
mov rax, qword [r14]
lea r8, str.Delete__d_artifact_files_that_are_no_longer_in_use.__like__s_
mov r9d, ebx
mov qword [rsp + 0x20], rax
mov edx, 0x7d0
lea rcx, [rbp + 0x150]
call fcn.1400031a0
lea rcx, [rbp + 8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14003f5a2
mov rax, qword [rbp + 8]
xor edx, edx
sub rax, qword [0x14008eac8]
xorps xmm0, xmm0
imul rax, rax, 0xf4240
div qword [0x14008eac0]
mov rcx, rax
sub rcx, rdi
add rcx, qword [0x14008ead0]
js 0x14003f3ba
cvtsi2sd xmm0, rcx
jmp 0x14003f3cf
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
divsd xmm0, qword [0x140083220]
lea r8, [rbp + 0x150]
xor ecx, ecx
cvttsd2si edx, xmm0
call fcn.140039710
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14003f40a
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rbp - 0x10]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14003f42b
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rbp - 0x10]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
mov rcx, qword [rbp + 0x40]
xorps xmm0, xmm0
mov qword [rbp - 0x20], 0
mov dword [rbp - 0x18], r15d
movdqu xmmword [rbp - 0x30], xmm0
test rcx, rcx
je 0x14003f460
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rbp + 0x60]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x14003f481
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rbp + 0x60]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
mov rcx, qword [rbp + 0x18]
xorps xmm0, xmm0
mov qword [rbp + 0x50], 0
mov dword [rbp + 0x58], r15d
movdqu xmmword [rbp + 0x40], xmm0
test rcx, rcx
je 0x14003f4b6
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rbp + 0x38]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x14003f4d7
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rbp + 0x38]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
mov rdi, qword [rbp + 0xa0]
xorps xmm0, xmm0
mov r14, qword [rbp + 0xa8]
mov dword [rbp + 0x30], r15d
mov r15, qword [rbp + 0x10]
movdqu xmmword [rbp + 0x18], xmm0
mov qword [rbp + 0x28], 0
mov qword [rdi + 0x10], r14
mov rax, qword [rdi + 8]
cmp qword [rax + 0x20], r14
jbe 0x14003f51d
nop dword [rax + rax]
mov rax, qword [rax]
mov qword [rdi + 8], rax
cmp qword [rax + 0x20], r14
ja 0x14003f510
mov rax, qword [rdi + 8]
sub r14, qword [rax + 0x20]
mov qword [rax + 0x18], r14
cmp byte [0x14008eab8], 0
je 0x14003f539
xor ecx, ecx
call fcn.14003df60
lea rcx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14003f588
mov rax, qword [rbp + 0x10]
xor edx, edx
sub rax, qword [0x14008eac8]
imul rax, rax, 0xf4240
div qword [0x14008eac0]
sub rax, r15
add rax, qword [0x14008ead0]
lock add qword [0x14008e800], rax
add rsp, 0xa28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3