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

Disassembly:
jmp 0x140022810
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
mov eax, 0x17d8
call fcn.14001622b
sub rsp, rax
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x46a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x17f8]
mov rax, qword [0x140073340]
xor rax, rbp
mov qword [rbp + 0x1798], rax
lea rcx, [0x14007cbd0]
call fcn.140016b68
mov dword [rbp + 0x84], 0
mov dword [rbp + 0xa4], 0
mov qword [rbp + 0x10e8], 0
mov qword [rbp + 0x1108], 0
mov qword [rbp + 0x1128], 0
mov qword [rbp + 0x1148], 0
xor eax, eax
mov word [rbp + 0x1164], ax
mov dword [rbp + 0x1184], 0
mov edx, InitCommonControls
lea rcx, [rbp + 8]
call fcn.140016825
mov eax, 5
mov word [rbp + 8], ax
mov byte [rbp + 0xa], reloc.Cabinet.dll_FCIAddFile
mov byte [rbp + 0xb], 3
mov dword [rbp + 0xc], InitCommonControls
mov eax, 0x48
mov word [rbp + 0x10], ax
xor eax, eax
mov word [rbp + 0x12], ax
mov rax, qword [rbp + 0x17c0]
mov eax, dword [rax + 8]
mov dword [rbp + 0x14], eax
mov edx, 0x38
lea rcx, [rbp + 0x38]
call fcn.140016825
mov eax, 0x1000
mov word [rbp + 0x38], ax
mov eax, 0x1000
mov word [rbp + 0x3a], ax
mov dword [rbp + 0x3c], 0
mov byte [rbp + 0x40], 1
xor eax, eax
mov word [rbp + 0x44], ax
mov eax, 1
mov word [rbp + 0x46], ax
mov dword [rbp + 0x6c], 2
lea rdx, [rbp + 0x48]
mov rcx, qword [rbp + 0x17c8]
call qword [sym.imp.RPCRT4.dll_UuidFromStringW]
test eax, eax
je 0x14002295b
xor eax, eax
jmp 0x140022b58
mov eax, dword [rbp + 0x17d0]
mov dword [rbp + 0x58], eax
lea rdx, [rbp + 0x5c]
lea rcx, str.8a885d04_1ceb_11c9_9fe8_08002b104860
call qword [sym.imp.RPCRT4.dll_UuidFromStringW]
test eax, eax
je 0x140022980
xor eax, eax
jmp 0x140022b58
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x84]
mov r8d, InitCommonControls
lea rdx, [rbp + 8]
mov rax, qword [rbp + 0x17c0]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400229b5
xor eax, eax
jmp 0x140022b58
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x84]
mov r8d, 0x38
lea rdx, [rbp + 0x38]
mov rax, qword [rbp + 0x17c0]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400229ea
xor eax, eax
jmp 0x140022b58
mov rax, qword [rbp + 0x17c0]
mov eax, dword [rax + 8]
inc eax
mov rcx, qword [rbp + 0x17c0]
mov dword [rcx + 8], eax
mov edx, 0x1000
lea rcx, [rbp + 0xd0]
call fcn.140016825
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0xa4]
mov r8d, 0x1000
lea rdx, [rbp + 0xd0]
mov rax, qword [rbp + 0x17c0]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140022a49
xor eax, eax
jmp 0x140022b58
lea rax, [rbp + 0xd0]
mov qword [rbp + 0x10e8], rax
mov rax, qword [rbp + 0x10e8]
movzx eax, word [rax]
cmp eax, 5
jne 0x140022a99
mov rax, qword [rbp + 0x10e8]
movzx eax, byte [rax + 2]
cmp eax, 0xc
jne 0x140022a99
mov rax, qword [rbp + 0x10e8]
movzx eax, byte [rax + 3]
cmp eax, 3
jne 0x140022a99
mov rax, qword [rbp + 0x10e8]
movzx eax, word [rax + 8]
cmp eax, dword [rbp + 0xa4]
je 0x140022aa0
xor eax, eax
jmp 0x140022b58
mov rax, qword [rbp + 0x10e8]
add rax, 0x10
mov qword [rbp + 0x1108], rax
mov rax, qword [rbp + 0x1108]
add rax, 8
mov qword [rbp + 0x1148], rax
mov rax, qword [rbp + 0x1148]
movzx eax, word [rax]
mov word [rbp + 0x1164], ax
movzx eax, word [rbp + 0x1164]
cmp eax, 0x100
jle 0x140022ae7
xor eax, eax
jmp 0x140022b58
movzx eax, word [rbp + 0x1164]
add rax, 5
xor edx, edx
mov ecx, 4
div rcx
shl rax, 2
movzx ecx, word [rbp + 0x1164]
add rcx, 2
sub rax, rcx
mov dword [rbp + 0x1184], eax
movzx eax, word [rbp + 0x1164]
mov ecx, dword [rbp + 0x1184]
add rcx, qword [rbp + 0x1148]
lea rax, [rcx + rax + 2]
mov qword [rbp + 0x1128], rax
mov rax, qword [rbp + 0x1128]
cmp dword [rax], 1
jne 0x140022b4f
mov rax, qword [rbp + 0x1128]
movzx eax, word [rax + 4]
test eax, eax
je 0x140022b53
xor eax, eax
jmp 0x140022b58
mov eax, 1
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x14004a220]
call fcn.1400169a6
mov rax, rdi
mov rcx, qword [rbp + 0x1798]
xor rcx, rbp
call fcn.1400165b9
lea rsp, [rbp + 0x17a8]
pop rdi
pop rbp
ret