Function at 0x140040240
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov r12, qword [rcx + 0x18]
mov r13, rcx
mov qword [rax - 0x20], rbx
mov qword [rax - 0x28], rsi
mov qword [rax - 0x30], rdi
mov qword [rax - 0x38], r14
mov r14, qword [rcx + 0xb8]
mov qword [rax - 0x40], r15
test r14, r14
jne 0x140040292
lea rdx, str.No_build_DAG_data
lea ecx, [r14 + 1]
call fcn.140013a20
xor dl, dl
jmp 0x1400411ce
mov r15, qword [rcx + 0xd0]
mov qword [rbp - 0x18], r15
test r15, r15
jne 0x1400402b9
lea rdx, str.No_build_file_scan_data__there_was_no_previous_build_done__
lea ecx, [r15 + 1]
call fcn.140013a20
xor dl, dl
jmp 0x1400411ce
xor r11d, r11d
mov qword [rbp - 0x28], r13
xorps xmm0, xmm0
mov qword [rbp - 0x38], r11
movdqu xmmword [rbp - 0x48], xmm0
mov dword [rbp - 0x30], r11d
mov qword [rbp - 0x20], r11
movdqu xmmword [rbp - 0x10], xmm0
mov qword [rbp], r11
mov dword [rbp + 8], r11d
mov qword [rbp + 0x10], r13
movsxd rsi, dword [r14 + 8]
test rsi, rsi
jle 0x1400403e4
lea rdi, [r14 + 0x10]
mov ebx, r11d
nop dword [rax]
movsxd r10, dword [rdi]
mov eax, r11d
sub eax, dword [rdi]
add r10, rdi
neg eax
sbb rax, rax
and r10, rax
add r10, rbx
cmp dword [r10 + 0x5c], 0xffffffff
je 0x1400403d3
cmp dword [r10 + 0x1c], 0
jle 0x1400403d3
movsxd r9, dword [r10 + 0x20]
lea rcx, [r10 + 0x20]
movsxd rdx, dword [r14 + 0x58]
lea r8, [r10 + 0x20]
add r9, rcx
mov eax, r11d
sub eax, dword [rcx]
lea rcx, [r14 + 0x58]
neg eax
sbb rax, rax
add rdx, rcx
and r9, rax
mov eax, r11d
sub eax, dword [rcx]
movsxd r11, dword [r8]
neg eax
sbb rax, rax
add r11, r8
and rdx, rax
movsxd rax, dword [r10 + 0x5c]
movsxd rcx, dword [rdx + rax*4]
lea r10, [rdx + rax*4]
movsxd rdx, dword [r9]
xor eax, eax
sub eax, dword [r8]
neg eax
sbb rax, rax
add rdx, r9
and r11, rax
xor eax, eax
sub eax, dword [r9]
mov r9, r15
neg eax
mov r8d, dword [r11 + 4]
sbb rax, rax
and rdx, rax
add rcx, r10
xor eax, eax
sub eax, dword [r10]
neg eax
sbb rax, rax
and rcx, rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x30], rax
add rcx, 0xc
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
call fcn.14003ffe0
mov r15, qword [rbp - 0x18]
xor r11d, r11d
add rbx, 0x94
sub rsi, 1
jne 0x140040300
lea rcx, [r13 + 8]
mov qword [rsp + 0x40], rcx
call fcn.140034420
mov qword [rsp + 0x50], rax
lea rsi, [rbp + 0xa0]
mov qword [rsp + 0x48], rax
mov r9, rax
mov qword [rsp + 0x58], rax
mov edi, 1
mov qword [rsp + 0x68], 0
mov byte [rbp + 0xa0], 0x7b
sub rax, r9
add rax, 0x3f8
jne 0x1400404a0
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x14004045f
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
je 0x1400404dc
mov rax, qword [rsp + 0x50]
jmp 0x140040420
mov byte [rsp + 0x60], 0
lea rsi, [rbp + 0xa8]
mov byte [rbp + 0xa8], 0x22
mov edi, 1
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x140040585
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x140040544
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x140040500
lea r8, [rdi - 1]
lea rdx, str.dagFile
lea rcx, [rsp + 0x40]
call fcn.140034290
mov r9, qword [rsp + 0x58]
lea rsi, [rbp + 0xb0]
mov byte [rbp + 0xb0], 0x22
mov edi, 1
nop dword [rax + rax]
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x140040675
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x140040634
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x1400405f0
mov byte [rbp + 0xb8], 0x3a
lea rsi, [rbp + 0xb8]
mov edi, 1
nop
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x140040745
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x140040704
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x1400406c0
mov r14, qword [r13 + 0x100]
mov byte [rsp + 0x60], dil
test r14, r14
jne 0x1400407ab
lea r8d, [rdi + 4]
lea rdx, str.null
lea rcx, [rsp + 0x40]
call fcn.140034190
mov r9, qword [rsp + 0x58]
jmp 0x14004095b
mov byte [rsp + 0x70], 0x22
lea rsi, [rsp + 0x70]
mov edi, 1
nop word [rax + rax]
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x140040845
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x140040804
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x1400407c0
lea r8, [rdi - 1]
mov rdx, r14
lea rcx, [rsp + 0x40]
call fcn.140034290
mov r9, qword [rsp + 0x58]
lea rsi, [rsp + 0x78]
mov byte [rsp + 0x78], 0x22
mov edi, 1
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x140040925
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x1400408e4
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x1400408a0
mov byte [rsp + 0x60], 1
lea rsi, [rbp - 0x80]
mov byte [rbp - 0x80], 0x2c
mov edi, 1
nop dword [rax]
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x1400409f5
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x1400409b4
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x140040970
mov byte [rbp - 0x78], 0x22
lea rsi, [rbp - 0x78]
mov edi, 1
nop dword [rax + rax]
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x140040ac5
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x140040a84
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x140040a40
lea r8, [rdi - 1]
lea rdx, str.files
lea rcx, [rsp + 0x40]
call fcn.140034290
mov r9, qword [rsp + 0x58]
lea rsi, [rbp - 0x70]
mov byte [rbp - 0x70], 0x22
mov edi, 1
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x140040bb5
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x140040b74
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x140040b30
mov byte [rbp - 0x68], 0x3a
lea rsi, [rbp - 0x68]
mov edi, 1
nop dword [rax + rax]
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x140040c85
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x140040c44
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x140040c00
mov byte [rbp - 0x60], 0x5b
lea rsi, [rbp - 0x60]
mov edi, 1
nop dword [rax + rax]
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x140040d55
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x140040d14
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x140040cd0
mov byte [rsp + 0x60], dil
lea rsi, str._n_EWIDS
mov edi, 1
nop dword [rax]
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x140040e25
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x140040de4
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x140040da0
mov r14d, dword [rbp - 0x38]
lea rax, [rbp - 0x18]
mov r15, qword [rbp - 0x20]
xor ebx, ebx
mov qword [rbp + 0x18], rax
lea rax, [rsp + 0x40]
mov qword [rbp + 0x20], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x28], rax
movsd xmm1, qword [rbp + 0x28]
movsd qword [rbp + 0x40], xmm1
movups xmm0, xmmword [rbp + 0x18]
movaps xmmword [rbp + 0x30], xmm0
test r14d, r14d
je 0x140040ed6
mov rsi, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x48]
nop dword [rax]
mov r8d, dword [rdi]
test r8d, r8d
je 0x140040ec2
mov r9, qword [rsi]
lea rcx, [rbp + 0x30]
mov eax, ebx
shl rax, 4
add rax, r15
mov qword [rsp + 0x20], rax
call fcn.140041240
inc ebx
add rdi, 4
add rsi, 8
cmp ebx, r14d
jb 0x140040ea0
mov r9, qword [rsp + 0x58]
mov byte [rbp - 0x58], 0x5d
lea rsi, [rbp - 0x58]
mov edi, 1
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x140040f75
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x140040f34
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x140040ef0
mov byte [rsp + 0x60], 1
lea rsi, [rbp - 0x50]
mov byte [rbp - 0x50], 0x7d
mov edi, 1
nop dword [rax]
mov rax, qword [rsp + 0x50]
sub rax, r9
add rax, 0x3f8
jne 0x140041045
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx + 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 0x140041004
mov edx, 0x400
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x400]
mov r9, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r9, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x3f8], r9
mov eax, 0x3f8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r9
cmp rax, rdi
mov rbx, rdi
mov rdx, rsi
mov rcx, r9
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rsp + 0x58]
add rsi, rbx
add qword [rsp + 0x68], rbx
add r9, rbx
mov qword [rsp + 0x58], r9
sub rdi, rbx
jne 0x140040fc0
mov rcx, qword [r13 + 0x118]
lea rdx, [0x14007ef20]
mov byte [rsp + 0x60], 1
call fcn.1400147a0
mov r14, rax
test rax, rax
jne 0x1400410b8
mov r8, qword [r13 + 0x118]
lea rdx, str.Failed_to_create_includes_report_file__s
lea ecx, [rdi + 1]
call fcn.140013a20
xor dl, dl
jmp 0x1400411ce
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x48]
test rdi, rdi
je 0x1400410fb
nop word [rax + rax]
mov ebx, 0x3f8
mov r9, r14
cmp rdi, rbx
mov edx, 1
mov rcx, rsi
cmovb rbx, rdi
mov r8, rbx
call fcn.1400529c8
mov rsi, qword [rsi + 0x3f8]
sub rdi, rbx
jne 0x1400410d0
mov rcx, r14
call fcn.140052714
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x140041124
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rbp - 0x28]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x140041145
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rbp - 0x28]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x140041166
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rbp - 0x28]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
mov rcx, qword [rbp - 0x10]
xor ebx, ebx
mov qword [rbp - 0x38], rbx
xorps xmm0, xmm0
mov dword [rbp - 0x30], ebx
mov qword [rbp - 0x20], rbx
movdqu xmmword [rbp - 0x48], xmm0
test rcx, rcx
je 0x14004119c
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 - 8]
test rcx, rcx
je 0x1400411bd
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rbp + 0x10]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
xorps xmm0, xmm0
mov qword [rbp], rbx
movdqu xmmword [rbp - 0x10], xmm0
mov dword [rbp + 8], ebx
mov dl, 1
mov rax, qword [r13 + 0x10]
mov r15, qword [rsp + 0x158]
mov r14, qword [rsp + 0x160]
mov rdi, qword [rsp + 0x168]
mov rsi, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x178]
mov qword [r13 + 0x18], r12
cmp qword [rax + 0x20], r12
jbe 0x14004121d
mov rcx, rax
nop word [rax + rax]
mov rcx, qword [rcx]
mov qword [r13 + 0x10], rcx
cmp qword [rcx + 0x20], r12
ja 0x140041210
mov rcx, qword [r13 + 0x10]
movzx eax, dl
sub r12, qword [rcx + 0x20]
mov qword [rcx + 0x18], r12
add rsp, 0x180
pop r13
pop r12
pop rbp
ret