Function at 0x100003f68
Capabilities:
Get file size

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x440
mov rax, qword [0x100012150]
xor rax, rsp
mov qword [rsp + 0x430], rax
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rdx
and dword [rsp + 0x50], 0
mov ebx, 0x80004005
cmp rdx, 0xffffffffffffffff
jne 0x100003fee
lea rcx, [0x100014d50]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [0x1000148e0]
call fcn.100005f04
mov rdi, rax
mov qword [rsp + 0x60], rax
lea rcx, [0x100014d50]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp rdi, 0xffffffffffffffff
je 0x10000420f
mov dword [rsp + 0x50], 1
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r14d, eax
mov dword [rsp + 0x54], eax
xor ecx, ecx
call fcn.10000c9ec
mov rdx, rax
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
xor r9d, r9d
lea r8d, [r9 + 4]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov r13, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x10000420f
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 2]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov r12, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x100004206
mov r9d, 0xffff
mov r8d, r14d
mov rdx, rax
lea rcx, [0x1000125b0]
call fcn.100007238
lea rdx, [rsp + 0x70]
lea rcx, [0x1000125b0]
call fcn.100006fa4
nop
lea r8, [rsi + 4]
mov eax, dword [rsi + 0x114]
mov dword [rsp + 0x38], eax
movzx eax, word [rsi + 0x110]
mov word [rsp + 0x30], ax
mov eax, dword [rsi + 0x10c]
mov dword [rsp + 0x28], eax
mov eax, dword [rsi + 0x108]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsi + 0x104]
mov edx, dword [rsi]
lea rcx, [0x1000125b0]
call fcn.100008fec
mov ebx, eax
mov dword [rsp + 0x40], eax
jmp 0x10000410b
cmp ebx, 0x80028016
jne 0x1000041f1
lea r9, [rsp + 0x54]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.10000477c
test eax, eax
je 0x1000041e2
mov r9d, 0xffff
mov r8d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
mov rdx, r12
lea rcx, [0x1000125b0]
call fcn.100007238
mov ebx, eax
mov dword [rsp + 0x40], eax
test eax, eax
js 0x1000041a8
lea r8, [rsi + 4]
mov eax, dword [rsi + 0x114]
mov dword [rsp + 0x38], eax
movzx eax, word [rsi + 0x110]
mov word [rsp + 0x30], ax
mov eax, dword [rsi + 0x10c]
mov dword [rsp + 0x28], eax
mov eax, dword [rsi + 0x108]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsi + 0x104]
mov edx, dword [rsi]
lea rcx, [0x1000125b0]
call fcn.100008fec
mov ebx, eax
mov dword [rsp + 0x40], eax
jmp 0x1000041db
mov r13, qword [rsp + 0x58]
jmp 0x1000041f1
mov ebx, 0x80004005
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
lea rcx, [0x1000125b0]
call fcn.100007020
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rsp + 0x50], 0
je 0x100004225
cmp rdi, 0xffffffffffffffff
je 0x100004225
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
call sub.msvcrt.dll_free
mov eax, ebx
mov rcx, qword [rsp + 0x430]
xor rcx, rsp
call fcn.10000e1c0
mov rbx, qword [rsp + 0x480]
add rsp, 0x440
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret