Function at 0x140086140
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x100
mov rsi, r8
mov r11, rcx
test rcx, rcx
je 0x1400862a5
cmp rdx, 0x40
jb 0x1400862a5
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x1400862a5
mov ebx, dword [rcx + 0x3c]
cmp rbx, rdx
ja 0x1400863e8
sub rdx, rbx
cmp rdx, 0x18
jb 0x1400863e8
cmp dword [rbx + rcx], 0x4550
jne 0x1400862b8
movzx eax, word [rbx + rcx + 6]
movzx r8d, word [rbx + rcx + 0x14]
lea rax, [rax + rax*4]
lea rax, [rax + 3]
lea rax, [r8 + rax*8]
cmp rdx, rax
jb 0x1400862db
lea rax, [rcx + 0x18]
add rax, rbx
je 0x1400862a5
cmp r8d, 2
jb 0x1400862fe
movzx ecx, word [rax]
mov edx, 0x10b
cmp cx, dx
jne 0x1400861ef
mov ecx, 0xe0
cmp r8w, cx
jb 0x140086321
jmp 0x14008620c
mov edx, 0x20b
cmp cx, dx
jne 0x1400863bf
mov ecx, 0xf0
cmp r8w, cx
jb 0x140086344
mov qword [rsp + 0x110], rdi
mov r9d, dword [rax + 0x10]
lfence
movzx edi, word [rbx + r11 + 0x14]
xor r10d, r10d
add rdi, rax
mov edx, r10d
cmp r10w, word [rbx + r11 + 6]
jae 0x140086396
nop word [rax + rax]
mov eax, edx
lea rcx, [rax + rax*4]
mov r8d, dword [rdi + rcx*8 + 0xc]
cmp r8d, r9d
ja 0x14008626b
mov eax, r9d
sub eax, r8d
cmp eax, dword [rdi + rcx*8 + 0x10]
jae 0x14008626b
mov eax, dword [rdi + rcx*8 + 0x14]
sub eax, r8d
add eax, r9d
mov dword [rsi], eax
inc r10d
movzx eax, word [rbx + r11 + 6]
inc edx
cmp edx, eax
jb 0x140086240
cmp r10d, 1
jne 0x14008629a
mov rdi, qword [rsp + 0x110]
movzx eax, r10b
mov rbx, qword [rsp + 0x118]
add rsp, 0x100
pop rsi
ret
jle 0x140086396
jmp 0x14008636d
mov rbx, qword [rsp + 0x118]
xor al, al
add rsp, 0x100
pop rsi
ret
lea rdx, str.Unsupported_executable_file:_Signature_does_not_match_expected_PE_signature.
lea rcx, [rsp + 0x20]
call fcn.1400860d0
lea rdx, [0x140168660]
lea rcx, [rsp + 0x20]
call fcn.1400d9ba0
int3
lea rdx, str.Unsupported_executable_file:_Buffer_missing_optional_header_and_or_section_headers.
lea rcx, [rsp + 0x38]
call fcn.1400860d0
lea rdx, [0x140168660]
lea rcx, [rsp + 0x38]
call fcn.1400d9ba0
int3
lea rdx, str.Unsupported_executable_file:_Optional_header_size_too_small_to_contain_magic_number.
lea rcx, [rsp + 0x50]
call fcn.1400860d0
lea rdx, [0x140168660]
lea rcx, [rsp + 0x50]
call fcn.1400d9ba0
int3
lea rdx, str.Unsupported_executable_file:_Optional_header_size_too_small_to_contain_HDR32.
lea rcx, [rsp + 0x68]
call fcn.1400860d0
lea rdx, [0x140168660]
lea rcx, [rsp + 0x68]
call fcn.1400d9ba0
int3
lea rdx, str.Unsupported_executable_file:_Optional_header_size_too_small_to_contain_HDR64.
lea rcx, [rsp + 0x80]
call fcn.1400860d0
lea rdx, [0x140168660]
lea rcx, [rsp + 0x80]
call fcn.1400d9ba0
int3
lea rdx, str.Unsupported_executable_file:_Multiple_PE_entry_points_found.
lea rcx, [rsp + 0x98]
call fcn.1400860d0
lea rdx, [0x140168660]
lea rcx, [rsp + 0x98]
call fcn.1400d9ba0
int3
lea rdx, str.Unsupported_executable_file:_PE_entry_point_not_found.
lea rcx, [rsp + 0xb0]
call fcn.1400860d0
lea rdx, [0x140168660]
lea rcx, [rsp + 0xb0]
call fcn.1400d9ba0
int3
lea rdx, str.Unsupported_executable_file:_Unrecognised_magic_number.
lea rcx, [rsp + 0xc8]
call fcn.1400860d0
lea rdx, [0x140168660]
lea rcx, [rsp + 0xc8]
call fcn.1400d9ba0
int3
lea rdx, str.Unsupported_executable_file:_Next_header_beyond_the_end_of_the_buffer.
lea rcx, [rsp + 0xe0]
call fcn.1400860d0
lea rdx, [0x140168660]
lea rcx, [rsp + 0xe0]
call fcn.1400d9ba0
int3