Function at 0x100122a04
Capabilities:
Get file size
Read file via mapping

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
movdqu xmm0, xmmword [0x1004c4148]
xor r14d, r14d
or r15, 0xffffffffffffffff
mov ebp, r9d
mov rbx, r15
mov rdi, r14
mov r13, r14
mov r12, r15
movdqu xmmword [rax - 0x40], xmm0
cmp rcx, r14
je 0x100122d5d
cmp qword [rsp + 0xd8], r14
je 0x100122d5d
cmp dword [0x1004c6908], 1
je 0x100122a70
mov esi, 0x8000ffff
jmp 0x100122c0c
xor r9d, r9d
mov qword [rsp + 0x30], r14
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, r14
je 0x100122d37
cmp rax, r15
je 0x100122d37
lea rdx, [rsp + 0xb0]
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r15d, eax
cmp eax, 0xffffffff
je 0x100122d37
cmp dword [rsp + 0xb0], r14d
je 0x100122add
mov esi, 0x80070057
jmp 0x100122c0c
cmp eax, 0xc800000
ja 0x100122ad3
xor r9d, r9d
mov r8d, ebp
xor edx, edx
mov rcx, rsi
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [rsp + 0x50], rax
cmp rax, r14
je 0x100122d37
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 4]
mov rdi, rax
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rbp, rax
cmp rax, r14
je 0x100122d37
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], rax
mov r12, rsi
mov qword [rsp + 0x60], rsi
cmp dword [rsp + 0x70], r14d
jne 0x100122b66
lea rcx, [0x1004c4bf0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [rsp + 0x70], 1
mov rdx, rbp
mov rbp, qword [0x1004c4d10]
lea r8, [rsp + 0x40]
mov rcx, rbp
mov esi, r14d
call fcn.100122d70
mov r14d, dword [rsp + 0x40]
mov r13b, al
test al, al
jne 0x100122bb5
lea r8, [rsp + 0x58]
mov edx, r14d
mov rcx, rbp
call fcn.100122e3c
mov r12, qword [rsp + 0x60]
mov esi, eax
test eax, eax
js 0x100122cb8
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
xor ebp, ebp
test r13b, r13b
mov r13, qword [rsp + 0x48]
sete bpl
test esi, esi
jns 0x100122bfc
mov rcx, qword [0x1004a9500]
lea rax, [0x1004a9500]
cmp rcx, rax
je 0x100122bf8
test byte [rcx + 0x3c], 2
je 0x100122bf8
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003a268]
mov edx, 0x13
mov r9d, esi
call fcn.10005c358
test esi, esi
js 0x100122c09
test ebp, ebp
jne 0x100122cd1
mov esi, 0x800700b7
xor r14d, r14d
mov rcx, qword [0x1004a9500]
lea rax, [0x1004a9500]
cmp rcx, rax
je 0x100122c3d
test byte [rcx + 0x3c], 2
je 0x100122c3d
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003a268]
mov edx, 0x23
mov r9d, esi
call fcn.10005c358
cmp dword [rsp + 0x70], r14d
je 0x100122c51
lea rcx, [0x1004c4bf0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp r12, r14
je 0x100122c65
cmp r12, 0xffffffffffffffff
je 0x100122c65
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp r13, r14
je 0x100122c73
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
cmp rdi, r14
je 0x100122c81
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp rbx, r14
je 0x100122c95
cmp rbx, 0xffffffffffffffff
je 0x100122c95
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r11, [rsp + 0x80]
mov eax, esi
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov r13, qword [rsp + 0x58]
mov r14d, dword [rsp + 0xb0]
mov ebp, dword [rsp + 0xb0]
jmp 0x100122bc7
mov rax, qword [0x1004c4d10]
movsxd rcx, r14d
xor r14d, r14d
shl rcx, 4
add rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rcx, qword [rsp + 0xd8]
mov qword [rcx], rax
cmp dword [rsp + 0x70], r14d
je 0x100122d0d
lea rcx, [0x1004c4bf0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [rsp + 0x70], r14d
mov rax, qword [rsp + 0xe0]
cmp rax, r14
je 0x100122d1d
mov dword [rax], r15d
mov rax, qword [rsp + 0xe8]
cmp rax, r14
je 0x100122d62
mov rcx, qword [rsp + 0x50]
mov rdi, r14
mov qword [rax], rcx
jmp 0x100122d62
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, r14d
jne 0x100122d4c
mov esi, 0x80004005
jmp 0x100122c0c
movzx esi, ax
or esi, 0x80070000
cmp eax, r14d
cmovle esi, eax
jmp 0x100122d62
mov esi, 0x80070057
cmp esi, r14d
jge 0x100122c3d
jmp 0x100122c0c