Function at 0x18004f7b0
Capabilities:
Read file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x30
cmp dword [rcx + 0xda0c], 0
mov rax, qword [rcx + 0x258]
movsxd rsi, r8d
lea r12, [rsi + rsi*2]
mov rbp, rdx
mov rbx, rcx
mov edi, dword [rax + r12*8 + 0x10]
jne 0x18004f868
mov rax, qword [rax + r12*8 + 8]
mov rcx, qword [rcx + 0x208]
lea r8, [rsp + 0x64]
mov edx, eax
xor r9d, r9d
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x18004f81f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x18004f81f
or eax, 0xffffffff
add rsp, 0x30
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rcx, qword [rbx + 0x208]
lea r9, [rsp + 0x70]
xor esi, esi
mov r8d, edi
mov rdx, rbp
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsp + 0x70], edi
jne 0x18004f811
cmp byte [rbx + 0x220], sil
je 0x18004f85b
mov r8d, edi
mov rdx, rbp
mov rcx, rbx
call fcn.18004f580
xor eax, eax
add rsp, 0x30
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
movsxd rax, dword [rcx + 0xda08]
imul rax, rax, 0x228
cmp esi, dword [rax + rcx + 0x470]
jl 0x18004f888
cmp esi, dword [rax + rcx + 0x474]
jle 0x18004f897
mov edx, esi
call fcn.18004f6e0
test eax, eax
je 0x18004f811
mov rdx, qword [rbx + 0x258]
movsxd r8, dword [rbx + 0xda08]
xor r9d, r9d
imul r8, r8, 0x228
movsxd rax, dword [r8 + rbx + 0x470]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + r12*8 + 8]
sub rax, qword [rdx + rcx*8 + 8]
movsxd rcx, dword [r8 + rbx + 0x47c]
lea r8, [rsp + 0x64]
add rax, rcx
mov rcx, qword [rbx + 0x208]
mov edx, eax
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x18004f8fc
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x18004f811
movsxd rax, dword [rbx + 0xda08]
mov qword [rsp + 0x68], r13
imul rax, rax, 0x228
cmp esi, dword [rax + rbx + 0x474]
jne 0x18004fa04
mov r12d, dword [rax + rbx + 0x480]
mov rcx, qword [rbx + 0x208]
mov r13d, edi
sub r13d, r12d
lea r9, [rsp + 0x70]
xor esi, esi
mov r8d, r13d
mov rdx, rbp
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsp + 0x70], r13d
jne 0x18004fa29
test r12d, r12d
je 0x18004fa3c
inc dword [rbx + 0xda08]
mov eax, dword [rbx + 0xda08]
cmp eax, dword [rbx + 0xda0c]
jge 0x18004fa29
mov rcx, rbx
call fcn.18004f650
test eax, eax
jne 0x18004fa29
movsxd rax, dword [rbx + 0xda08]
lea r8, [rsp + 0x64]
xor r9d, r9d
imul rax, rax, 0x228
mov ecx, dword [rax + rbx + 0x47c]
sub ecx, r12d
mov eax, ecx
mov edx, ecx
mov rcx, qword [rbx + 0x208]
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x18004f9ca
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x18004fa29
mov rcx, qword [rbx + 0x208]
mov edx, r13d
lea r9, [rsp + 0x70]
add rdx, rbp
mov r8d, r12d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsp + 0x70], r12d
je 0x18004fa3c
or eax, 0xffffffff
mov r13, qword [rsp + 0x68]
add rsp, 0x30
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rcx, qword [rbx + 0x208]
lea r9, [rsp + 0x70]
xor esi, esi
mov r8d, edi
mov rdx, rbp
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsp + 0x70], edi
je 0x18004fa3c
or eax, 0xffffffff
mov r13, qword [rsp + 0x68]
add rsp, 0x30
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp byte [rbx + 0x220], 0
je 0x18004fa53
mov r8d, edi
mov rdx, rbp
mov rcx, rbx
call fcn.18004f580
xor eax, eax
mov r13, qword [rsp + 0x68]
add rsp, 0x30
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret