Function at 0x14010c490
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, 0x50
lea rsi, [rcx + 0x10]
mov rdi, rcx
mov rcx, qword [rsi]
xor r12d, r12d
movzx r15d, r8b
mov rbp, rdx
test rcx, rcx
je 0x14010c4ca
jle 0x14010c4c7
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rsi], r12
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14010c4df
jle 0x14010c4db
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 8], r12
mov rcx, qword [rdi]
test rcx, rcx
je 0x14010c4f2
jle 0x14010c4ef
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi], r12
mov rcx, qword [rdi + 0x48]
test rcx, rcx
je 0x14010c507
jle 0x14010c503
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 0x14010c545
mov rcx, r14
call fcn.1400d40a0
mov rcx, rbp
call fcn.1400d4080
mov rbx, qword [rbp + 0x10]
mov rcx, rbp
call fcn.1400d4330
mov r8, rbx
mov rdx, rax
mov rcx, r14
call fcn.1400eb530
mov rcx, rbp
mov byte [rdi + 0x1c], r12b
call fcn.1400d3710
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 0x14010c594
test rcx, rcx
jle 0x14010c58e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi], rbx
mov rcx, rbx
test rcx, rcx
jle 0x14010c6db
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 0x14010c5d6
test rcx, rcx
jle 0x14010c5cf
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 8], rbx
mov rcx, rbx
xor r9d, r9d
test rcx, rcx
jle 0x14010c62e
xor r8d, r8d
mov byte [rdi + 0x18], r12b
lea edx, [r9 + 4]
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rbx, rax
lea rax, [rsp + 0x40]
cmp rax, rsi
je 0x14010c620
mov rcx, qword [rsi]
cmp rbx, rcx
je 0x14010c6ae
test rcx, rcx
jle 0x14010c618
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rsi], rbx
jmp 0x14010c6ae
test rbx, rbx
jle 0x14010c6ae
mov rcx, rbx
jmp 0x14010c6a8
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 0x14010c669
test rcx, rcx
jle 0x14010c662
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 8], rbx
mov rcx, rbx
test rcx, rcx
jle 0x14010c6ae
xor r9d, r9d
mov qword [rsp + 0x20], r12
xor r8d, r8d
lea edx, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
lea rdx, [rsp + 0x80]
mov rcx, rsi
mov qword [rsp + 0x80], rax
call fcn.14010e390
mov rcx, qword [rsp + 0x80]
test rcx, rcx
jle 0x14010c6ae
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
cmp qword [rsi], r12
je 0x14010c6db
xor edx, edx
mov rcx, rdi
call fcn.14010c8b0
test eax, eax
js 0x14010c6ea
test r15b, r15b
jne 0x14010c6ea
mov rcx, r14
call fcn.1400d3710
mov rdx, rax
mov rcx, rdi
call fcn.14010db00
jmp 0x14010c6ea
mov rax, qword gs:[0x30]
mov eax, dword [rax + 0x1250]
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret