Function at 0x18000bcf0
Capabilities:
Get file size
Read file via mapping

Disassembly:
push rbx
push rdi
push r12
sub rsp, 0x2a0
mov rax, qword [0x180080920]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x50], rdx
mov rdi, rdx
mov rbx, rcx
test rcx, rcx
jne 0x18000bd33
mov rbx, qword [0x180082d08]
test rbx, rbx
jne 0x18000bd33
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rbx, rax
mov qword [rsp + 0x2d0], rbp
mov rdx, rdi
mov qword [rsp + 0x298], rsi
mov rcx, rbx
mov qword [rsp + 0x290], r13
mov qword [rsp + 0x288], r14
mov qword [rsp + 0x280], r15
call fcn.18000b5f0
mov r12, rax
test rax, rax
je 0x18000bf4c
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x208
call fcn.18004c900
mov r9d, 0x104
lea r8, [rsp + 0x60]
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.PSAPI.DLL_GetModuleFileNameExW]
test eax, eax
je 0x18000bf4c
xor ebx, ebx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov dword [rsp + 0x28], pe_nt_image_headers64
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x18000bf4c
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
xor r9d, r9d
mov qword [rsp + 0x28], rbx
xor edx, edx
mov dword [rsp + 0x40], eax
lea r8d, [rbx + 2]
mov dword [rsp + 0x20], eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov qword [rsp + 0x48], rax
test rax, rax
je 0x18000bf2a
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
lea edx, [rbx + 4]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rbp, rax
test rax, rax
je 0x18000bf2a
mov r9, rax
mov byte [rsp + 0x20], 1
xor r8d, r8d
xor edx, edx
call fcn.180007830
test al, al
je 0x18000befc
movsxd rcx, dword [rbp + 0x3c]
mov eax, 0x10b
cmp word [rcx + rbp + 0x18], ax
jne 0x18000be72
mov esi, dword [rcx + rbp + 0x34]
mov r13d, dword [rcx + rbp + 0x7c]
mov eax, dword [rcx + rbp + 0x78]
jmp 0x18000be86
mov rsi, qword [rcx + rbp + 0x30]
mov r13d, dword [rcx + rbp + 0x8c]
mov eax, dword [rcx + rbp + 0x88]
mov r14d, eax
mov r8b, 1
mov rcx, rbp
lea rdx, [r14 + rsi]
call sym.TitanEngine.dll_ConvertVAtoFileOffset
mov r15, rax
test rax, rax
je 0x18000befc
mov edx, dword [rax + 0x1c]
mov r8b, 1
add rdx, rsi
mov rcx, rbp
call sym.TitanEngine.dll_ConvertVAtoFileOffset
mov rdx, rax
test rax, rax
je 0x18000befc
mov r8d, dword [r15 + 0x14]
mov esi, ebx
test r8d, r8d
je 0x18000befc
mov r9, qword [rsp + 0x50]
nop dword [rax]
mov ecx, dword [rdx]
test ecx, ecx
je 0x18000bef1
inc esi
cmp rcx, r14
jb 0x18000bee8
mov eax, r13d
add rax, r14
cmp rcx, rax
jb 0x18000bef1
lea rax, [rcx + r12]
cmp rax, r9
je 0x18000bf12
inc ebx
add rdx, 4
cmp ebx, r8d
jb 0x18000bed0
mov r8, qword [rsp + 0x48]
mov r9, rbp
mov edx, dword [rsp + 0x40]
mov rcx, rdi
call fcn.18000dc30
jmp 0x18000bf4c
mov r8, qword [rsp + 0x48]
mov r9, rbp
mov edx, dword [rsp + 0x40]
mov rcx, rdi
call fcn.18000dc30
mov eax, esi
jmp 0x18000bf4e
lea rdx, [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetHandleInformation]
test eax, eax
je 0x18000bf4c
test byte [rsp + 0x40], 2
jne 0x18000bf4c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov r15, qword [rsp + 0x280]
mov r14, qword [rsp + 0x288]
mov r13, qword [rsp + 0x290]
mov rsi, qword [rsp + 0x298]
mov rbp, qword [rsp + 0x2d0]
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.180049ad0
add rsp, 0x2a0
pop r12
pop rdi
pop rbx
ret