Function at 0x180012c50
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x10], 0
mov qword [rsp + 0x18], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
add byte [rax], al
mov qword [rsp + 0x40], 0
mov dword [rsp], 0
mov dword [rsp + 0xc], 0
jbe 0x180012cd8
push rdx
push rdi
push rdi
nop
pop rdi
pop rdi
pop rdx
ja 0x180012cd8
scasb al, byte [rdi]
int1
and ebp, ecx
mov ebx, 0xf1909049
int1
invalid
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x180012cf8
xor eax, eax
jmp 0x18001300c
js 0x180012d24
push rdi
push rax
nop
pop rax
pop rdi
jns 0x180012d24
push rdx
insb byte [rdi], dx
push rdx
and ebp, dword [rcx]
mov esi, 0xbee14990
insb byte [rdi], dx
loope 0x180012c92
push rdx
and ecx, dword [rcx - 0x42]
and esp, ecx
nop
mov esi, 0xd6904990
jmp 0x180012d65
nop
invalid
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x60]
and byte [rax + 0x63], cl
cmp al, 0x48
mov ecx, dword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x180012d51
xor eax, eax
jmp 0x18001300c
jae 0x180012d7d
push rax
push rdx
pop rdx
pop rax
jb 0x180012d7d
test byte [rsi + 0x52e1bbe1], ch
loope 0x180012d18
loope 0x180012db1
insb byte [rdi], dx
and esp, ecx
insb byte [rdi], dx
insb byte [rdi], dx
test r9b, bpl
test cl, ch
loope 0x180012d5b
insb byte [rdi], dx
loope 0x180012d28
sub dword [rbx + 0x6c9049e1], edi
nop
scasb al, byte [rdi]
jmp 0x13eec7765
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
mov eax, dword [rcx + rax + 0x88]
mov rcx, qword [rsp + 0x60]
and al, 0x60
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x10], rax
cmp qword [rsp + 0x10], 0
jne 0x180012db1
xor eax, eax
jmp 0x18001300c
mov rax, qword [rsp + 0x10]
mov eax, dword [rax + 0x24]
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
jae 0x180012df5
push rsp
push rcx
push rsi
nop
pop rsi
pop rcx
pop rsp
jb 0x180012df5
sub dword [rbx], esp
and esp, ecx
loope 0x180012d95
push rdx
test cl, dh
int1
jmp 0x12ebf772c
mov rax, qword [rsp + 0x10]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jbe 0x180012e39
sub dl, byte [rsi + 0x57]
push rsi
push rdi
push rbp
pop rbp
pop rdi
pop rsi
ja 0x180012e39
mov esi, 0xe1e9ae29
int1
loope 0x180012e0e
push rdx
int1
mov ebx, 0xd69029e1
insb byte [rdi], dx
mov esi, 0xf1bbf1f1
int1
mov esi, 0x29bbbb6c
jmp 0x16b2b19a1
mov rax, qword [rsp + 0x10]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
js 0x180012e7d
push rdx
push rbx
push rdi
nop
pop rdi
pop rbx
pop rdx
jns 0x180012e7d
test byte [rsi + rdx*8 + 0x23e9eb90], al
mov esi, 0xbbf1e1bb
sub ebx, ebp
push rdx
jmp 0x180012e1b
mov dword [rsp + 8], 0
jmp 0x180012e91
mov eax, dword [rsp + 8]
inc eax
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
mov eax, dword [rax + 0x14]
cmp dword [rsp + 8], eax
jae 0x18001300a
mov qword [rsp + 0x18], 0
jl 0x180012ed8
push rax
nop
pop rax
jge 0x180012ed8
test byte [rbx], ah
mov ebx, 0xf1f123be
push rdx
nop
int1
jmp 0x180012ee2
mov dword [rsp + 4], 0
jmp 0x180012eec
mov eax, dword [rsp + 4]
inc eax
mov dword [rsp + 4], eax
mov rax, qword [rsp + 0x10]
mov eax, dword [rax + 0x18]
cmp dword [rsp + 4], eax
jae 0x180012f8c
je 0x180012f2a
push rsi
push rdx
push rbp
pop rbp
pop rdx
pop rsi
jne 0x180012f2a
jmp 0x16953dd60
mov eax, dword [rsp + 4]
mov rcx, qword [rsp + 0x30]
movzx eax, word [rcx + rax*2]
cmp eax, dword [rsp + 8]
jne 0x180012f87
jl 0x180012f69
push rcx
nop
pop rcx
jge 0x180012f69
insb byte [rdi], dx
mov esi, 0xf1d684e1
scasb al, byte [rdi]
jmp 0x1d2ea58bc
mov eax, dword [rsp + 4]
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x18], rax
jmp 0x180012f8c
jmp 0x180012ee2
cmp qword [rsp + 0x18], 0
je 0x180013005
mov dword [rsp], 0
mov dword [rsp + 0xc], 0
mov eax, dword [rsp]
mov rcx, qword [rsp + 0x68]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp]
mov rdx, qword [rsp + 0x18]
movzx ecx, byte [rdx + rcx]
cmp eax, ecx
je 0x180012fc1
jmp 0x180012fe5
mov eax, dword [rsp]
mov rcx, qword [rsp + 0x68]
movzx eax, byte [rcx + rax]
test eax, eax
jne 0x180012fdb
mov dword [rsp + 0xc], 1
jmp 0x180012fe5
mov eax, dword [rsp]
inc eax
mov dword [rsp], eax
jmp 0x180012fa3
cmp dword [rsp + 0xc], 0
je 0x180013005
mov eax, dword [rsp + 8]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
jmp 0x18001300c
jmp 0x180012e87
xor eax, eax
add rsp, 0x58
ret