Function at 0x140031560
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r12
push r14
push r15
sub rsp, 0x70
mov r12, r8
mov edi, edx
mov rbx, rcx
xor sil, sil
mov eax, 0x5a4d
cmp word [rcx], ax
je 0x1400315bf
call fcn.140014110
mov rcx, qword [rax]
mov r10, qword [rcx + 0x20]
lea rcx, [0x1402567f0]
mov qword [rsp + 0x38], rcx
lea rcx, str.Not_A_Valid_Dos_Stub____ws
lea r14, str.MbCommonSigVerify
mov r9d, 0x357
jmp 0x1400317d0
movsxd rcx, dword [rcx + 0x3c]
add rcx, rbx
lea r15, [rbx + rdi]
lea rax, [rcx + 0x108]
cmp r15, rax
jb 0x1400315fa
cmp rbx, rcx
ja 0x1400315fa
cmp dword [rcx], 0x4550
jne 0x1400315f1
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400315f1
mov sil, 1
lea r14, str.MbCommonSigVerify
jmp 0x140031640
call fcn.140014110
mov rcx, qword [rax]
mov r10, qword [rcx + 0x20]
lea rcx, str.Not_a_64_bit_header
mov qword [rsp + 0x30], rcx
lea r14, str.MbCommonSigVerify
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 5
mov r9d, 0x35f
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonFileVerify.cpp
lea rdx, str.VerifyBuffer
mov rcx, rax
call r10
test sil, sil
jne 0x1400316a1
movsxd rcx, dword [rbx + 0x3c]
add rcx, rbx
lea rax, [rcx + 0xf8]
cmp r15, rax
jb 0x14003165d
cmp rbx, rcx
jbe 0x1400316a1
call fcn.140014110
mov rcx, qword [rax]
mov r10, qword [rcx + 0x20]
lea rcx, str.No_NT_Header
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 2
mov r9d, 0x368
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonFileVerify.cpp
lea rdx, str.VerifyBuffer
mov rcx, rax
call r10
jmp 0x1400317f6
movsxd rcx, dword [rbx + 0x3c]
add rcx, rbx
test sil, sil
je 0x140031706
cmp dword [rcx], 0x4550
jne 0x1400317ab
mov eax, dword [rcx + 0xa8]
test eax, eax
je 0x1400317ab
lea rdx, [rbx + rax]
lea rax, [rbx + rdi]
cmp rdx, rax
ja 0x1400317ab
mov ecx, dword [rdx]
add rcx, rdx
lea rax, [rbx + rdi]
cmp rcx, rax
ja 0x1400317ab
cmp word [rdx + 6], 2
jne 0x1400317ab
mov eax, 0x200
cmp word [rdx + 4], ax
jne 0x1400317ab
jmp 0x140031714
mov r8d, edi
mov rdx, rbx
call fcn.140031880
mov rdx, rax
test rdx, rdx
je 0x1400317ab
lea rcx, [rbx + rdi]
cmp rdx, rcx
ja 0x1400317ab
lea rcx, [rdx + 8]
mov r8, rdi
xor r9d, r9d
mov dword [rsp + 0x60], r9d
movsxd r10, dword [rbx + 0x3c]
add r10, rbx
mov edx, dword [rdx]
sub edx, 5
movzx eax, byte [rsp + 0xc0]
mov byte [rsp + 0x50], al
mov qword [rsp + 0x48], rbx
test sil, sil
je 0x140031785
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r12
movzx r9d, sil
call fcn.140033240
mov ebx, eax
mov dword [rsp + 0x60], eax
jmp 0x1400317ff
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r12
call fcn.140033240
mov ebx, eax
mov dword [rsp + 0x60], eax
jmp 0x1400317ff
call fcn.140014110
mov rcx, qword [rax]
mov r10, qword [rcx + 0x20]
lea rcx, [0x1402567f0]
mov qword [rsp + 0x38], rcx
lea rcx, str.The_Certificate_is_not_there_____ws
mov r9d, 0x377
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 5
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonFileVerify.cpp
lea rdx, str.VerifyBuffer
mov rcx, rax
call r10
mov ebx, 0xc000007b
mov dword [rsp + 0x60], ebx
jmp 0x14003185e
mov eax, ebx
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop r12
ret