Function at 0x14000a5d0
Capabilities:
Get file size
Parse pe header
Read file via mapping

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x14004d110]
xor rax, rsp
mov qword [rsp + 0x38], rax
movzx r12d, r8b
mov r13d, edx
mov rbp, rcx
xor esi, esi
mov edi, esi
lea rdx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x14000a61f
mov edx, 0x132
jmp 0x14000a639
mov rax, qword [rsp + 0x30]
test rax, rax
jns 0x14000a670
mov ecx, 0x3ee
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov edx, 0x136
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov rcx, qword [rsp + 0x68]
call fcn.140002a60
mov ebx, eax
test eax, eax
jns 0x14000a673
mov rcx, qword [rsp + 0x68]
mov r9d, eax
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x242
call fcn.140002a40
mov eax, ebx
jmp 0x14000a83b
mov rdi, rax
mov r9, rdi
shr r9, 0x20
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], edi
xor edx, edx
lea r8d, [rdx + 4]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rbx, rax
mov r14, rax
inc rax
test rax, 0xfffffffffffffffe
jne 0x14000a6ce
mov rcx, qword [rsp + 0x68]
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x24d
call fcn.140002a60
mov esi, eax
lea rcx, [rbx - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14000a839
jmp 0x14000a82f
mov r15d, edi
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 6]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rdi, rax
test rax, rax
jne 0x14000a6fb
mov edx, 0x255
jmp 0x14000a80d
mov eax, 0x5a4d
cmp word [rdi], ax
je 0x14000a71a
mov ecx, 0x241
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov edx, 0x25d
jmp 0x14000a80d
movsxd rax, dword [rdi + 0x3c]
add rax, rdi
cmp dword [rax], 0x4550
je 0x14000a73e
mov ecx, 0x241
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov edx, 0x264
jmp 0x14000a80d
movzx ecx, word [rax + 0x18]
mov edx, 0x10b
cmp cx, dx
jne 0x14000a75b
cmp dword [rax + 0x74], 4
jb 0x14000a820
lea ecx, [rdx - 0x73]
jmp 0x14000a77b
mov edx, 0x20b
cmp cx, dx
jne 0x14000a7fd
cmp dword [rax + 0x84], 4
jb 0x14000a820
mov ecx, 0xa8
add rcx, rax
cmp dword [rcx], esi
je 0x14000a820
mov eax, dword [rcx + 4]
test eax, eax
je 0x14000a820
add eax, r13d
mov dword [rcx + 4], eax
mov rdx, r15
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FlushViewOfFile]
test eax, eax
jne 0x14000a7ae
mov edx, 0x292
jmp 0x14000a80d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r12b, r12b
je 0x14000a839
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
jne 0x14000a839
mov rcx, qword [rsp + 0x68]
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x299
call fcn.140002a60
mov esi, eax
jmp 0x14000a839
mov ecx, 0x241
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov edx, 0x281
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov rcx, qword [rsp + 0x68]
call fcn.140002a60
mov esi, eax
test rdi, rdi
je 0x14000a82f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov eax, esi
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140011ca0
lea r11, [rsp + 0x40]
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