Function at 0x180084080
Capabilities:
Read file via mapping

Disassembly:
push rbx
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x180131010]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x60], 0
mov r14, r8
mov r15, rdx
mov rbx, rcx
jne 0x180084382
cmp qword [rcx + 0x20], 0
jne 0x180084382
cmp qword [rcx + 0x28], 0
jne 0x180084382
mov edx, dword [rcx + 0x48]
cmp edx, 4
je 0x180084382
lea eax, [rdx - 5]
cmp eax, 1
jbe 0x180084382
movsxd rcx, dword [rcx + 0x40]
mov qword [rsp + 0xa8], rbp
xor ebp, ebp
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], rdi
cmp ecx, 0x10000
ja 0x180084209
mov dword [rsp + 0x30], ecx
call fcn.1800db3b8
lea rdi, [rbx + 0x38]
xor edx, edx
mov rcx, rbx
mov qword [rdi], rax
mov qword [rbx + 0x30], rax
call fcn.180083fa0
mov esi, eax
test eax, eax
js 0x1800841ac
mov r8d, dword [rsp + 0x30]
lea r9, [rsp + 0x30]
mov rdx, qword [rdi]
mov rcx, rbx
call fcn.180083d50
mov esi, eax
test eax, eax
jns 0x18008414f
mov rcx, qword [rdi]
call fcn.1800db3b0
mov qword [rdi], rbp
jmp 0x1800841ac
mov rcx, qword [rbx + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x180084176
test byte [rbx + 0x44], 6
je 0x180084166
mov edx, 6
jmp 0x180084195
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x18], 0xffffffffffffffff
jmp 0x180084190
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x180084190
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x180102408]
mov qword [rbx + 0x10], rbp
mov edx, 4
mov dword [rbx + 0x48], edx
or byte [rbx + 8], 8
xor edx, edx
mov rcx, rbx
call fcn.180083fa0
mov esi, eax
test esi, esi
jns 0x1800841cd
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1800841bb
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdi, [rbx + 0x38]
mov qword [rbx + 0x20], rbp
mov qword [rdi], rbp
mov qword [rbx + 0x30], rbp
mov dword [rbx + 0x40], ebp
mov rax, qword [rdi]
mov qword [r15], rax
test r14, r14
je 0x1800841de
mov eax, dword [rbx + 0x40]
mov dword [r14], eax
mov eax, esi
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1800db390
add rsp, 0x70
pop r15
pop r14
pop rbx
ret
test byte [rbx + 0x44], 2
jne 0x1800842ed
cmp edx, 3
je 0x1800842ed
mov rcx, qword [rbx + 0x18]
xor r9d, r9d
mov qword [rsp + 0x28], rbp
xor edx, edx
mov dword [rsp + 0x20], ebp
lea r8d, [r9 + 2]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [rbx + 0x20], rax
test rax, rax
jne 0x18008425c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x180084253
movzx eax, ax
or eax, 0x80070000
mov ecx, eax
call fcn.18008dee0
jmp 0x1800841e0
mov dword [rbx + 0x4c], 1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x180084288
lea rdx, [rsp + 0x38]
mov ecx, 0x8013110a
call fcn.18008dee0
lea rdi, [rbx + 0x38]
jmp 0x1800841a6
mov rcx, qword [rbx + 0x20]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbp
lea edx, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rbx + 0x38], rax
lea rdi, [rbx + 0x38]
mov qword [rbx + 0x30], rax
test rax, rax
jne 0x18008419c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x1800842c8
movzx eax, ax
or eax, 0x80070000
mov ecx, eax
call fcn.18008dee0
mov esi, eax
test eax, eax
js 0x1800842e1
mov ecx, 0x8013110e
call fcn.18008dee0
mov esi, eax
mov qword [rdi], rbp
mov qword [rbx + 0x30], rbp
jmp 0x1800841a8
mov r8d, dword [0x180132548]
lea eax, [rcx - 1]
lea edi, [r8 - 1]
not edi
and edi, eax
add edi, r8d
cmp edi, ecx
jae 0x180084321
mov ecx, 0x80131516
call fcn.18008dee0
mov esi, eax
test eax, eax
js 0x1800841ac
mov r8d, dword [0x180132548]
xor edx, edx
mov eax, edi
div r8d
mov ecx, eax
call fcn.1800db3b8
mov rcx, rax
mov qword [rbx + 0x60], rax
xor edx, edx
mov eax, edi
div dword [0x180132548]
xor edx, edx
mov r8d, eax
call fcn.1800dd740
xor ecx, ecx
mov edx, edi
mov r8d, 0x2000
lea r9d, [rcx + 1]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbx + 0x38], rax
lea rdi, [rbx + 0x38]
mov qword [rbx + 0x30], rax
test rax, rax
jne 0x18008419c
mov ecx, 0x8007000e
call fcn.18008dee0
jmp 0x1800841a6
mov rax, qword [rcx + 0x38]
mov qword [r15], rax
test r14, r14
je 0x180084394
mov eax, dword [rcx + 0x40]
mov dword [r8], eax
xor eax, eax
jmp 0x1800841f2