Function at 0x14005a050
Capabilities:
Read file via mapping

Disassembly:
mov rcx, rdx
xor edx, edx
jmp 0x14005a060
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov r12, qword [0x1400f7448]
mov rax, qword [r12]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov ebx, 0xc000000d
test r8d, r8d
jne 0x14005a457
mov ebp, dword [rsp + 0x170]
cmp ebp, 0x4000
ja 0x14005a457
mov r15, r9
mov rsi, rdx
mov rdi, rcx
test rcx, rcx
je 0x14005a0c2
cmp word [rdi], 0
je 0x14005a457
call fcn.140065990
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
mov rcx, rax
call fcn.14006e4e0
mov ebx, 0xc0000022
test al, al
je 0x14005a457
call fcn.140065ab0
test rax, rax
je 0x14005a457
mov r14, rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
mov dword [rsp + 0x20], ebp
mov qword [rsp + 0x28], 0
mov rcx, 0xffffffffffffffff
xor edx, edx
mov r8d, 0x8000004
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
lea rcx, [rsp + 0x90]
mov rdx, rax
call fcn.140021e40
mov rcx, qword [rsp + 0x90]
lea rax, [rcx + 1]
cmp rax, 2
jb 0x14005a168
mov eax, ebp
mov qword [rsp + 0x20], rax
mov edx, 6
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14005a191
mov rax, qword [rsp + 0x90]
add rax, 1
cmp rax, 2
jae 0x14005a19b
mov ebx, 0xc000000d
jmp 0x14005a40f
mov ebx, 0xc000000d
jmp 0x14005a415
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x68], 0
test rdi, rdi
je 0x14005a1f8
movzx ecx, word [rdi]
test rcx, rcx
je 0x14005a243
mov rsi, qword [rdi + 8]
mov r13, rcx
shr r13, 1
cmp cx, 0x16
jae 0x14005a24d
lea eax, [r13 + r13]
mov byte [rsp + 0xa0], al
lea rax, [rsp + 0xa2]
cmp cx, 2
jae 0x14005a279
jmp 0x14005a2d3
mov qword [rsp + 0x68], rsi
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xf0], 0
lea rcx, [rsp + 0x58]
mov rdx, r14
call fcn.140069a20
jmp 0x14005a370
mov ebx, 0xc000000d
jmp 0x14005a402
lea edi, [r13 + 8]
and edi, 0xfffffff8
lea rcx, [rdi + rdi]
call fcn.1400c1200
mov qword [rsp + 0xb0], rax
or rdi, 1
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xa8], r13
movabs rcx, 0x7fffffffffffffff
lea r9, [r13 - 1]
and r9, rcx
cmp r9, 0xf
jb 0x14005a2b9
lea rdx, [rcx + r13]
and rdx, rcx
lea rcx, [rsi + rdx*2]
add rcx, 2
cmp rax, rcx
jae 0x14005a485
lea rcx, [rax + rdx*2]
add rcx, 2
cmp rsi, rcx
jae 0x14005a485
mov rcx, rsi
lea rdx, [rsi + r13*2]
movzx ebx, word [rcx]
mov word [rax], bx
add rcx, 2
add rax, 2
cmp rcx, rdx
jne 0x14005a2c0
mov word [rax], 0
mov rsi, qword [rsp + 0xb0]
mov qword [rsp + 0x80], rsi
mov al, byte [rsp + 0xa0]
mov byte [rsp + 0x70], al
mov rax, qword [rsp + 0xa1]
mov qword [rsp + 0x71], rax
mov eax, dword [rsp + 0xa9]
mov dword [rsp + 0x79], eax
movzx eax, word [rsp + 0xad]
mov word [rsp + 0x7d], ax
mov al, byte [rsp + 0xaf]
mov byte [rsp + 0x7f], al
mov bl, byte [rsp + 0x70]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xf0], 0
lea rcx, [rsp + 0x58]
mov rdx, r14
call fcn.140069a20
test bl, 1
jne 0x14005a375
lea rsi, [rsp + 0x72]
mov qword [rsp + 0x50], rsi
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x44], ebp
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x58]
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x68]
mov edx, 0x1b
call fcn.14005bd40
mov ebx, 0xc0000022
test eax, eax
jne 0x14005a3ee
mov ebx, dword [rsp + 0xa8]
test ebx, ebx
jne 0x14005a3ee
mov rdx, qword [rsp + 0x98]
mov r8d, ebp
mov rcx, r15
call sub.ntdll.dll_memcpy
xor ebx, ebx
test byte [rsp + 0x70], 1
je 0x14005a402
mov rcx, qword [rsp + 0x80]
call fcn.1400c12e0
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14005a415
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rsi, qword [rsp + 0x90]
lea rax, [rsi + 1]
cmp rax, 2
jb 0x14005a457
mov rdi, qword [rsp + 0x148]
call fcn.140021bd0
lea rdx, [rsp + 0x90]
mov rcx, rsi
mov r8, rdi
mov r9, rax
call fcn.140045a60
mov rcx, qword [rsp + 0x90]
call fcn.1400459f0
mov rax, qword [rsp + 0x100]
xor rax, rsp
mov rcx, qword [r12]
cmp rcx, rax
jne 0x14005a558
mov eax, ebx
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add r9, 1
mov r8, r9
and r8, 0xfffffffffffffff0
lea rcx, [r8 - 0x10]
mov rbx, rcx
shr rbx, 4
add rbx, 1
mov edx, ebx
and edx, 3
cmp rcx, 0x30
jae 0x14005a4ae
xor ecx, ecx
jmp 0x14005a50c
and rbx, 0xfffffffffffffffc
xor ecx, ecx
movups xmm0, xmmword [rsi + rcx*2]
movups xmm1, xmmword [rsi + rcx*2 + 0x10]
movups xmmword [rax + rcx*2], xmm0
movups xmmword [rax + rcx*2 + 0x10], xmm1
movups xmm0, xmmword [rsi + rcx*2 + 0x20]
movups xmm1, xmmword [rsi + rcx*2 + 0x30]
movups xmmword [rax + rcx*2 + 0x20], xmm0
movups xmmword [rax + rcx*2 + 0x30], xmm1
movups xmm0, xmmword [rsi + rcx*2 + 0x40]
movups xmm1, xmmword [rsi + rcx*2 + 0x50]
movups xmmword [rax + rcx*2 + 0x40], xmm0
movups xmmword [rax + rcx*2 + 0x50], xmm1
movups xmm0, xmmword [rsi + rcx*2 + 0x60]
movups xmm1, xmmword [rsi + rcx*2 + 0x70]
movups xmmword [rax + rcx*2 + 0x60], xmm0
movups xmmword [rax + rcx*2 + 0x70], xmm1
add rcx, 0x40
add rbx, 0xfffffffffffffffc
jne 0x14005a4b4
test rdx, rdx
je 0x14005a542
lea rbx, [rax + rcx*2]
add rbx, 0x10
lea rcx, [rsi + rcx*2]
add rcx, 0x10
shl rdx, 5
xor edi, edi
movups xmm0, xmmword [rcx + rdi - 0x10]
movups xmm1, xmmword [rcx + rdi]
movups xmmword [rbx + rdi - 0x10], xmm0
movups xmmword [rbx + rdi], xmm1
add rdi, 0x20
cmp rdx, rdi
jne 0x14005a527
lea rax, [rax + r8*2]
cmp r9, r8
je 0x14005a2d3
lea rcx, [rsi + r8*2]
jmp 0x14005a2bc
call fcn.1400763e0
int3