Function at 0x14003a180
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
cmp qword [0x14008e770], 0
je 0x14003b1fb
mov qword [rax - 0x10], rbx
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], rdi
lea rdi, [rcx + 8]
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
mov rax, qword [rcx + 0x18]
mov rcx, rdi
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x69], rdi
call fcn.140034420
xor r15d, r15d
mov qword [rbp - 0x59], rax
mov r14, rax
mov qword [rbp - 0x61], rax
mov rsi, rax
mov byte [rbp + 0x7f], 0x7b
lea r13, [rbp + 0x7f]
lea r12d, [r15 + 1]
nop word [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x14003a272
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 0x14003a23d
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
xor edx, edx
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 [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003a200
mov byte [rbp - 0x49], r12b
lea r13, [rbp + 0x7f]
mov r12d, 1
mov qword [rbp - 0x59], r14
mov byte [rbp + 0x7f], 0x22
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x14003a324
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 0x14003a2ef
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
xor edx, edx
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 [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003a2b2
lea r8, [r12 - 1]
mov qword [rbp - 0x51], rsi
lea rdx, [0x14007edbc]
mov qword [rbp - 0x59], r14
lea rcx, [rbp - 0x69]
mov qword [rbp - 0x41], r15
call fcn.140034290
mov rsi, qword [rbp - 0x69]
lea r13, [rbp + 0x7f]
mov r15, qword [rbp - 0x41]
mov r12d, 1
mov rdi, qword [rbp - 0x51]
mov r14, qword [rbp - 0x59]
mov byte [rbp + 0x7f], 0x22
nop dword [rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003a402
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 0x14003a3cd
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003a390
mov qword [rbp - 0x59], r14
lea r13, [rbp + 0x7f]
mov byte [rbp + 0x7f], 0x3a
mov r12d, 1
nop
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003a4b2
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 0x14003a47d
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003a440
mov qword [rbp - 0x51], rdi
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x41], r15
mov byte [rbp - 0x49], r12b
cmp qword [rbp + 0x77], r12
jne 0x14003a51c
lea r8d, [r12 + 4]
lea rdx, str.null
lea rcx, [rbp - 0x69]
call fcn.140034190
mov r15, qword [rbp - 0x41]
mov rdi, qword [rbp - 0x51]
mov r14, qword [rbp - 0x59]
mov rsi, qword [rbp - 0x69]
jmp 0x14003a6b0
mov byte [rbp + 0x7f], 0x22
lea r13, [rbp + 0x7f]
mov r12d, 1
nop word [rax + rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003a5a2
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 0x14003a56d
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003a530
mov rdx, qword [rbp + 0x77]
lea r8, [r12 - 1]
lea rcx, [rbp - 0x69]
mov qword [rbp - 0x51], rdi
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x41], r15
call fcn.140034290
mov rsi, qword [rbp - 0x69]
lea r13, [rbp + 0x7f]
mov r15, qword [rbp - 0x41]
mov r12d, 1
mov rdi, qword [rbp - 0x51]
mov r14, qword [rbp - 0x59]
mov byte [rbp + 0x7f], 0x22
nop dword [rax + rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003a682
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 0x14003a64d
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003a610
mov qword [rbp - 0x59], r14
mov byte [rbp - 0x49], 1
lea r13, [rbp + 0x7f]
mov byte [rbp + 0x7f], 0x2c
mov r12d, 1
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003a734
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 0x14003a6ff
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003a6c2
mov qword [rbp - 0x59], r14
lea r13, [rbp + 0x7f]
mov byte [rbp + 0x7f], 0x22
mov r12d, 1
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003a7e2
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 0x14003a7ad
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003a770
lea r8, [r12 - 1]
mov qword [rbp - 0x51], rdi
lea rdx, str.annotation
mov qword [rbp - 0x59], r14
lea rcx, [rbp - 0x69]
mov qword [rbp - 0x41], r15
call fcn.140034290
mov rsi, qword [rbp - 0x69]
lea r13, [rbp + 0x7f]
mov r15, qword [rbp - 0x41]
mov r12d, 1
mov rdi, qword [rbp - 0x51]
mov r14, qword [rbp - 0x59]
mov byte [rbp + 0x7f], 0x22
nop dword [rax + rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003a8c2
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 0x14003a88d
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003a850
mov qword [rbp - 0x59], r14
lea r13, [rbp + 0x7f]
mov byte [rbp + 0x7f], 0x3a
mov r12d, 1
nop
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003a972
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 0x14003a93d
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003a900
mov rcx, qword [rbp + 0x6f]
xor eax, eax
mov qword [rbp - 0x51], rdi
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x41], r15
mov rcx, qword [rcx + 8]
add rcx, 4
mov byte [rbp - 0x49], r12b
sub eax, dword [rcx]
movsxd rdx, dword [rcx]
add rdx, rcx
neg eax
sbb rax, rax
and rdx, rax
mov qword [rbp - 0x39], rdx
jne 0x14003a9fa
lea r8d, [r12 + 4]
lea rdx, str.null
lea rcx, [rbp - 0x69]
call fcn.140034190
mov r15, qword [rbp - 0x41]
mov rsi, qword [rbp - 0x51]
mov r14, qword [rbp - 0x59]
mov rdi, qword [rbp - 0x69]
jmp 0x14003ab90
mov byte [rbp + 0x7f], 0x22
lea r13, [rbp + 0x7f]
mov r12d, 1
nop dword [rax + rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003aa82
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 0x14003aa4d
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003aa10
mov rdx, qword [rbp - 0x39]
lea r8, [r12 - 1]
lea rcx, [rbp - 0x69]
mov qword [rbp - 0x51], rdi
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x41], r15
call fcn.140034290
mov rdi, qword [rbp - 0x69]
lea r13, [rbp + 0x7f]
mov r15, qword [rbp - 0x41]
mov r12d, 1
mov rsi, qword [rbp - 0x51]
mov r14, qword [rbp - 0x59]
mov byte [rbp + 0x7f], 0x22
nop dword [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x14003ab62
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 0x14003ab2d
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
xor edx, edx
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 [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003aaf0
mov qword [rbp - 0x59], r14
mov byte [rbp - 0x49], 1
lea r13, [rbp + 0x7f]
mov byte [rbp + 0x7f], 0x2c
mov r12d, 1
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x14003ac14
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 0x14003abdf
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
xor edx, edx
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 [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003aba2
mov qword [rbp - 0x59], r14
lea r13, [rbp + 0x7f]
mov byte [rbp + 0x7f], 0x22
mov r12d, 1
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x14003acc2
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 0x14003ac8d
mov edx, 0x400
mov rcx, rdi
call fcn.140038a30
xor edx, edx
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 [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003ac50
lea r8, [r12 - 1]
mov qword [rbp - 0x51], rsi
lea rdx, str.index
mov qword [rbp - 0x59], r14
lea rcx, [rbp - 0x69]
mov qword [rbp - 0x41], r15
call fcn.140034290
mov rsi, qword [rbp - 0x69]
lea r13, [rbp + 0x7f]
mov r15, qword [rbp - 0x41]
mov r12d, 1
mov rdi, qword [rbp - 0x51]
mov r14, qword [rbp - 0x59]
mov byte [rbp + 0x7f], 0x22
nop dword [rax + rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003ada2
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 0x14003ad6d
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003ad30
mov qword [rbp - 0x59], r14
lea r13, [rbp + 0x7f]
mov byte [rbp + 0x7f], 0x3a
mov r12d, 1
nop
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003ae52
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 0x14003ae1d
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x14003ade0
mov rax, qword [rbp + 0x6f]
lea r8, str._lli
lea edx, [r12 + 0x32]
mov qword [rbp - 0x51], rdi
lea rcx, [rbp - 0x29]
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x41], r15
mov rax, qword [rax + 8]
mov byte [rbp - 0x49], r12b
mov r9d, dword [rax + 0x8c]
call fcn.1400031a0
lea rax, [rbp - 0x29]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14003aec0
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x69]
call fcn.140034190
mov rsi, qword [rbp - 0x69]
lea r13, [rbp + 0x7f]
mov r12, qword [rbp - 0x41]
mov r15d, 1
mov rdi, qword [rbp - 0x51]
mov r14, qword [rbp - 0x59]
mov byte [rbp - 0x49], 1
mov byte [rbp + 0x7f], 0x2c
nop dword [rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003af72
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 0x14003af3d
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r15
mov rbx, r15
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r13, rbx
sub r15, rbx
jne 0x14003af00
mov qword [rbp - 0x59], r14
lea r13, [rbp + 0x7f]
mov byte [rbp + 0x7f], 0x22
mov r15d, 1
nop
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14003b022
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 0x14003afed
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 [r14 + 0x3f8], rdi
mov r14, rdi
cmp rax, r15
mov rbx, r15
mov rdx, r13
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r12, rbx
add r13, rbx
sub r15, rbx
jne 0x14003afb0
mov r15, qword [rsp + 0xa8]
lea rdx, str.leafInputSignature
mov r13, qword [rsp + 0xb8]
lea rcx, [rbp - 0x69]
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x51], rdi
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x41], r12
call fcn.140034290
mov r8d, 1
mov byte [rbp + 0x7f], 0x22
lea rdx, [rbp + 0x7f]
lea rcx, [rbp - 0x69]
call fcn.140034190
mov r8d, 1
mov byte [rbp - 0x49], 1
lea rdx, [rbp + 0x7f]
mov byte [rbp + 0x7f], 0x3a
lea rcx, [rbp - 0x69]
call fcn.140034190
mov rax, qword [rbp + 0x6f]
lea rcx, [rbp - 0x29]
mov byte [rbp - 0x49], 0
mov rdx, qword [rax + 0x38]
call fcn.14002c310
mov r8d, 1
mov byte [rbp + 0x7f], 0x22
lea rdx, [rbp + 0x7f]
lea rcx, [rbp - 0x69]
call fcn.140034190
mov r8, 0xffffffffffffffff
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x69]
call fcn.140034290
mov r8d, 1
mov byte [rbp + 0x7f], 0x22
lea rdx, [rbp + 0x7f]
lea rcx, [rbp - 0x69]
call fcn.140034190
mov r8d, 1
mov byte [rbp - 0x49], 1
lea rdx, [rbp + 0x7f]
mov byte [rbp + 0x7f], 0x7d
lea rcx, [rbp - 0x69]
call fcn.140034190
cmp qword [0x14008e770], 0
mov r12, qword [rsp + 0xc0]
je 0x14003b1ac
lea rcx, [0x14008ead8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdi, qword [rbp - 0x41]
mov r14, qword [0x14008e770]
mov rsi, qword [rbp - 0x61]
test rdi, rdi
je 0x14003b192
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 0x14003b160
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 + 0x67]
mov rdx, qword [rbp - 0x31]
mov r14, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xc8]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov qword [rcx + 0x18], rdx
cmp qword [rax + 0x20], rdx
jbe 0x14003b1ef
mov rax, qword [rax]
mov qword [rcx + 0x10], rax
cmp qword [rax + 0x20], rdx
ja 0x14003b1e2
mov rax, qword [rcx + 0x10]
sub rdx, qword [rax + 0x20]
mov qword [rax + 0x18], rdx
add rsp, 0xe0
pop rbp
ret