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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x1a0
mov qword [rsp + 0x158], 0xfffffffffffffffe
mov rax, qword [0x180161180]
xor rax, rsp
mov qword [rsp + 0x190], rax
mov qword [rsp + 0xb8], 0
mov dword [rsp + 0x34], 0
mov dword [rsp + 0xb0], 0
mov byte [rsp + 0x50], 0
lea rdi, [rsp + 0x51]
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rdi, [rsp + 0x60]
xor eax, eax
mov ecx, 0x50
rep stosb byte [rdi], al
mov dword [rsp + 0xc0], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0x1f
xor r9d, r9d
lea r8, [rsp + 0xb0]
xor edx, edx
mov rcx, qword [rsp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0xffffffff
jne 0x1800cc626
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
mov edx, dword [rsp + 0x30]
lea rcx, [0x18002b030]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0xd0], rax
cmp qword [rsp + 0xd0], 0
je 0x1800cc5d6
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea r9, [0x18002afd0]
mov edx, 5
mov rcx, qword [rsp + 0xd0]
call fcn.18008d120
mov qword [rsp + 0x160], rax
jmp 0x1800cc5e2
mov qword [rsp + 0x160], 0
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xd8], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0xd8]
call fcn.1800ec370
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x60
rep stosb byte [rdi], al
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xc0]
mov r8d, 0x60
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1800cc71d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
mov edx, dword [rsp + 0x30]
lea rcx, [0x18002af70]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0xe8], rax
cmp qword [rsp + 0xe8], 0
je 0x1800cc6cd
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea r9, [0x18002af20]
mov edx, 5
mov rcx, qword [rsp + 0xe8]
call fcn.18008d120
mov qword [rsp + 0x168], rax
jmp 0x1800cc6d9
mov qword [rsp + 0x168], 0
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xf0], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0xf0]
call fcn.1800ec370
mov eax, dword [rsp + 0xc0]
cmp rax, 0x60
je 0x1800cc7ee
mov r8d, 0x60
mov edx, dword [rsp + 0xc0]
lea rcx, [0x18002aeb0]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x100], rax
cmp qword [rsp + 0x100], 0
je 0x1800cc79e
mov qword [rsp + 0x28], 0x60
mov eax, dword [rsp + 0xc0]
mov dword [rsp + 0x20], eax
lea r9, [0x18002ae40]
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rsp + 0x100]
call fcn.18008d120
mov qword [rsp + 0x170], rax
jmp 0x1800cc7aa
mov qword [rsp + 0x170], 0
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x108], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x108]
call fcn.1800ec370
mov rax, qword [rsp + 0x1c0]
movzx eax, word [rax + 2]
mov word [rsp + 0x6e], ax
mov eax, dword [rsp + 0x1c8]
mov dword [rsp + 0x7c], eax
xor r9d, r9d
lea r8, [rsp + 0xb0]
xor edx, edx
mov rcx, qword [rsp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0xffffffff
jne 0x1800cc8eb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
mov edx, dword [rsp + 0x30]
lea rcx, [0x18002ade0]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x118], rax
cmp qword [rsp + 0x118], 0
je 0x1800cc89b
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea r9, [0x18002ad80]
mov edx, 5
mov rcx, qword [rsp + 0x118]
call fcn.18008d120
mov qword [rsp + 0x178], rax
jmp 0x1800cc8a7
mov qword [rsp + 0x178], 0
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x120], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x120]
call fcn.1800ec370
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x38]
mov r8d, 0x60
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1800cc9d1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
mov edx, dword [rsp + 0x30]
lea rcx, [0x18002ad20]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x130], rax
cmp qword [rsp + 0x130], 0
je 0x1800cc981
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea r9, [0x18002acc0]
mov edx, 5
mov rcx, qword [rsp + 0x130]
call fcn.18008d120
mov qword [rsp + 0x180], rax
jmp 0x1800cc98d
mov qword [rsp + 0x180], 0
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x138], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x138]
call fcn.1800ec370
mov eax, dword [rsp + 0x38]
cmp rax, 0x60
je 0x1800cca99
mov r8d, 0x60
mov edx, dword [rsp + 0x38]
lea rcx, [0x18002ac50]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x148], rax
cmp qword [rsp + 0x148], 0
je 0x1800cca49
mov qword [rsp + 0x28], 0x60
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x20], eax
lea r9, [0x18002abe0]
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rsp + 0x148]
call fcn.18008d120
mov qword [rsp + 0x188], rax
jmp 0x1800cca55
mov qword [rsp + 0x188], 0
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x150], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x150]
call fcn.1800ec370
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.1800eb430
add rsp, 0x1a0
pop rdi
ret