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

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x58
lea rdx, [0x180017444]
mov rcx, qword [rsp + 0x60]
call fcn.180005bf0
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x180001310
jmp 0x180001525
mov r8d, 2
xor edx, edx
mov rcx, qword [rsp + 0x38]
call fcn.18000612c
mov rcx, qword [rsp + 0x38]
call fcn.180006628
mov dword [rsp + 0x2c], eax
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x38]
call fcn.18000612c
movsxd rax, dword [rsp + 0x2c]
mov rcx, rax
call fcn.18000589c
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
jne 0x180001368
mov rcx, qword [rsp + 0x38]
call fcn.180005ad0
jmp 0x180001525
movsxd rax, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x38]
mov r8, rax
mov edx, 1
mov rcx, qword [rsp + 0x48]
call fcn.180005e5c
mov rcx, qword [rsp + 0x38]
call fcn.180005ad0
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x68]
lea eax, [rax + rcx - 0x11]
mov dword [rsp + 0x30], eax
movsxd rax, dword [rsp + 0x30]
mov rcx, rax
call fcn.18000589c
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
jne 0x1800013c7
mov rcx, qword [rsp + 0x48]
call fcn.180005888
jmp 0x180001525
mov dword [rsp + 0x28], 0
jmp 0x1800013db
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x28], eax
jge 0x1800013f5
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + rax], 0
jmp 0x1800013d1
mov dword [rsp + 0x20], 0
movsxd rax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
movsx eax, byte [rcx + rax]
cmp eax, 0x23
je 0x180001438
movsxd rax, dword [rsp + 0x20]
movsxd rcx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
jmp 0x1800013fd
mov dword [rsp + 0x24], 0
jmp 0x18000144c
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x24], eax
jge 0x18000147e
movsxd rax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x24]
mov edx, dword [rsp + 0x20]
add edx, ecx
mov ecx, edx
movsxd rcx, ecx
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x60]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
jmp 0x180001442
mov eax, dword [rsp + 0x20]
add eax, 0x11
cmp eax, dword [rsp + 0x2c]
jge 0x1800014c1
mov eax, dword [rsp + 0x20]
add eax, 0x11
cdqe
mov ecx, dword [rsp + 0x24]
mov edx, dword [rsp + 0x20]
add edx, ecx
mov ecx, edx
movsxd rcx, ecx
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
jmp 0x18000147e
mov rcx, qword [rsp + 0x48]
call fcn.180005888
lea rdx, [0x180017460]
mov rcx, qword [rsp + 0x60]
call fcn.180005bf0
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x1800014f5
mov rcx, qword [rsp + 0x40]
call fcn.180005888
jmp 0x180001525
movsxd rax, dword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r8, rax
mov edx, 1
mov rcx, qword [rsp + 0x40]
call fcn.180006880
mov rcx, qword [rsp + 0x38]
call fcn.180005ad0
mov rcx, qword [rsp + 0x40]
call fcn.180005888
add rsp, 0x58
ret