Function at 0x140021144
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.140063694
lea rcx, [rsp + 0x78]
lea rdx, str._SystemRoot_INF_
mov r8d, 0x24
call fcn.1401036e0
xor r11d, r11d
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x78]
lea rcx, [0x14013d130]
xor r9d, r9d
mov dword [rsp + 0x9c], r11d
mov byte [rsp + 0x20], 1
call fcn.14007a224
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.140003864
mov rbx, qword [rsp + 0xf0]
cmp rbx, r14
je 0x140021607
mov rcx, rbx
call fcn.1400e693c
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov rdi, rax
call fcn.14005c674
lea r11d, [rdi + 0xc]
lea rcx, [rsp + 0x70]
movsxd rdx, r11d
call fcn.1400633a8
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 0x1400215ee
mov ecx, dword [rsp + 0xf8]
lea r8d, [r14 + 6]
xor edx, edx
add rcx, rsi
call fcn.140102a90
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 0x1400212d1
mov r12d, edx
lea eax, [rdx - 1]
mov r13d, r8d
mov ecx, 0xfffe
cmp word [rsi], cx
jne 0x1400212e4
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 0x1400215ee
mov r10d, 0x100
lea r11d, [rcx + 0x3b]
xor r9d, r9d
mov rdx, r9
mov r8, rsi
cmp r15, 3
jne 0x14002133b
movzx eax, byte [r8]
movzx ecx, byte [r8 + 1]
imul ax, r10w
add cx, ax
mov word [rsp + rdx*2 + 0x40], cx
jmp 0x140021348
movzx eax, r13w
and ax, word [r8]
mov word [rsp + rdx*2 + 0x40], ax
inc rdx
add r8, r14
cmp rdx, 9
jl 0x14002131d
movzx eax, word [rsp + 0x40]
mov rdi, r9
or word [rsp + rdi*2 + 0x40], 0x20
inc rdi
cmp rdi, 6
jl 0x14002135c
mov word [rsp + 0xf0], r9w
cmp dword [rsp + 0x68], r9d
je 0x14002148a
cmp word [rsp + 0x40], 0x63
jne 0x1400213e3
cmp word [rsp + 0x42], 0x6f
jne 0x1400215a7
cmp word [rsp + 0x44], 0x70
jne 0x1400215a7
cmp word [rsp + 0x46], 0x79
jne 0x1400215a7
cmp word [rsp + 0x48], 0x66
jne 0x1400215a7
cmp word [rsp + 0x4a], 0x69
jne 0x1400215a7
cmp word [rsp + 0x4c], 0x6c
jne 0x1400215a7
cmp word [rsp + 0x4e], 0x65
jne 0x1400215a7
cmp word [rsp + 0x50], 0x73
je 0x140021443
cmp word [rsp + 0x40], 0x64
jne 0x1400215a7
cmp word [rsp + 0x42], 0x65
jne 0x1400215a7
cmp word [rsp + 0x44], 0x6c
jne 0x1400215a7
cmp word [rsp + 0x46], 0x66
jne 0x1400215a7
cmp word [rsp + 0x48], 0x69
jne 0x1400215a7
cmp word [rsp + 0x4a], 0x6c
jne 0x1400215a7
cmp word [rsp + 0x4c], 0x65
jne 0x1400215a7
cmp word [rsp + 0x4e], 0x73
jne 0x1400215a7
mov rdx, rsi
xor r8d, r8d
mov rcx, rbx
sub rdx, qword [rsp + 0x60]
call fcn.14005c674
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 0x14002159a
cmp ax, r11w
jne 0x1400215a7
cmp word [rsp + 0x42], 0x6f
jne 0x14002151a
cmp word [rsp + 0x44], 0x70
jne 0x1400215a7
cmp word [rsp + 0x46], 0x79
jne 0x1400215a7
cmp word [rsp + 0x48], 0x66
jne 0x1400215a7
cmp word [rsp + 0x4a], 0x69
jne 0x1400215a7
cmp word [rsp + 0x4c], 0x6c
jne 0x1400215a7
cmp word [rsp + 0x4e], 0x65
jne 0x1400215a7
cmp word [rsp + 0x50], 0x73
jne 0x1400215a7
mov rdx, rsi
xor r8d, r8d
mov rcx, rbx
sub rdx, qword [rsp + 0x60]
call fcn.14005c674
and dword [rsp + 0xf8], 0
mov eax, 0x43
mov word [rsp + 0xf0], ax
jmp 0x140021578
cmp word [rsp + 0x42], 0x65
jne 0x1400215a7
cmp word [rsp + 0x44], 0x6c
jne 0x1400215a7
cmp word [rsp + 0x46], 0x66
jne 0x1400215a7
cmp word [rsp + 0x48], 0x69
jne 0x1400215a7
cmp word [rsp + 0x4a], 0x6c
jne 0x1400215a7
cmp word [rsp + 0x4c], 0x65
jne 0x1400215a7
cmp word [rsp + 0x4e], 0x73
jne 0x1400215a7
mov rdx, rsi
xor r8d, r8d
mov rcx, rbx
sub rdx, qword [rsp + 0x60]
call fcn.14005c674
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, 0x100
lea r11d, [r9 + 0x3b]
cmp rsi, rbp
jae 0x1400215ee
movzx edx, r9w
cmp r15, 3
jne 0x1400215cc
movzx ecx, byte [rsi]
movzx eax, byte [rsi + 1]
imul cx, r10w
add cx, ax
mov word [rsp + rdi*2 + 0x40], cx
jmp 0x1400215d3
mov dx, word [rsi]
and dx, r13w
mov eax, 0xa
add rsi, r14
cmp ax, dx
je 0x1400215e5
cmp rsi, rbp
jb 0x1400215ac
cmp rsi, rbp
jb 0x140021317
lea rcx, [rsp + 0x70]
call fcn.14005b104
cmp rbx, 0xffffffffffffffff
je 0x140021607
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x58]
call fcn.14005b104
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret