Function at 0x14005a210
Capabilities:
Get file size
Read file on windows

Disassembly:
push rbx
push rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x140325af8]
xor rax, rsp
mov qword [rsp + 0x58], rax
movzx r12d, r8b
mov rbp, rdx
mov r15, rcx
call fcn.1400159c0
mov qword [rsp + 0x38], r15
lea rcx, str.VerifyFile_attempting_to_open__ws
mov qword [rsp + 0x30], rcx
lea r13, str.MbCommonSigVerify
mov qword [rsp + 0x28], r13
lea r8, str.d:jenkinsworkspace_n_mbcommon_srcmbcommon_fileverify.cpp
mov r10, qword [rax]
lea rdx, str.VerifyFile
mov r9d, 0x113
mov dword [rsp + 0x20], 5
mov rcx, rax
call qword [r10 + 0x20]
xor r14d, r14d
xor r9d, r9d
mov qword [rsp + 0x30], r14
mov edx, 0x80000000
mov dword [rsp + 0x28], 0x80
mov rcx, r15
mov dword [rsp + 0x20], 3
lea r8d, [r14 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x14005a306
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.1400159c0
mov dword [rsp + 0x38], ebx
lea rcx, str.File_Not_Found____x
mov qword [rsp + 0x30], rcx
lea r8, str.d:jenkinsworkspace_n_mbcommon_srcmbcommon_fileverify.cpp
mov qword [rsp + 0x28], r13
lea rdx, str.VerifyFile
mov r10, qword [rax]
mov r9d, 0x119
mov rcx, rax
mov dword [rsp + 0x20], 5
call qword [r10 + 0x20]
mov eax, ebx
jmp 0x14005a4ed
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
cmp eax, 0xf8
ja 0x14005a369
call fcn.1400159c0
lea rcx, str.File_Size_Error
mov r9d, 0x121
mov qword [rsp + 0x30], rcx
lea r8, str.d:jenkinsworkspace_n_mbcommon_srcmbcommon_fileverify.cpp
mov qword [rsp + 0x28], r13
lea rdx, str.VerifyFile
mov r10, qword [rax]
mov rcx, rax
mov dword [rsp + 0x20], 5
call qword [r10 + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0xc000003c
jmp 0x14005a4ed
mov ecx, ebx
mov qword [rsp + 0xb8], rsi
add ecx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
call fcn.1401ecd00
mov rsi, rax
mov rcx, rdi
test rax, rax
jne 0x14005a3dd
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.1400159c0
lea rcx, str.Error_allocating_memory_for_file_data
mov r9d, 0x12b
mov qword [rsp + 0x30], rcx
lea r8, str.d:jenkinsworkspace_n_mbcommon_srcmbcommon_fileverify.cpp
mov qword [rsp + 0x28], r13
lea rdx, str.VerifyFile
mov r10, qword [rax]
mov rcx, rax
mov dword [rsp + 0x20], 2
call qword [r10 + 0x20]
mov eax, 0xc000009a
jmp 0x14005a4e5
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], r14
mov r8d, ebx
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14005a486
cmp dword [rsp + 0x50], ebx
jne 0x14005a486
mov r8, rbp
mov byte [rsp + 0x30], r12b
mov edx, ebx
mov rcx, rsi
call fcn.14005a510
mov ebx, eax
test eax, eax
je 0x14005a471
test rbp, rbp
je 0x14005a427
movzx r14d, byte [rbp]
call fcn.1400159c0
mov dword [rsp + 0x48], r14d
lea rcx, str._ws_verification_status____x___IsMbam___u
mov dword [rsp + 0x40], ebx
lea r8, str.d:jenkinsworkspace_n_mbcommon_srcmbcommon_fileverify.cpp
mov qword [rsp + 0x38], r15
lea rdx, str.VerifyFile
mov r10, qword [rax]
mov r9d, 0x146
mov qword [rsp + 0x30], rcx
mov rcx, rax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 3
call qword [r10 + 0x20]
mov rcx, rsi
call fcn.1401e539c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
jmp 0x14005a4e5
call fcn.1400159c0
lea rcx, str.Read_file_Error
mov r9d, 0x135
mov qword [rsp + 0x30], rcx
lea r8, str.d:jenkinsworkspace_n_mbcommon_srcmbcommon_fileverify.cpp
mov qword [rsp + 0x28], r13
lea rdx, str.VerifyFile
mov r10, qword [rax]
mov rcx, rax
mov dword [rsp + 0x20], 2
call qword [r10 + 0x20]
mov rcx, rsi
call fcn.1401e539c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x14005a4e5
movzx eax, ax
or eax, 0x80070000
mov rsi, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1401d9c30
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret