Function at 0x1407e7787
Capabilities:
Parse pe header

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xf0
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
lea r14, [rsp + 0x38]
mov rcx, r14
call fcn.1407e60bd
cmp dword [r14], 5
jne 0x1407e7848
movzx eax, word [rsp + 0x40]
mov word [rsp + 0x2e], ax
cmp ax, 0x5a4d
jne 0x1407e78f3
mov byte [rsp + 0x20], 0
lea r14, [rsp + 0x38]
mov r9d, 0x3c
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.1407e60e1
cmp dword [r14], 5
jne 0x1407e7977
lea r15, [rsp + 0x38]
mov r14d, dword [r15 + 8]
mov dword [rsp + 0x30], r14d
mov byte [rsp + 0x20], 0
mov rcx, r15
mov rdx, rbx
mov r8, rdi
mov r9, r14
call fcn.1407e60e1
cmp dword [r15], 5
jne 0x1407e79c6
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x34], eax
cmp eax, 0x4550
jne 0x1407e7a78
mov word [rsi + 8], 0x5a4d
mov dword [rsi + 0xc], r14d
mov qword [rsi], 0xa
jmp 0x1407e7a66
lea rax, [0x1408a9658]
lea rcx, [rsp + 0x58]
mov qword [rcx], rax
lea rax, [0x140817640]
mov qword [rcx + 8], rax
mov eax, 2
lea r8, [rsp + 0xb8]
mov qword [r8], rax
mov qword [r8 + 0x10], rax
and qword [r8 + 0x20], 0
movabs rdx, 0x400000020
mov qword [r8 + 0x28], rdx
mov byte [r8 + 0x30], 3
lea r9, str.cannot_parse_DOS_signature__offset
lea rdx, [rsp + 0x88]
mov qword [rdx], r9
mov qword [rdx + 8], rax
mov qword [rdx + 0x20], r8
mov eax, 1
mov qword [rdx + 0x28], rax
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rax
lea rdi, [rsp + 0x70]
mov rcx, rdi
call fcn.1407e2813
lea rcx, [rsp + 0x38]
call fcn.1407e1b63
movzx eax, word [rdi]
mov rcx, qword [rdi + 0x10]
mov qword [rsi + 0x18], rcx
movups xmm0, xmmword [rdi + 2]
movups xmmword [rsi + 0xa], xmm0
mov qword [rsi], 5
mov word [rsi + 8], ax
jmp 0x1407e7a66
lea rax, [rsp + 0x2e]
lea rcx, [rsp + 0x68]
mov qword [rcx], rax
lea rax, [fcn.1408174e0]
mov qword [rcx + 8], rax
mov eax, 2
lea r8, [rsp + 0xb8]
mov qword [r8], rax
mov qword [r8 + 0x10], rax
and qword [r8 + 0x20], 0
movabs rdx, 0x400000020
mov qword [r8 + 0x28], rdx
mov byte [r8 + 0x30], 3
lea r9, [0x1408a95f0]
lea rdx, [rsp + 0x88]
mov qword [rdx], r9
mov qword [rdx + 8], rax
mov qword [rdx + 0x20], r8
mov eax, 1
mov qword [rdx + 0x28], rax
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rax
lea rcx, [rsi + 8]
call fcn.1407e2813
mov qword [rsi], 5
jmp 0x1407e7a66
lea rax, [0x1408a96a8]
lea rcx, [rsp + 0x58]
mov qword [rcx], rax
lea rax, [0x140817640]
mov qword [rcx + 8], rax
mov eax, 2
lea r8, [rsp + 0xb8]
mov qword [r8], rax
mov qword [r8 + 0x10], rax
and qword [r8 + 0x20], 0
movabs rdx, 0x400000020
mov qword [r8 + 0x28], rdx
mov byte [r8 + 0x30], 3
lea r9, str.cannot_parse_PE_header_pointer__offset
jmp 0x1407e7a11
lea rax, [rsp + 0x30]
lea rcx, [rsp + 0x58]
mov qword [rcx], rax
lea rax, [0x140817640]
mov qword [rcx + 8], rax
mov eax, 2
lea r8, [rsp + 0xb8]
mov qword [r8], rax
mov qword [r8 + 0x10], rax
and qword [r8 + 0x20], 0
movabs rdx, 0x400000020
mov qword [r8 + 0x28], rdx
mov byte [r8 + 0x30], 3
lea r9, str.cannot_parse_PE_header_signature__offset
lea rdx, [rsp + 0x88]
mov qword [rdx], r9
mov qword [rdx + 8], rax
mov qword [rdx + 0x20], r8
mov eax, 1
mov qword [rdx + 0x28], rax
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rax
lea rdi, [rsp + 0x70]
mov rcx, rdi
call fcn.1407e2813
lea rcx, [rsp + 0x38]
call fcn.1407e1b63
mov eax, dword [rdi]
mov ecx, dword [rdi + 0x14]
mov dword [rsi + 0x1c], ecx
movups xmm0, xmmword [rdi + 4]
movups xmmword [rsi + 0xc], xmm0
mov qword [rsi], 5
mov dword [rsi + 8], eax
mov rax, rsi
add rsp, 0xf0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea rax, [rsp + 0x34]
lea rcx, [rsp + 0x68]
mov qword [rcx], rax
lea rax, [0x140817640]
mov qword [rcx + 8], rax
mov eax, 2
lea r8, [rsp + 0xb8]
mov qword [r8], rax
mov qword [r8 + 0x10], rax
and qword [r8 + 0x20], 0
movabs rdx, 0x400000020
mov qword [r8 + 0x28], rdx
mov byte [r8 + 0x30], 3
lea r9, str.PE_header_is_malformed__signature
jmp 0x1407e793e