Function at 0x140008b14
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rax, rdx
xor r15d, r15d
mov r12, rcx
mov dword [rcx + 0x3c], r15d
xor edx, edx
mov rcx, rax
mov r14, r8
mov edi, r15d
call fcn.140008ef0
cmp rax, 0xffffffffffffffff
mov r13, rax
je 0x140008da6
xor eax, eax
lea r9, [rsp + 0x88]
lea r8d, [r15 + 4]
lea rdx, [rsp + 0x70]
mov rcx, r13
mov byte [rsp + 0x70], r15b
mov word [rsp + 0x71], ax
mov byte [rsp + 0x73], al
mov dword [rsp + 0x88], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp byte [rsp + 0x72], 0xff
jne 0x140008cd4
mov al, byte [rsp + 0x73]
lea esi, [r15 + 2]
cmp al, 0xe0
jne 0x140008c33
lea r9, [rsp + 0x88]
lea rdx, [rsp + 0x70]
mov r8d, esi
mov rcx, r13
mov dword [rsp + 0x88], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
movzx ecx, word [rsp + 0x70]
movzx eax, byte [rsp + 0x70]
shr cx, 8
shl ax, 8
lea r9d, [r15 + 1]
or cx, ax
xor r8d, r8d
movzx ebx, cx
mov rcx, r13
lea edx, [rbx - 2]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
lea r9, [rsp + 0x88]
lea rdx, [rsp + 0x72]
mov r8d, esi
mov rcx, r13
mov dword [rsp + 0x88], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp byte [rsp + 0x72], 0xff
lea r11d, [rbx + 2]
mov dword [r12 + 0x3c], r11d
jne 0x140008cd4
mov al, byte [rsp + 0x73]
cmp al, 0xe1
jne 0x140008cd4
lea r9, [rsp + 0x88]
lea rdx, [rsp + 0x70]
mov r8d, esi
mov rcx, r13
mov dword [rsp + 0x88], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
movzx ebp, word [rsp + 0x70]
movzx eax, byte [rsp + 0x70]
shl ax, 8
shr bp, 8
lea rcx, [r12 + 0x18]
or bp, ax
movzx ebx, bp
mov edx, ebx
call fcn.14000ab28
lea rcx, [r12 + 8]
mov edx, ebx
call fcn.14000ab28
mov rdx, qword [r12 + 8]
lea r9, [rsp + 0x88]
mov r8d, ebx
mov rcx, r13
mov dword [r12 + 0x30], ebx
mov dword [rsp + 0x88], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rdx, qword [r12 + 8]
mov rcx, qword [r12 + 0x18]
movzx r8d, bp
call sub.msvcrt.dll_memcpy
mov edi, 1
cmp byte [rsp + 0x70], 0x49
mov al, byte [rsp + 0x71]
jne 0x140008ce3
cmp al, 0x49
je 0x140008cee
cmp byte [rsp + 0x70], 0x4d
jne 0x140008d5e
cmp al, 0x4d
jne 0x140008d5e
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov esi, 0x8000
lea rcx, [r12 + 0x18]
mov edx, esi
call fcn.14000ab28
lea rcx, [r12 + 8]
mov edx, esi
call fcn.14000ab28
mov rdx, qword [r12 + 8]
lea r9, [rsp + 0x88]
mov r8d, esi
mov rcx, r13
mov dword [r12 + 0x30], esi
mov dword [rsp + 0x88], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rdx, qword [r12 + 8]
mov rcx, qword [r12 + 0x18]
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov edi, 1
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp edi, r15d
je 0x140008da6
lea rcx, [r12 + 0xa8]
xor edx, edx
mov r8d, 0x87c
call sub.msvcrt.dll_memset
mov rcx, r12
call fcn.140008a40
cmp eax, r15d
mov edi, eax
je 0x140008da6
lea rdx, [r12 + 0xa0]
mov rcx, r14
mov r8d, 0x884
call sub.msvcrt.dll_memcpy
mov eax, edi
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret