Function at 0x786db0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
mov eax, 0x1140
call fcn.007bcec0
sub rsp, rax
mov rax, qword [0x007cd058]
xor rax, rsp
mov qword [rsp + 0x1130], rax
mov rdi, rcx
xor ebx, ebx
lea rcx, [rsp + 0xa4]
xor edx, edx
mov r8d, 0x107c
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0xa0], ebx
call fcn.00790ad0
lea r9d, [rbx + 1]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov esi, eax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
lea r9, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
mov r8d, 0x1080
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x786e68
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r9d, r9d
xor r8d, r8d
mov edx, esi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [rbx + 3]
jmp 0x787030
lea rax, [rsp + 0xa4]
mov qword [rsp + 0x1158], rbp
lea rbp, [0x00780000]
mov rdx, qword [rax]
cmp rdx, qword [rbp + 0x456e0]
jne 0x786e9c
mov rdx, qword [rax + 8]
cmp rdx, qword [rbp + 0x456e8]
jne 0x786e9c
mov eax, ebx
jmp 0x786ea1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x786ec6
xor r9d, r9d
xor r8d, r8d
mov edx, esi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [0x007da3a8], ebx
mov eax, 1
jmp 0x787028
xor eax, eax
lea rcx, [rsp + 0x40]
mov dword [0x007da3a8], 1
mov byte [rsp + 0x1120], bl
mov qword [rsp + 0x1121], rax
mov dword [rsp + 0x1129], eax
mov word [rsp + 0x112d], ax
mov byte [rsp + 0x112f], al
call fcn.007ae450
lea rdx, [rsp + 0x10e0]
lea rcx, [rsp + 0x40]
mov r8d, 0x40
call fcn.007aebf0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x1120]
call fcn.007aed10
lea r11, [rsp + 0xb8]
lea rax, [rsp + 0x1120]
mov rcx, qword [r11]
cmp rcx, qword [rax]
jne 0x786f4d
mov rcx, qword [r11 + 8]
cmp rcx, qword [rax + 8]
je 0x786f54
sbb eax, eax
sbb eax, 0xffffffff
mov ebx, eax
test ebx, ebx
je 0x786f73
xor r9d, r9d
xor r8d, r8d
mov edx, esi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, 5
jmp 0x787028
movzx eax, byte [rsp + 0xe0]
lea rdx, [rsp + 0x10e0]
mov r8d, 0x40
inc eax
lea rcx, [rsp + rax + 0xe0]
call fcn.00787120
lea rcx, [rsp + 0x10e4]
mov r9d, 1
mov eax, dword [rcx]
xor r8d, r8d
mov edx, esi
mov dword [rbp + 0x5a400], eax
mov eax, dword [rcx + 4]
mov dword [rbp + 0x5a404], eax
mov eax, dword [rcx + 8]
mov dword [rbp + 0x5a408], eax
mov eax, dword [rcx + 0xc]
lea rcx, [rsp + 0x10f4]
mov dword [rbp + 0x5a40c], eax
mov eax, dword [rcx]
mov dword [rbp + 0x5a460], eax
mov eax, dword [rcx + 4]
mov dword [rbp + 0x5a464], eax
mov eax, dword [rcx + 8]
mov dword [rbp + 0x5a468], eax
mov eax, dword [rcx + 0xc]
mov dword [rbp + 0x5a46c], eax
mov eax, dword [rcx + 0x10]
mov dword [rbp + 0x5a470], eax
mov eax, dword [rcx + 0x14]
mov dword [rbp + 0x5a474], eax
mov eax, dword [rcx + 0x18]
mov dword [rbp + 0x5a478], eax
mov eax, dword [rcx + 0x1c]
mov rcx, rdi
mov dword [rbp + 0x5a47c], eax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
xor eax, eax
mov rbp, qword [rsp + 0x1158]
mov rcx, qword [rsp + 0x1130]
xor rcx, rsp
call fcn.00787d00
lea r11, [rsp + 0x1140]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret