Function at 0x140018330
Capabilities:
Read file via mapping

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
lea rsi, [rcx + 0x10]
mov rdi, rcx
mov rcx, qword [rsi]
xor r12d, r12d
movzx r15d, r8b
mov rbp, rdx
test rcx, rcx
je 0x14001836a
jle 0x140018367
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rsi], r12
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14001837f
jle 0x14001837b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 8], r12
mov rcx, qword [rdi]
test rcx, rcx
je 0x140018392
jle 0x14001838f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi], r12
mov rcx, qword [rdi + 0x48]
test rcx, rcx
je 0x1400183a7
jle 0x1400183a3
call qword [sym.imp.KERNEL32.dll_ReleaseActCtx]
mov qword [rdi + 0x48], r12
lea r14, [rdi + 0xf8]
mov qword [rdi + 0x20], r12
mov qword [rdi + 0x28], r12
cmp r14, rbp
je 0x1400183e5
mov rcx, rbp
call fcn.140003390
mov rcx, r14
call fcn.140003390
mov rbx, qword [rbp + 0x10]
mov rcx, rbp
call fcn.140002960
mov r8, rbx
mov rdx, rax
mov rcx, r14
call fcn.1400035b0
mov rcx, rbp
mov byte [rdi + 0x1c], r12b
call fcn.140002c00
xor r9d, r9d
mov qword [rsp + 0x30], r12
mov rcx, rax
mov dword [rsp + 0x28], r12d
mov edx, 0x120089
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rcx, qword [rdi]
mov rbx, rax
cmp rax, rcx
je 0x140018434
test rcx, rcx
jle 0x14001842e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi], rbx
mov rcx, rbx
test rcx, rcx
jle 0x140018539
mov qword [rsp + 0x28], r12
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x20], r12d
mov r8d, 0x1000002
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rcx, qword [rdi + 8]
mov rbx, rax
cmp rax, rcx
je 0x140018476
test rcx, rcx
jle 0x14001846f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 8], rbx
mov rcx, rbx
xor r9d, r9d
test rcx, rcx
jle 0x140018484
mov byte [rdi + 0x18], r12b
jmp 0x1400184c7
mov rcx, qword [rdi]
xor edx, edx
mov qword [rsp + 0x28], r12
mov byte [rdi + 0x18], 1
mov dword [rsp + 0x20], r12d
lea r8d, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rcx, qword [rdi + 8]
mov rbx, rax
cmp rax, rcx
je 0x1400184bf
test rcx, rcx
jle 0x1400184b8
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 8], rbx
mov rcx, rbx
test rcx, rcx
jle 0x14001850c
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r12
lea edx, [r8 + 4]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rbx, rax
lea rax, [rsp + 0x70]
cmp rax, rsi
je 0x1400184fe
mov rcx, qword [rsi]
cmp rbx, rcx
je 0x14001850c
test rcx, rcx
jle 0x1400184f9
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rsi], rbx
jmp 0x14001850c
test rbx, rbx
jle 0x14001850c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
cmp qword [rsi], r12
je 0x140018539
xor edx, edx
mov rcx, rdi
call fcn.140018660
test eax, eax
js 0x140018548
test r15b, r15b
jne 0x140018548
mov rcx, r14
call fcn.140002c00
mov rdx, rax
mov rcx, rdi
call fcn.140019260
jmp 0x140018548
mov rax, qword gs:[0x30]
mov eax, dword [rax + 0x1250]
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret