Function at 0x140016875
Capabilities:
Read file on windows
Write file on windows

Disassembly:
jmp 0x140022ef0
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rdi
mov eax, 0x1768
call fcn.14001622b
sub rsp, rax
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x44e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x1788]
mov rax, qword [0x140073340]
xor rax, rbp
mov qword [rbp + 0x1728], rax
lea rcx, [0x14007cbd0]
call fcn.140016b68
mov dword [rbp + 0x54], 0
mov qword [rbp + 0x1098], 0
mov qword [rbp + 0x10b8], 0
mov dword [rbp + 0x10d4], 0
mov dword [rbp + 0x10f4], 0
mov qword [rbp + 0x1118], 0
mov rax, qword [rbp + 0x1750]
cmp dword [rax + 0x10], 0
jne 0x140022f93
xor eax, eax
jmp 0x140023220
mov rax, qword [rbp + 0x1750]
mov dword [rax + 0x10], 0
mov rax, qword [rbp + 0x1750]
cmp dword [rax + 0xc], 0
je 0x140022fb5
xor eax, eax
jmp 0x140023220
mov edx, InitCommonControls
lea rcx, [rbp + 8]
call fcn.140016825
mov eax, 5
mov word [rbp + 8], ax
mov byte [rbp + 0xa], 0
mov byte [rbp + 0xb], 3
mov dword [rbp + 0xc], InitCommonControls
mov rax, qword [rbp + 0x1750]
mov eax, dword [rax + 0x814]
add rax, 0x18
mov word [rbp + 0x10], ax
xor eax, eax
mov word [rbp + 0x12], ax
mov rax, qword [rbp + 0x1750]
mov eax, dword [rax + 8]
mov dword [rbp + 0x14], eax
mov edx, 8
lea rcx, [rbp + 0x38]
call fcn.140016825
mov dword [rbp + 0x38], 0
xor eax, eax
mov word [rbp + 0x3c], ax
movzx eax, word [rbp + 0x1758]
mov word [rbp + 0x3e], ax
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x54]
mov r8d, InitCommonControls
lea rdx, [rbp + 8]
mov rax, qword [rbp + 0x1750]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14002305b
xor eax, eax
jmp 0x140023220
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x54]
mov r8d, 8
lea rdx, [rbp + 0x38]
mov rax, qword [rbp + 0x1750]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14002308d
xor eax, eax
jmp 0x140023220
mov rax, qword [rbp + 0x1750]
add rax, 0x14
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x54]
mov rcx, qword [rbp + 0x1750]
mov r8d, dword [rcx + 0x814]
mov rdx, rax
mov rax, qword [rbp + 0x1750]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400230d1
xor eax, eax
jmp 0x140023220
mov rax, qword [rbp + 0x1750]
mov eax, dword [rax + 8]
inc eax
mov rcx, qword [rbp + 0x1750]
mov dword [rcx + 8], eax
mov edx, 0x1000
lea rcx, [rbp + 0x80]
call fcn.140016825
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x10f4]
mov r8d, 0x1000
lea rdx, [rbp + 0x80]
mov rax, qword [rbp + 0x1750]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140023130
xor eax, eax
jmp 0x140023220
lea rax, [rbp + 0x80]
mov qword [rbp + 0x1098], rax
mov rax, qword [rbp + 0x1098]
movzx eax, word [rax]
cmp eax, 5
jne 0x140023180
mov rax, qword [rbp + 0x1098]
movzx eax, byte [rax + 2]
cmp eax, 2
jne 0x140023180
mov rax, qword [rbp + 0x1098]
movzx eax, byte [rax + 3]
cmp eax, 3
jne 0x140023180
mov rax, qword [rbp + 0x1098]
movzx eax, word [rax + 8]
cmp eax, dword [rbp + 0x10f4]
je 0x140023187
xor eax, eax
jmp 0x140023220
mov rax, qword [rbp + 0x1098]
add rax, 0x10
mov qword [rbp + 0x10b8], rax
mov rax, qword [rbp + 0x10b8]
movzx eax, word [rax + 4]
test eax, eax
je 0x1400231ac
xor eax, eax
jmp 0x140023220
mov rax, qword [rbp + 0x1098]
movzx eax, word [rax + 8]
sub rax, 0x18
mov dword [rbp + 0x10d4], eax
mov eax, dword [rbp + 0x10d4]
cmp rax, 0x800
jbe 0x1400231d3
xor eax, eax
jmp 0x140023220
mov rax, qword [rbp + 0x10b8]
add rax, 8
mov qword [rbp + 0x1118], rax
mov eax, dword [rbp + 0x10d4]
mov rcx, qword [rbp + 0x1750]
add rcx, 0x818
mov r8d, eax
mov rdx, qword [rbp + 0x1118]
call fcn.1400165cd
mov rax, qword [rbp + 0x1750]
mov ecx, dword [rbp + 0x10d4]
mov dword [rax + 0x1018], ecx
mov eax, 1
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x14004a510]
call fcn.1400169a6
mov rax, rdi
mov rcx, qword [rbp + 0x1728]
xor rcx, rbp
call fcn.1400165b9
lea rsp, [rbp + 0x1738]
pop rdi
pop rbp
ret