Function at 0x14001e9f0
Capabilities:
Read file via mapping

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xb0
mov rax, r8
mov rdi, rdx
xor r13d, r13d
mov dword [rbp - 0x21], r13d
lea rbx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp - 0x19], rbx
lea r15, vtable.CVolObject.0
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x11], r13
mov qword [rbp - 9], r13
lea rsi, vtable.CVolMem.0
mov qword [rbp - 0x19], rsi
mov qword [rbp - 1], r13
mov qword [rbp + 0xf], r13
mov qword [rbp + 7], r13
mov qword [rbp + 0x17], 0x40
mov r8, qword [r8 + 0x18]
test r8, r8
jne 0x14001ea7a
cmp qword [rax + 0x48], r8
lea r8, [0x1402576b0]
je 0x14001ea7a
mov r8, qword [rax + 0x38]
xor edx, edx
lea ecx, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov r12, rax
cmp rax, 1
jge 0x14001eaf4
mov qword [rdi], r15
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi], rsi
mov qword [rdi + 0x18], r13
mov qword [rdi + 0x28], r13
mov qword [rdi + 0x20], r13
mov qword [rdi + 0x30], 0x40
mov qword [rdi], rsi
lea rdx, [rbp - 0x19]
mov rcx, rdi
call fcn.1400047a0
nop
mov dword [rbp - 0x21], 1
mov qword [rbp - 0x19], rsi
mov rdx, qword [rbp - 1]
test rdx, rdx
je 0x14001eadf
lea rcx, [rbp - 0x19]
mov rax, qword [rbp - 0x19]
call qword [rax + 0x18]
mov qword [rbp - 1], r13
mov qword [rbp + 0xf], r13
mov qword [rbp + 7], r13
mov qword [rbp - 0x19], r15
jmp 0x14001ee7c
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 4]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov r14, rax
cmp rax, 1
jge 0x14001eb84
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi], r15
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi], rsi
mov qword [rdi + 0x18], r13
mov qword [rdi + 0x28], r13
mov qword [rdi + 0x20], r13
mov qword [rdi + 0x30], 0x40
mov qword [rdi], rsi
lea rdx, [rbp - 0x19]
mov rcx, rdi
call fcn.1400047a0
nop
mov dword [rbp - 0x21], 1
mov qword [rbp - 0x19], rsi
mov rdx, qword [rbp - 1]
test rdx, rdx
je 0x14001eb6f
lea rcx, [rbp - 0x19]
mov rax, qword [rbp - 0x19]
call qword [rax + 0x18]
mov qword [rbp - 1], r13
mov qword [rbp + 0xf], r13
mov qword [rbp + 7], r13
mov qword [rbp - 0x19], r15
jmp 0x14001ee7c
mov qword [rbp - 0x59], rbx
mov qword [rbp - 0x59], r15
mov qword [rbp - 0x51], r13
mov qword [rbp - 0x49], r13
mov qword [rbp - 0x59], rsi
mov qword [rbp - 0x41], r13
mov qword [rbp - 0x31], r13
mov qword [rbp - 0x39], r13
mov qword [rbp - 0x29], 0x40
mov qword [rbp - 0x59], rsi
mov rax, qword [rbp - 0x39]
mov rbx, qword [rbp - 0x31]
sub rax, rbx
cmp rax, 4
jl 0x14001ebd2
mov ecx, dword [r14]
mov rax, qword [rbp - 0x41]
mov dword [rbx + rax], ecx
add qword [rbp - 0x31], 4
jmp 0x14001ec18
lea rdx, [rbx + 4]
cmp rdx, rbx
jne 0x14001ebe1
add rbx, qword [rbp - 0x41]
jmp 0x14001ec13
test rdx, rdx
jne 0x14001ec07
mov rdx, qword [rbp - 0x41]
test rdx, rdx
je 0x14001ebf9
lea rcx, [rbp - 0x59]
call qword [method.rg_n16229::rg_n27084.virtual_24]
mov qword [rbp - 0x41], r13
mov qword [rbp - 0x31], r13
mov qword [rbp - 0x39], r13
jmp 0x14001ec13
lea rcx, [rbp - 0x59]
call fcn.140025690
add rbx, rax
mov eax, dword [r14]
mov dword [rbx], eax
lea rcx, [rbp - 0x19]
mov rax, qword [rbp - 0x19]
call qword [rax + 0x88]
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x19]
call fcn.1400047a0
nop
mov qword [rbp - 0x59], rsi
mov rdx, qword [rbp - 0x41]
test rdx, rdx
je 0x14001ec4c
lea rcx, [rbp - 0x59]
mov rax, qword [rbp - 0x59]
call qword [rax + 0x18]
mov qword [rbp - 0x41], r13
mov qword [rbp - 0x31], r13
mov qword [rbp - 0x39], r13
mov qword [rbp - 0x59], r15
mov r8, qword [rbp + 0xf]
cmp r8, 4
jge 0x14001ec84
mov qword [rbp + 0x67], r13
test r8, r8
cmovs r8, r13
mov rdx, qword [rbp - 1]
lea rcx, [rbp + 0x67]
call fcn.1401ce140
mov r15d, dword [rbp + 0x67]
jmp 0x14001ec8b
mov rax, qword [rbp - 1]
mov r15d, dword [rax]
lea eax, [r15 + 4]
movsxd rbx, eax
lea rax, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp - 0x59], rax
lea rax, vtable.CVolObject.0
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x51], r13
mov qword [rbp - 0x49], r13
mov qword [rbp - 0x59], rsi
mov qword [rbp - 0x41], r13
mov qword [rbp - 0x31], r13
mov qword [rbp - 0x39], r13
mov qword [rbp - 0x29], 0x40
mov qword [rbp - 0x59], rsi
mov rax, qword [rbp - 0x39]
mov rsi, qword [rbp - 0x31]
sub rax, rsi
cmp rax, rbx
jl 0x14001ed38
cmp rbx, 1
jne 0x14001ecf3
movzx ecx, byte [r14]
mov rax, qword [rbp - 0x41]
mov byte [rsi + rax], cl
inc qword [rbp - 0x31]
jmp 0x14001ed5a
cmp rbx, 2
jne 0x14001ed0b
movzx ecx, word [r14]
mov rax, qword [rbp - 0x41]
mov word [rsi + rax], cx
add qword [rbp - 0x31], rbx
jmp 0x14001ed5a
cmp rbx, 4
jne 0x14001ed21
mov ecx, dword [r14]
mov rax, qword [rbp - 0x41]
mov dword [rsi + rax], ecx
add qword [rbp - 0x31], rbx
jmp 0x14001ed5a
cmp rbx, 8
jne 0x14001ed38
mov rcx, qword [r14]
mov rax, qword [rbp - 0x41]
mov qword [rsi + rax], rcx
add qword [rbp - 0x31], rbx
jmp 0x14001ed5a
test rbx, rbx
jle 0x14001ed5a
lea rdx, [rbx + rsi]
lea rcx, [rbp - 0x59]
call fcn.140025710
lea rcx, [rsi + rax]
mov r8, rbx
mov rdx, r14
call fcn.1401ce140
nop
lea rcx, [rbp - 0x19]
mov rax, qword [rbp - 0x19]
call qword [rax + 0x88]
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x19]
call fcn.1400047a0
nop
lea rsi, vtable.CVolMem.0
mov qword [rbp - 0x59], rsi
mov rdx, qword [rbp - 0x41]
test rdx, rdx
je 0x14001ed95
lea rcx, [rbp - 0x59]
mov rax, qword [rbp - 0x59]
call qword [rax + 0x18]
mov qword [rbp - 0x41], r13
mov qword [rbp - 0x31], r13
mov qword [rbp - 0x39], r13
lea rax, vtable.CVolObject.0
mov qword [rbp - 0x59], rax
movsxd r8, r15d
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x19]
call fcn.14001f020
mov rbx, rax
lea rcx, [rbp - 0x19]
mov rdx, qword [rbp - 0x19]
call qword [rdx + 0x88]
mov rdx, rbx
lea rcx, [rbp - 0x19]
call fcn.1400047a0
nop
mov qword [rbp - 0x59], rsi
mov rdx, qword [rbp - 0x41]
test rdx, rdx
je 0x14001edf2
lea rcx, [rbp - 0x59]
mov rax, qword [rbp - 0x59]
call qword [rax + 0x18]
mov qword [rbp - 0x41], r13
mov qword [rbp - 0x31], r13
mov qword [rbp - 0x39], r13
lea rbx, vtable.CVolObject.0
mov qword [rbp - 0x59], rbx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi], rbx
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi], rsi
mov qword [rdi + 0x18], r13
mov qword [rdi + 0x28], r13
mov qword [rdi + 0x20], r13
mov qword [rdi + 0x30], 0x40
mov qword [rdi], rsi
lea rdx, [rbp - 0x19]
mov rcx, rdi
call fcn.1400047a0
nop
mov dword [rbp - 0x21], 1
mov qword [rbp - 0x19], rsi
mov rdx, qword [rbp - 1]
test rdx, rdx
je 0x14001ee6c
lea rcx, [rbp - 0x19]
mov rax, qword [rbp - 0x19]
call qword [rax + 0x18]
mov qword [rbp - 1], r13
mov qword [rbp + 0xf], r13
mov qword [rbp + 7], r13
mov qword [rbp - 0x19], rbx
mov rax, rdi
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret