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

Disassembly:
jmp 0x140023040
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 [0x140074400]
xor rax, rbp
mov qword [rbp + 0x1728], rax
lea rcx, [0x14007dbd0]
call fcn.140016b68
nop
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 0x1400230e4
xor eax, eax
jmp 0x140023375
mov rax, qword [rbp + 0x1750]
mov dword [rax + 0x10], 0
mov rax, qword [rbp + 0x1750]
cmp dword [rax + 0xc], 0
je 0x140023106
xor eax, eax
jmp 0x140023375
mov edx, InitCommonControls
lea rcx, [rbp + 8]
call fcn.140016825
nop
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
nop
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 0x1400231ae
xor eax, eax
jmp 0x140023375
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 0x1400231e0
xor eax, eax
jmp 0x140023375
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 0x140023224
xor eax, eax
jmp 0x140023375
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
nop
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 0x140023284
xor eax, eax
jmp 0x140023375
lea rax, [rbp + 0x80]
mov qword [rbp + 0x1098], rax
mov rax, qword [rbp + 0x1098]
movzx eax, word [rax]
cmp eax, 5
jne 0x1400232d4
mov rax, qword [rbp + 0x1098]
movzx eax, byte [rax + 2]
cmp eax, 2
jne 0x1400232d4
mov rax, qword [rbp + 0x1098]
movzx eax, byte [rax + 3]
cmp eax, 3
jne 0x1400232d4
mov rax, qword [rbp + 0x1098]
movzx eax, word [rax + 8]
cmp eax, dword [rbp + 0x10f4]
je 0x1400232db
xor eax, eax
jmp 0x140023375
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 0x140023300
xor eax, eax
jmp 0x140023375
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 0x140023327
xor eax, eax
jmp 0x140023375
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
nop
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, [0x14004b510]
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