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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rbx, rcx
lea rcx, [rsp + 0x58]
mov edx, 0x209
call fcn.14005c9e0
lea rcx, [rsp + 0x78]
lea rdx, str._SystemRoot_INF_
mov r8d, 0x24
call fcn.1400e22f0
xor r11d, r11d
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x78]
lea rcx, [0x14011c020]
xor r9d, r9d
mov dword [rsp + 0x9c], r11d
mov byte [rsp + 0x20], 1
call fcn.14006fb04
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
mov r8d, eax
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
xor r14d, r14d
mov r8d, 0xc0000000
mov ecx, r14d
mov qword [rsp + 0x38], r14
cmp eax, r14d
sete cl
lea r15d, [r14 + 3]
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x68], ecx
lea rcx, [rsp + 0xf0]
mov rdx, rbx
mov r9d, r15d
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0x20], r14
call fcn.1400037d4
mov rbx, qword [rsp + 0xf0]
cmp rbx, r14
je 0x14001f9db
mov rcx, rbx
call fcn.1400cc600
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov rdi, rax
call fcn.140056048
lea r11d, [rdi + 0xc]
lea rcx, [rsp + 0x70]
movsxd rdx, r11d
call fcn.14005c6f4
mov rsi, qword [rsp + 0x70]
lea r9, [rsp + 0xf8]
mov rdx, rsi
mov r8d, edi
mov rcx, rbx
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0xf8], r14d
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsp + 0xf8], r15d
jbe 0x14001f9c2
mov ecx, dword [rsp + 0xf8]
lea r8d, [r14 + 6]
xor edx, edx
add rcx, rsi
call fcn.1400e16a0
mov ebp, dword [rsp + 0xf8]
mov ecx, 0xfeff
add rbp, rsi
lea r12d, [r14 + 1]
mov eax, r14d
lea edx, [r14 + 2]
mov r13d, 0xff
mov r8d, 0xffff
cmp word [rsi], cx
jne 0x14001f6a5
mov r12d, edx
lea eax, [rdx - 1]
mov r13d, r8d
mov ecx, 0xfffe
cmp word [rsi], cx
jne 0x14001f6b8
mov r12d, edx
mov eax, r15d
mov r13d, r8d
xor ecx, ecx
mov word [rsp + 0x40], r14w
movsxd r15, eax
movsxd r14, r12d
mov qword [rsp + 0x42], rcx
mov qword [rsp + 0x4a], rcx
mov word [rsp + 0x52], cx
cmp rsi, rbp
jae 0x14001f9c2
mov r10d, pe_nt_image_headers64
lea r11d, [rcx + 0x3b]
xor r9d, r9d
mov rdx, r9
mov r8, rsi
cmp r15, 3
jne 0x14001f70f
movzx eax, byte [r8]
movzx ecx, byte [r8 + 1]
imul ax, r10w
add cx, ax
mov word [rsp + rdx*2 + 0x40], cx
jmp 0x14001f71c
movzx eax, r13w
and ax, word [r8]
mov word [rsp + rdx*2 + 0x40], ax
inc rdx
add r8, r14
cmp rdx, 9
jl 0x14001f6f1
movzx eax, word [rsp + 0x40]
mov rdi, r9
or word [rsp + rdi*2 + 0x40], 0x20
inc rdi
cmp rdi, 6
jl 0x14001f730
mov word [rsp + 0xf0], r9w
cmp dword [rsp + 0x68], r9d
je 0x14001f85e
cmp word [rsp + 0x40], 0x63
jne 0x14001f7b7
cmp word [rsp + 0x42], 0x6f
jne 0x14001f97b
cmp word [rsp + 0x44], 0x70
jne 0x14001f97b
cmp word [rsp + 0x46], 0x79
jne 0x14001f97b
cmp word [rsp + 0x48], 0x66
jne 0x14001f97b
cmp word [rsp + 0x4a], 0x69
jne 0x14001f97b
cmp word [rsp + 0x4c], 0x6c
jne 0x14001f97b
cmp word [rsp + 0x4e], 0x65
jne 0x14001f97b
cmp word [rsp + 0x50], 0x73
je 0x14001f817
cmp word [rsp + 0x40], 0x64
jne 0x14001f97b
cmp word [rsp + 0x42], 0x65
jne 0x14001f97b
cmp word [rsp + 0x44], 0x6c
jne 0x14001f97b
cmp word [rsp + 0x46], 0x66
jne 0x14001f97b
cmp word [rsp + 0x48], 0x69
jne 0x14001f97b
cmp word [rsp + 0x4a], 0x6c
jne 0x14001f97b
cmp word [rsp + 0x4c], 0x65
jne 0x14001f97b
cmp word [rsp + 0x4e], 0x73
jne 0x14001f97b
mov rdx, rsi
xor r8d, r8d
mov rcx, rbx
sub rdx, qword [rsp + 0x60]
call fcn.140056048
and qword [rsp + 0x20], 0
mov eax, 0x3b
lea r9, [rsp + 0xf8]
lea rdx, [rsp + 0xf0]
mov r8d, r12d
mov rcx, rbx
mov word [rsp + 0xf0], ax
call qword [sym.imp.KERNEL32.dll_ReadFile]
jmp 0x14001f96e
cmp ax, r11w
jne 0x14001f97b
cmp word [rsp + 0x42], 0x6f
jne 0x14001f8ee
cmp word [rsp + 0x44], 0x70
jne 0x14001f97b
cmp word [rsp + 0x46], 0x79
jne 0x14001f97b
cmp word [rsp + 0x48], 0x66
jne 0x14001f97b
cmp word [rsp + 0x4a], 0x69
jne 0x14001f97b
cmp word [rsp + 0x4c], 0x6c
jne 0x14001f97b
cmp word [rsp + 0x4e], 0x65
jne 0x14001f97b
cmp word [rsp + 0x50], 0x73
jne 0x14001f97b
mov rdx, rsi
xor r8d, r8d
mov rcx, rbx
sub rdx, qword [rsp + 0x60]
call fcn.140056048
and dword [rsp + 0xf8], 0
mov eax, 0x43
mov word [rsp + 0xf0], ax
jmp 0x14001f94c
cmp word [rsp + 0x42], 0x65
jne 0x14001f97b
cmp word [rsp + 0x44], 0x6c
jne 0x14001f97b
cmp word [rsp + 0x46], 0x66
jne 0x14001f97b
cmp word [rsp + 0x48], 0x69
jne 0x14001f97b
cmp word [rsp + 0x4a], 0x6c
jne 0x14001f97b
cmp word [rsp + 0x4c], 0x65
jne 0x14001f97b
cmp word [rsp + 0x4e], 0x73
jne 0x14001f97b
mov rdx, rsi
xor r8d, r8d
mov rcx, rbx
sub rdx, qword [rsp + 0x60]
call fcn.140056048
mov r11d, 0x44
mov word [rsp + 0xf0], r11w
and qword [rsp + 0x20], 0
lea r9, [rsp + 0xf8]
lea rdx, [rsp + 0xf0]
mov r8d, r12d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
xor r9d, r9d
mov r10d, pe_nt_image_headers64
lea r11d, [r9 + 0x3b]
cmp rsi, rbp
jae 0x14001f9c2
movzx edx, r9w
cmp r15, 3
jne 0x14001f9a0
movzx ecx, byte [rsi]
movzx eax, byte [rsi + 1]
imul cx, r10w
add cx, ax
mov word [rsp + rdi*2 + 0x40], cx
jmp 0x14001f9a7
mov dx, word [rsi]
and dx, r13w
mov eax, 0xa
add rsi, r14
cmp ax, dx
je 0x14001f9b9
cmp rsi, rbp
jb 0x14001f980
cmp rsi, rbp
jb 0x14001f6eb
lea rcx, [rsp + 0x70]
call fcn.140054c44
cmp rbx, 0xffffffffffffffff
je 0x14001f9db
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x58]
call fcn.140054c44
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret