Function at 0x14002ca60
Capabilities:
Read file via mapping

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rsi, rdx
mov r13, rcx
xor r14d, r14d
mov ebx, r14d
mov dword [rsp + 0x30], ebx
call fcn.14002bd80
nop
cmp dword [r13 + 0x24], r14d
jne 0x14002cd9a
cmp qword [r13 + 0x390], r14
je 0x14002cd9a
cmp qword [r13 + 0x388], r14
je 0x14002cd9a
lea rcx, [r13 + 0x398]
call fcn.1400a4180
test eax, eax
je 0x14002cb84
lea rcx, [r13 + 0x398]
call fcn.1400a4180
add eax, dword [rsi + 0x10]
mov ebx, eax
imul rbx, rbx, 0x54
mov rcx, rbx
call fcn.14010a204
mov rdi, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.14010da60
mov r8d, dword [rsi + 0x10]
imul r8, r8, 0x54
mov rdx, qword [rsi]
mov rcx, rdi
call fcn.14010c9b0
mov rcx, qword [rsi + 8]
call fcn.140085540
mov qword [rsi + 8], rdi
mov qword [rsi], rdi
lea rcx, [r13 + 0x398]
call fcn.1400a41d0
mov rbx, rax
nop word [rax + rax]
test rbx, rbx
je 0x14002cb74
mov rcx, rbx
call fcn.1400a39b0
test rax, rax
je 0x14002cb60
mov edx, dword [rsi + 0x10]
imul rdx, rdx, 0x54
mov rcx, qword [rsi]
add rcx, rdx
mov rdx, rax
mov r8d, 0x54
call fcn.14010c9b0
inc dword [rsi + 0x10]
mov rdx, rbx
lea rcx, [r13 + 0x398]
call fcn.1400a41e0
mov rbx, rax
jmp 0x14002cb30
lea rcx, [r13 + 0x398]
call fcn.14002bcc0
mov ebx, dword [rsp + 0x30]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor edx, edx
mov r8d, 0x8000004
mov rcx, qword [r13 + 0x388]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov qword [rsp + 0xb8], rax
test rax, rax
je 0x14002ccf9
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 6]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov r15, rax
mov qword [rsp + 0x58], rax
lea rdi, [rax + 0x10]
mov qword [rsp + 0xb0], rdi
test rax, rax
je 0x14002ccbe
mov ecx, dword [rax + 0xc]
mov dword [r13 + 0x368], ecx
mov r12d, r14d
mov dword [rsp + 0x34], r14d
nop
cmp r12d, dword [rsi + 0x10]
jae 0x14002cc64
mov ebx, r12d
imul rbx, rbx, 0x54
add rbx, qword [rsi]
cmp dword [rbx + 0x44], 0xffffffff
jne 0x14002cc2c
mov eax, dword [r13 + 0x368]
test eax, eax
je 0x14002cc5a
dec eax
mov dword [r13 + 0x368], eax
jmp 0x14002cc5a
mov edx, dword [rbx + 0x48]
add rdx, r15
cmp rdi, rdx
je 0x14002cc43
mov r8d, dword [rbx + 0x4c]
mov rcx, rdi
call fcn.14010c9b0
mov rax, rdi
sub rax, r15
mov dword [rbx + 0x48], eax
mov eax, dword [rbx + 0x4c]
add rdi, rax
mov qword [rsp + 0xb0], rdi
inc r12d
mov dword [rsp + 0x34], r12d
jmp 0x14002cc00
mov eax, dword [r13 + 0x368]
mov dword [r15 + 0xc], eax
lea rdx, [r15 + 4]
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
or ecx, 0xffffffff
call fcn.140090280
mov dword [r15], eax
mov dword [r13 + 0x374], eax
mov eax, dword [r15 + 4]
mov dword [r13 + 0x378], eax
mov eax, dword [r15 + 8]
mov dword [r13 + 0x37c], eax
mov eax, dword [r15 + 0xc]
mov dword [r13 + 0x380], eax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov ebx, 1
mov dword [rsp + 0x30], ebx
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x14002cd9a
sub edi, r15d
xor r9d, r9d
xor r8d, r8d
mov edx, edi
mov rcx, qword [r13 + 0x388]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov rcx, qword [r13 + 0x388]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test ebx, ebx
je 0x14002cd9a
mov dword [rsp + 0x38], r14d
mov rbx, qword [rsi]
mov qword [rsp + 0x40], rbx
mov rdi, rbx
mov qword [rsp + 0x48], rbx
mov r12d, r14d
mov dword [rsp + 0x3c], r14d
nop
cmp r12d, dword [rsi + 0x10]
jae 0x14002cd6a
cmp dword [rdi + 0x44], 0xffffffff
je 0x14002cd57
cmp rbx, rdi
je 0x14002cd42
mov rcx, rbx
mov rdx, rdi
mov r8d, 0x54
call fcn.14010c9b0
mov dword [rbx + 0x44], r14d
inc r14d
mov dword [rsp + 0x38], r14d
add rbx, 0x54
mov qword [rsp + 0x40], rbx
add rdi, 0x54
mov qword [rsp + 0x48], rdi
inc r12d
mov dword [rsp + 0x3c], r12d
jmp 0x14002cd20
sub rbx, qword [rsi]
movabs rax, 0xc30c30c30c30c30d
imul rbx
add rdx, rbx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x10], edx
mov rdx, rsi
mov rcx, r13
call fcn.14002c7b0
nop
jmp 0x14002cda4
mov rcx, r13
call fcn.14002bda0
mov eax, dword [rsp + 0x30]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret