Function at 0x140018810
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp - 8], 0xfffffffffffffffe
mov r15, r9
mov edi, edx
mov rbx, rcx
jmp 0x140018846
mov eax, r14d
add r15, rax
test edi, edi
je 0x140018c05
cmp byte [rbx + 0x3c], 0
mov ecx, dword [rbx + 0x38]
je 0x140018880
mov rdx, r15
mov r8d, edi
call fcn.140047a00
cmp eax, 0xffffffff
je 0x140018c28
mov r14d, eax
test eax, eax
js 0x140018c1b
sub edi, r14d
jge 0x140018840
jmp 0x140018c1b
call fcn.140048388
cmp rax, 0xfffffffffffffffe
je 0x140018c5a
mov qword [rbp - 0x18], rax
cmp rax, 0xffffffffffffffff
je 0x140018c46
mov rax, qword [rbx + 0x98]
mov qword [rbp - 0x38], rax
mov rax, qword [rbx + 0x90]
mov qword [rbp - 0x30], rax
mov r14d, dword [rbx + 0x88]
mov ecx, 0x50
call fcn.1400217e0
mov qword [rax + 4], 0
mov qword [rax + 0xc], 0
mov qword [rax + 0x14], 0
mov qword [rax + 0x1c], 0
mov qword [rax + 0x24], 0
mov qword [rax + 0x2c], 0
mov qword [rax + 0x34], 0
mov qword [rax + 0x3c], 0
mov qword [rax + 0x44], 0
mov dword [rax + 0x4c], 0
mov qword [rbp - 0x10], rax
mov dword [rax], 0x70
call fcn.140019380
mov rcx, rax
call fcn.1400199d0
mov r12, rbx
mov rax, qword [rax + 0x28]
mov rdx, r15
mov r15, qword [rbp - 0x10]
mov qword [r15 + 8], rax
mov dword [r15 + 0x10], 1
mov r13, r15
add r13, 0x28
mov qword [rsp + 0x20], r13
mov rsi, qword [rbp - 0x18]
mov rcx, rsi
mov rbx, rdx
mov r8d, edi
lea r9, [rbp - 0x20]
call sub.KERNEL32.dll_WriteFile
test eax, eax
je 0x1400189c1
mov r14d, dword [rbp - 0x20]
mov byte [r15 + 0x48], 1
mov rcx, r15
mov rdx, rsi
call fcn.140019b00
mov r15, rbx
mov rbx, r12
test edi, edi
js 0x140018c1b
cmp edi, r14d
jb 0x140018c1b
mov edi, edi
mov eax, r14d
sub rdi, rax
mov rax, rdi
movabs rdx, 0x1ffffffff
and rax, rdx
movsxd rcx, edi
and rcx, rdx
cmp rax, rcx
je 0x140018840
jmp 0x140018c16
mov qword [rbp - 0x28], r13
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x6c
jle 0x140018a6c
cmp eax, 0x6d
mov r15, rbx
je 0x140018a90
cmp eax, 0x3e5
jne 0x140018d4f
test r14d, r14d
mov rbx, r12
je 0x140018aa8
call fcn.140019380
mov rcx, rax
call fcn.1400199d0
mov rsi, qword [rax + 0x28]
mov ecx, 0x28
call fcn.1400217e0
mov r14, rax
mov dword [rax + 0x24], 0
mov qword [rax + 0x1c], 0
mov qword [rax + 0x14], 0
mov qword [rax + 0xc], 0
mov qword [rax + 4], 0
mov dword [rax], 0x83
call fcn.140019d00
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rax
mov dword [r14 + 0x18], edx
mov byte [r14 + 0x20], 0
mov rcx, r14
mov rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x38]
call fcn.140019f10
jmp 0x140018b46
cmp eax, 0x26
jne 0x140018c82
mov r15, rbx
xor r14d, r14d
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
call fcn.140019b00
mov rbx, r12
jmp 0x140018984
xor r14d, r14d
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
call fcn.140019b00
mov rbx, r12
jmp 0x140018984
call fcn.140019380
mov rcx, rax
call fcn.1400199d0
mov r12, qword [rax + 0x28]
mov rcx, qword [0x140161f48]
lea rdx, [0x14016221a]
lea r8, [0x14001a240]
call fcn.140020300
mov r13b, byte [0x140162219]
mov ecx, 0x28
call fcn.1400217e0
mov r14, rax
test r13b, 1
mov eax, 0
mov ecx, 0x3b9ac9ff
cmovne eax, ecx
mov ecx, 0
movabs rdx, 0x7fffffffffffffff
cmovne rcx, rdx
mov qword [r14 + 0xc], 0
mov qword [r14 + 4], 0
mov qword [r14 + 0x14], 0
mov dword [r14 + 0x24], 0
mov qword [r14 + 0x1c], 0
mov dword [r14], 0x83
mov qword [r14 + 8], r12
mov qword [r14 + 0x10], rcx
mov dword [r14 + 0x18], eax
call fcn.140019380
mov rcx, rax
call fcn.1400199d0
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x18]
mov rdx, r14
call fcn.140019fc0
call fcn.14001a250
call fcn.140019380
mov rcx, rax
call fcn.1400199d0
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x18]
mov rdx, r14
call fcn.14001b0d0
mov rsi, qword [rbp - 0x10]
mov ecx, dword [rsi + 0x10]
lea eax, [rcx - 1]
cmp eax, 2
jae 0x140018cfc
mov r12, qword [rbp - 0x18]
mov rcx, r12
mov rdx, qword [rbp - 0x28]
lea r8, [rbp - 0x1c]
xor r9d, r9d
call sub.KERNEL32.dll_GetOverlappedResult
test eax, eax
je 0x140018bcc
mov r14d, dword [rbp - 0x1c]
mov rcx, rsi
mov rdx, r12
call fcn.140019b00
test edi, edi
jns 0x14001898c
jmp 0x140018c1b
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x26
je 0x140018bf2
cmp eax, 0x6d
jne 0x140018d65
xor r14d, r14d
mov rcx, rsi
mov rdx, r12
call fcn.140019b00
jmp 0x140018984
xor r14d, r14d
mov rcx, rsi
mov rdx, r12
call fcn.140019b00
jmp 0x140018984
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140003510
call fcn.140005390
mov rcx, rax
call fcn.1400053f0
call fcn.140018e30
cmp eax, 9
jne 0x140018c6e
lea rcx, [0x140060f50]
call fcn.140018f00
mov rcx, rax
call fcn.140018f70
lea rcx, [0x140060fa0]
call fcn.140019080
mov rcx, rax
call fcn.140007460
lea rcx, [0x140060fc0]
call fcn.1400073f0
mov rcx, rax
call fcn.140007460
lea rcx, [0x140060f80]
call fcn.140018fc0
mov rcx, rax
call fcn.140018f70
cmp eax, 5
jne 0x140018d4f
lea rcx, [0x140061150]
lea rdx, [0x140061170]
call fcn.1400146a0
mov rsi, rax
mov ecx, 0x40
call fcn.1400217e0
mov qword [rax + 4], 0
mov qword [rax + 0xc], 0
mov qword [rax + 0x14], 0
mov qword [rax + 0x1c], 0
mov qword [rax + 0x24], 0
mov qword [rax + 0x2c], 0
mov qword [rax + 0x34], 0
mov dword [rax + 0x3c], 0
mov dword [rax], 0x34
mov qword [rax + 8], rsi
mov rcx, rax
call fcn.140018f70
call fcn.140019140
mov rsi, rax
mov ecx, 0x30
call fcn.1400217e0
mov qword [rax + 4], 0
mov qword [rax + 0xc], 0
mov qword [rax + 0x14], 0
mov qword [rax + 0x1c], 0
mov qword [rax + 0x24], 0
mov dword [rax + 0x2c], 0
mov dword [rax], 0x3f
mov qword [rax + 8], rsi
mov rcx, rax
call fcn.1400054c0
lea rcx, [0x140060ff0]
mov edx, eax
call fcn.140019c70
mov rcx, rax
call fcn.140018f70
cmp eax, 0x3e4
jne 0x140018ddd
lea rcx, [0x140060ff0]
lea rdx, [0x140061310]
call fcn.1400146a0
mov rsi, rax
mov ecx, 0x40
call fcn.1400217e0
mov qword [rax + 4], 0
mov qword [rax + 0xc], 0
mov qword [rax + 0x14], 0
mov qword [rax + 0x1c], 0
mov qword [rax + 0x24], 0
mov qword [rax + 0x2c], 0
mov qword [rax + 0x34], 0
mov dword [rax + 0x3c], 0
mov dword [rax], 0x2d
mov qword [rax + 8], rsi
mov rcx, rax
call fcn.14001b350
lea rcx, [0x140061330]
mov edx, eax
call fcn.140019c70
mov rcx, rax
call fcn.140018f70
int3