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

Disassembly:
push rbp
mov eax, 0x10c0
call fcn.1400024b0
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1050], rcx
mov qword [rbp + 0x1058], rdx
mov dword [rbp + 0x1060], r8d
mov dword [rbp + 0xfbc], 0
mov dword [rbp + 0xfb8], 0
mov qword [rbp + 0x1038], 0
mov qword [rbp + 0x1030], 0
mov qword [rbp + 0x1028], 0
mov qword [rbp + 0x1020], 0
mov word [rbp + 0x101e], 0
mov dword [rbp + 0x1018], 0
lea rax, [rbp + 0x1000]
mov r8d, 0x10
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
mov word [rbp + 0x1000], 5
mov byte [rbp + 0x1002], 0xb
mov byte [rbp + 0x1003], 3
mov dword [rbp + 0x1004], 0x10
mov word [rbp + 0x1008], 0x48
mov word [rbp + 0x100a], 0
mov rax, qword [rbp + 0x1050]
mov eax, dword [rax + 8]
mov dword [rbp + 0x100c], eax
lea rax, [rbp + 0xfc0]
mov r8d, 0x38
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
mov word [rbp + 0xfc0], 0x1000
mov word [rbp + 0xfc2], 0x1000
mov dword [rbp + 0xfc4], 0
mov byte [rbp + 0xfc8], 1
mov word [rbp + 0xfcc], 0
mov word [rbp + 0xfce], 1
mov dword [rbp + 0xff4], 2
lea rax, [rbp + 0xfc0]
lea rdx, [rax + 0x10]
mov rax, qword [rbp + 0x1058]
mov r8d, 0x10
mov rcx, rax
call fcn.140007cd0
test eax, eax
setne al
test al, al
je 0x1400085b7
mov eax, 1
jmp 0x140008836
mov eax, dword [rbp + 0x1060]
mov dword [rbp + 0xfe0], eax
lea rax, [rbp + 0xfc0]
add rax, 0x24
mov r8d, 0x10
mov rdx, rax
lea rax, str.8a885d04_1ceb_11c9_9fe8_08002b104860
mov rcx, rax
call fcn.140007cd0
test eax, eax
setne al
test al, al
je 0x1400085f9
mov eax, 1
jmp 0x140008836
mov rax, qword [rbp + 0x1050]
mov rax, qword [rax]
lea rcx, [rbp + 0xfbc]
lea rdx, [rbp + 0x1000]
mov qword [rsp + 0x20], 0
mov r9, rcx
mov r8d, 0x10
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WriteFile]
call rax
test eax, eax
sete al
test al, al
je 0x140008642
mov eax, 1
jmp 0x140008836
mov rax, qword [rbp + 0x1050]
mov rax, qword [rax]
lea rcx, [rbp + 0xfbc]
lea rdx, [rbp + 0xfc0]
mov qword [rsp + 0x20], 0
mov r9, rcx
mov r8d, 0x38
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WriteFile]
call rax
test eax, eax
sete al
test al, al
je 0x14000868b
mov eax, 1
jmp 0x140008836
mov rax, qword [rbp + 0x1050]
mov eax, dword [rax + 8]
lea edx, [rax + 1]
mov rax, qword [rbp + 0x1050]
mov dword [rax + 8], edx
lea rax, [rbp - 0x50]
mov r8d, 0x1000
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
mov rax, qword [rbp + 0x1050]
mov rax, qword [rax]
lea rcx, [rbp + 0xfb8]
lea rdx, [rbp - 0x50]
mov qword [rsp + 0x20], 0
mov r9, rcx
mov r8d, 0x1000
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_ReadFile]
call rax
test eax, eax
sete al
test al, al
je 0x1400086ff
mov eax, 1
jmp 0x140008836
lea rax, [rbp - 0x50]
mov qword [rbp + 0x1038], rax
mov rax, qword [rbp + 0x1038]
movzx eax, word [rax]
cmp ax, 5
je 0x140008724
mov eax, 1
jmp 0x140008836
mov rax, qword [rbp + 0x1038]
movzx eax, byte [rax + 2]
cmp al, 0xc
je 0x14000873d
mov eax, 1
jmp 0x140008836
mov rax, qword [rbp + 0x1038]
movzx eax, byte [rax + 3]
cmp al, 3
je 0x140008756
mov eax, 1
jmp 0x140008836
mov rax, qword [rbp + 0x1038]
movzx eax, word [rax + 8]
movzx edx, ax
mov eax, dword [rbp + 0xfb8]
cmp edx, eax
je 0x140008778
mov eax, 1
jmp 0x140008836
mov rax, qword [rbp + 0x1038]
add rax, 0x10
mov qword [rbp + 0x1030], rax
mov rax, qword [rbp + 0x1030]
add rax, 8
mov qword [rbp + 0x1020], rax
mov rax, qword [rbp + 0x1020]
movzx eax, word [rax]
mov word [rbp + 0x101e], ax
cmp word [rbp + 0x101e], 0x100
jbe 0x1400087bf
mov eax, 1
jmp 0x140008836
movzx eax, word [rbp + 0x101e]
add eax, 5
and eax, 0xfffffffc
mov edx, eax
movzx eax, word [rbp + 0x101e]
sub edx, eax
lea eax, [rdx - 2]
mov dword [rbp + 0x1018], eax
movzx edx, word [rbp + 0x101e]
mov eax, dword [rbp + 0x1018]
add rax, rdx
lea rdx, [rax + 2]
mov rax, qword [rbp + 0x1020]
add rax, rdx
mov qword [rbp + 0x1028], rax
mov rax, qword [rbp + 0x1028]
mov eax, dword [rax]
cmp eax, 1
je 0x14000881a
mov eax, 1
jmp 0x140008836
mov rax, qword [rbp + 0x1028]
movzx eax, word [rax + 4]
test ax, ax
je 0x140008831
mov eax, 1
jmp 0x140008836
mov eax, 0
add rsp, 0x10c0
pop rbp
ret