Function at 0x14000e5a0
Capabilities:
Write file on windows

Disassembly:
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
mov rbp, rsp
sub rsp, 0x68
mov rax, qword [r8 + 0x10]
mov rcx, r8
mov qword [rbp - 0x48], rax
mov r13, r8
mov qword [rbp - 0x40], r8
call fcn.140034420
xor r15d, r15d
mov qword [rbp - 0x30], rax
mov rsi, rax
mov qword [rbp - 0x38], rax
mov rdi, rax
mov byte [rbp + 0x60], 0x7b
lea r12, [rbp + 0x60]
lea r14d, [r15 + 1]
nop word [rax + rax]
mov rax, rsi
sub rax, rdi
add rax, 0x3f8
jne 0x14000e672
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 0x14000e63d
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, r12
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r12, rbx
sub r14, rbx
jne 0x14000e600
mov byte [rbp - 0x20], r14b
lea r12, [rbp + 0x60]
mov r14d, 1
mov qword [rbp - 0x30], rsi
mov byte [rbp + 0x60], 0x22
mov rax, rsi
sub rax, rdi
add rax, 0x3f8
jne 0x14000e724
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 0x14000e6ef
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, r12
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r15, rbx
add r12, rbx
sub r14, rbx
jne 0x14000e6b2
lea r8, [r14 - 1]
mov qword [rbp - 0x28], rdi
lea rdx, [0x14007edbc]
mov qword [rbp - 0x30], rsi
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x18], r15
call fcn.140034290
mov rsi, qword [rbp - 0x40]
lea r12d, [r14 + 1]
mov r14, qword [rbp - 0x30]
lea r13, [rbp + 0x60]
mov r15, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x28]
mov byte [rbp + 0x60], 0x22
nop word [rax + rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000e802
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 0x14000e7cd
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 0x14000e790
mov qword [rbp - 0x30], r14
lea r13, [rbp + 0x60]
mov byte [rbp + 0x60], 0x3a
mov r12d, 1
nop
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000e8b2
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 0x14000e87d
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 0x14000e840
mov byte [rbp - 0x20], r12b
lea r13, [rbp + 0x60]
mov r12d, 1
mov qword [rbp - 0x30], r14
mov byte [rbp + 0x60], 0x22
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000e964
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 0x14000e92f
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 0x14000e8f2
lea r8, [r12 - 1]
mov qword [rbp - 0x28], rdi
lea rdx, str.outofdatesignature
mov qword [rbp - 0x30], r14
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x18], r15
call fcn.140034290
mov rsi, qword [rbp - 0x40]
lea r13, [rbp + 0x60]
mov r15, qword [rbp - 0x18]
mov r12d, 1
mov rdi, qword [rbp - 0x28]
mov r14, qword [rbp - 0x30]
mov byte [rbp + 0x60], 0x22
nop dword [rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000ea42
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 0x14000ea0d
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 0x14000e9d0
mov qword [rbp - 0x30], r14
lea r13, [rbp + 0x60]
mov byte [rbp - 0x20], 1
mov r12d, 1
mov byte [rbp + 0x60], 0x2c
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000eaf4
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 0x14000eabf
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 0x14000ea82
mov qword [rbp - 0x30], r14
lea r13, [rbp + 0x60]
mov byte [rbp + 0x60], 0x22
mov r12d, 1
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000eba2
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 0x14000eb6d
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 0x14000eb30
lea r8, [r12 - 1]
mov qword [rbp - 0x28], rdi
lea rdx, str.annotation
mov qword [rbp - 0x30], r14
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x18], r15
call fcn.140034290
mov rsi, qword [rbp - 0x40]
lea r13, [rbp + 0x60]
mov r15, qword [rbp - 0x18]
mov r12d, 1
mov rdi, qword [rbp - 0x28]
mov r14, qword [rbp - 0x30]
mov byte [rbp + 0x60], 0x22
nop dword [rax + rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000ec82
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 0x14000ec4d
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 0x14000ec10
mov qword [rbp - 0x30], r14
lea r13, [rbp + 0x60]
mov byte [rbp + 0x60], 0x3a
mov r12d, 1
nop
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000ed32
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 0x14000ecfd
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 0x14000ecc0
mov rcx, qword [rbp + 0x48]
xor eax, eax
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x18], r15
mov rcx, qword [rcx + 8]
add rcx, 4
mov byte [rbp - 0x20], r12b
sub eax, dword [rcx]
movsxd rdx, dword [rcx]
add rdx, rcx
neg eax
sbb rcx, rcx
and rdx, rcx
mov qword [rbp + 0x60], rdx
jne 0x14000edba
lea r8d, [r12 + 4]
lea rdx, str.null
lea rcx, [rbp - 0x40]
call fcn.140034190
mov r15, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x28]
mov r14, qword [rbp - 0x30]
mov rsi, qword [rbp - 0x40]
jmp 0x14000ef50
mov byte [rbp + 0x48], 0x22
lea r13, [rbp + 0x48]
mov r12d, 1
nop dword [rax + rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000ee42
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 0x14000ee0d
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 0x14000edd0
mov rdx, qword [rbp + 0x60]
lea r8, [r12 - 1]
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x18], r15
call fcn.140034290
mov rsi, qword [rbp - 0x40]
lea r13, [rbp + 0x48]
mov r15, qword [rbp - 0x18]
mov r12d, 1
mov rdi, qword [rbp - 0x28]
mov r14, qword [rbp - 0x30]
mov byte [rbp + 0x48], 0x22
nop dword [rax + rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000ef22
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 0x14000eeed
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 0x14000eeb0
mov qword [rbp - 0x30], r14
mov byte [rbp - 0x20], 1
lea r13, [rbp + 0x48]
mov byte [rbp + 0x48], 0x2c
mov r12d, 1
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000efd4
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 0x14000ef9f
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 0x14000ef62
mov qword [rbp - 0x30], r14
lea r13, [rbp + 0x48]
mov byte [rbp + 0x48], 0x22
mov r12d, 1
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000f082
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 0x14000f04d
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 0x14000f010
lea r8, [r12 - 1]
mov qword [rbp - 0x28], rdi
lea rdx, str.path
mov qword [rbp - 0x30], r14
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x18], r15
call fcn.140034290
mov rsi, qword [rbp - 0x40]
lea r13, [rbp + 0x48]
mov r15, qword [rbp - 0x18]
mov r12d, 1
mov rdi, qword [rbp - 0x28]
mov r14, qword [rbp - 0x30]
mov byte [rbp + 0x48], 0x22
nop dword [rax + rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000f162
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 0x14000f12d
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 0x14000f0f0
mov qword [rbp - 0x30], r14
lea r13, [rbp + 0x48]
mov byte [rbp + 0x48], 0x3a
mov r12d, 1
nop
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000f212
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 0x14000f1dd
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 0x14000f1a0
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x18], r15
mov byte [rbp - 0x20], r12b
cmp qword [rbp + 0x50], r12
jne 0x14000f26c
lea r8d, [r12 + 4]
lea rdx, str.null
lea rcx, [rbp - 0x40]
call fcn.140034190
jmp 0x14000f408
mov byte [rbp + 0x48], 0x22
lea r13, [rbp + 0x48]
mov r12d, 1
nop word [rax + rax]
mov rax, r14
sub rax, rdi
add rax, 0x3f8
jne 0x14000f2f2
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 0x14000f2bd
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 0x14000f280
mov rdx, qword [rbp + 0x50]
lea r8, [r12 - 1]
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x18], r15
call fcn.140034290
mov rsi, qword [rbp - 0x40]
lea r14d, [r12 + 1]
mov r13, qword [rbp - 0x18]
lea r12, [rbp + 0x50]
mov rdi, qword [rbp - 0x28]
mov r15, qword [rbp - 0x30]
mov byte [rbp + 0x50], 0x22
nop word [rax + rax]
mov rax, r15
sub rax, rdi
add rax, 0x3f8
jne 0x14000f3d2
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 0x14000f39d
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 [r15 + 0x3f8], rdi
mov r15, rdi
cmp rax, r14
mov rbx, r14
mov rdx, r12
mov rcx, rdi
cmovb rbx, rax
mov r8, rbx
call fcn.1400700e0
add rdi, rbx
add r13, rbx
add r12, rbx
sub r14, rbx
jne 0x14000f360
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x18], r13
mov r8d, 1
mov byte [rbp - 0x20], 1
lea rdx, [rbp + 0x50]
mov byte [rbp + 0x50], 0x7d
lea rcx, [rbp - 0x40]
call fcn.140034190
cmp qword [0x14008e770], 0
je 0x14000f49c
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 0x14000f482
nop
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 0x14000f450
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 + 0x58]
mov rdx, qword [rbp - 0x48]
mov rax, qword [rcx + 8]
mov qword [rcx + 0x10], rdx
cmp qword [rax + 0x20], rdx
jbe 0x14000f4bf
mov rax, qword [rax]
mov qword [rcx + 8], rax
cmp qword [rax + 0x20], rdx
ja 0x14000f4b2
mov rax, qword [rcx + 8]
sub rdx, qword [rax + 0x20]
mov qword [rax + 0x18], rdx
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret