Function at 0x14001f220
Capabilities:
Write file on windows

Disassembly:
mov dword [rsp + 0x18], r8d
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
mov rbp, rsp
sub rsp, 0x78
lea rdi, [rcx + 8]
mov rcx, qword [rcx + 0x18]
mov qword [rbp - 0x48], rcx
mov rcx, rdi
mov qword [rbp - 0x40], rdi
call fcn.140034420
xor r14d, r14d
mov qword [rbp - 0x30], rax
lea r9, [rbp + 0x60]
mov qword [rbp - 0x38], rax
mov r15, rax
mov byte [rbp + 0x60], 0x7b
mov rsi, rax
mov qword [rbp - 0x58], r9
lea r12d, [r14 + 1]
mov r13d, r14d
nop
mov rax, r15
sub rax, rsi
add rax, 0x3f8
jne 0x14001f2f7
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 0x14001f2c2
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rsi
mov r15, 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 r13, rbx
mov qword [rbp - 0x58], r9
sub r12, rbx
jne 0x14001f280
lea r9, [rbp + 0x60]
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x58], r9
mov r12d, 1
mov byte [rbp - 0x20], r14b
mov byte [rbp + 0x60], 0x22
nop dword [rax]
nop word [rax + rax]
mov rax, r15
sub rax, rsi
add rax, 0x3f8
jne 0x14001f3c7
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 0x14001f392
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rsi
mov r15, 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 r13, rbx
mov qword [rbp - 0x58], r9
sub r12, rbx
jne 0x14001f350
lea r8, [r12 - 1]
mov qword [rbp - 0x28], rsi
lea rdx, [0x14007edbc]
mov qword [rbp - 0x30], r15
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x18], r13
call fcn.140034290
mov rsi, qword [rbp - 0x40]
lea r9, [rbp + 0x60]
mov rdi, qword [rbp - 0x28]
lea r13d, [r12 + 1]
mov r12, qword [rbp - 0x18]
mov r15, qword [rbp - 0x30]
mov qword [rbp - 0x58], r9
mov byte [rbp + 0x60], 0x22
nop dword [rax + rax]
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001f4b7
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 0x14001f482
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001f440
lea r9, [rbp + 0x60]
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x58], r9
mov r13d, 1
mov byte [rbp + 0x60], 0x3a
nop
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001f577
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 0x14001f542
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001f500
lea r9, [rbp + 0x60]
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x58], r9
mov r13d, 1
mov byte [rbp - 0x20], r14b
mov byte [rbp + 0x60], 0x22
nop dword [rax]
nop word [rax + rax]
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001f647
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 0x14001f612
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001f5d0
lea r8, [r13 - 1]
mov qword [rbp - 0x28], rdi
lea rdx, str.init
mov qword [rbp - 0x30], r15
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x18], r12
call fcn.140034290
mov rsi, qword [rbp - 0x40]
lea r9, [rbp + 0x60]
mov r12, qword [rbp - 0x18]
mov r13d, 1
mov rdi, qword [rbp - 0x28]
mov r15, qword [rbp - 0x30]
mov qword [rbp - 0x58], r9
mov byte [rbp + 0x60], 0x22
nop dword [rax + rax]
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001f737
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 0x14001f702
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001f6c0
lea r9, [rbp + 0x60]
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x58], r9
mov r13d, 1
mov byte [rbp - 0x20], 1
mov byte [rbp + 0x60], 0x2c
nop dword [rax]
nop word [rax + rax]
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001f807
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 0x14001f7d2
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001f790
lea r9, [rbp + 0x60]
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x58], r9
mov r13d, 1
mov byte [rbp + 0x60], 0x22
nop
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001f8c7
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 0x14001f892
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001f850
lea r8, [r13 - 1]
mov qword [rbp - 0x28], rdi
lea rdx, str.dagFile
mov qword [rbp - 0x30], r15
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x18], r12
call fcn.140034290
mov rsi, qword [rbp - 0x40]
lea r9, [rbp + 0x60]
mov r12, qword [rbp - 0x18]
mov r13d, 1
mov rdi, qword [rbp - 0x28]
mov r15, qword [rbp - 0x30]
mov qword [rbp - 0x58], r9
mov byte [rbp + 0x60], 0x22
nop dword [rax + rax]
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001f9b7
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 0x14001f982
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001f940
lea r9, [rbp + 0x60]
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x58], r9
mov r13d, 1
mov byte [rbp + 0x60], 0x3a
nop
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001fa77
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 0x14001fa42
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001fa00
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x18], r12
mov rax, qword [rax + 0x100]
mov byte [rbp - 0x20], r14b
mov qword [rbp - 0x50], rax
test rax, rax
jne 0x14001faf6
lea r8d, [r13 + 4]
lea rdx, str.null
lea rcx, [rbp - 0x40]
call fcn.140034190
mov r12, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x28]
mov r15, qword [rbp - 0x30]
mov rsi, qword [rbp - 0x40]
jmp 0x14001fcad
lea r9, [rbp + 0x60]
mov byte [rbp + 0x60], 0x22
mov qword [rbp - 0x58], r9
mov r13d, 1
nop dword [rax + rax]
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001fb87
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 0x14001fb52
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001fb10
mov rdx, qword [rbp - 0x50]
lea r8, [r13 - 1]
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x18], r12
call fcn.140034290
mov rsi, qword [rbp - 0x40]
lea r9, [rbp + 0x60]
mov r12, qword [rbp - 0x18]
mov r13d, 1
mov rdi, qword [rbp - 0x28]
mov r15, qword [rbp - 0x30]
mov qword [rbp - 0x58], r9
mov byte [rbp + 0x60], 0x22
nop dword [rax + rax]
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001fc77
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 0x14001fc42
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001fc00
mov qword [rbp - 0x30], r15
lea r9, [rbp + 0x60]
mov byte [rbp - 0x20], 1
mov qword [rbp - 0x58], r9
mov r13d, 1
mov byte [rbp + 0x60], 0x2c
nop dword [rax]
nop word [rax + rax]
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001fd47
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 0x14001fd12
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001fcd0
lea r9, [rbp + 0x60]
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x58], r9
mov r13d, 1
mov byte [rbp + 0x60], 0x22
nop
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001fe07
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 0x14001fdd2
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001fd90
lea r8, [r13 - 1]
mov qword [rbp - 0x28], rdi
lea rdx, str.targets
mov qword [rbp - 0x30], r15
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x18], r12
call fcn.140034290
mov rsi, qword [rbp - 0x40]
lea r9, [rbp + 0x60]
mov r12, qword [rbp - 0x18]
mov r13d, 1
mov rdi, qword [rbp - 0x28]
mov r15, qword [rbp - 0x30]
mov qword [rbp - 0x58], r9
mov byte [rbp + 0x60], 0x22
nop dword [rax + rax]
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001fef7
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 0x14001fec2
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001fe80
lea r9, [rbp + 0x60]
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x58], r9
mov r13d, 1
mov byte [rbp + 0x60], 0x3a
nop
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14001ffb7
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 0x14001ff82
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x14001ff40
lea r9, [rbp + 0x60]
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x58], r9
mov r13d, 1
mov byte [rbp + 0x60], 0x5b
nop
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x140020077
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 0x140020042
mov edx, 0x400
mov rcx, rsi
call fcn.140038a30
mov r9, qword [rbp - 0x58]
mov rdx, r14
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r13
mov rbx, r13
mov rdx, r9
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
mov r9, qword [rbp - 0x58]
add rdi, rbx
add r9, rbx
add r12, rbx
mov qword [rbp - 0x58], r9
sub r13, rbx
jne 0x140020000
xor al, al
mov qword [rbp - 0x28], rdi
movsxd rdi, dword [rbp + 0x58]
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x18], r12
mov byte [rbp - 0x20], al
test rdi, rdi
jle 0x14002014f
mov rsi, qword [rbp + 0x50]
nop dword [rax + rax]
mov rbx, qword [rsi + r14*8]
test al, al
je 0x1400200ef
mov r8d, 1
mov byte [rbp + 0x58], 0x2c
lea rdx, [rbp + 0x58]
lea rcx, [rbp - 0x40]
call fcn.140034190
lea rcx, [rbp - 0x40]
test rbx, rbx
jne 0x140020105
lea r8d, [rbx + 4]
lea rdx, str.null
jmp 0x14002013d
mov r8d, 1
mov byte [rbp + 0x58], 0x22
lea rdx, [rbp + 0x58]
call fcn.140034190
mov r8, 0xffffffffffffffff
lea rcx, [rbp - 0x40]
mov rdx, rbx
call fcn.140034290
mov r8d, 1
mov byte [rbp + 0x58], 0x22
lea rdx, [rbp + 0x58]
lea rcx, [rbp - 0x40]
call fcn.140034190
inc r14
mov al, 1
mov byte [rbp - 0x20], al
cmp r14, rdi
jl 0x1400200d0
mov r8d, 1
mov byte [rbp + 0x58], 0x5d
lea rdx, [rbp + 0x58]
lea rcx, [rbp - 0x40]
call fcn.140034190
mov r8d, 1
mov byte [rbp - 0x20], 1
lea rdx, [rbp + 0x58]
mov byte [rbp + 0x58], 0x7d
lea rcx, [rbp - 0x40]
call fcn.140034190
cmp qword [0x14008e770], 0
je 0x1400201fc
lea rcx, [0x14008ead8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdi, qword [rbp - 0x18]
mov r14, qword [0x14008e770]
mov rsi, qword [rbp - 0x38]
test rdi, rdi
je 0x1400201e2
nop dword [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 0x1400201b0
mov r14, qword [0x14008e770]
mov rdx, r14
mov ecx, 0xa
call fcn.140052f48
lea rcx, [0x14008ead8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp - 0x48]
mov rax, qword [rcx + 0x10]
mov qword [rcx + 0x18], rdx
cmp qword [rax + 0x20], rdx
jbe 0x14002021f
mov rax, qword [rax]
mov qword [rcx + 0x10], rax
cmp qword [rax + 0x20], rdx
ja 0x140020212
mov rax, qword [rcx + 0x10]
sub rdx, qword [rax + 0x20]
mov qword [rax + 0x18], rdx
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret