Function at 0x1800187d0
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x24], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x28], 0
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
jge 0x18001884d
push rbx
push rsp
nop
pop rsp
pop rbx
jl 0x18001884d
mov al, 0xaf
out dx, al
out 0x45, eax
xlatb
xlatb
out dx, al
jge 0x180018830
mov eax, 0xafafddcd
mov al, 0xfa
int 0xaf
int 0xb0
int 0xb8
int 0xb8
mov al, 0xcd
xlatb
xlatb
out dx, al
out 0xdd, eax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x180018866
mov eax, 1
jmp 0x180018ae4
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
jp 0x1800188ab
push rax
nop
pop rax
jnp 0x1800188ab
and eax, 0x7deeb0d7
cli
xlatb
mov al, 0xee
jge 0x180018885
int 0xdd
int 0xc0
out 0xc0, eax
ffree st(0)
int 0xe7
jge 0x180018891
cli
out dx, al
mov r8b, 0xf6
sar byte [rax + 0x45afc0cd], 0xfa
fnsave dword [rax - 0x47183240]
out 0xcd, eax
mov rax, qword [rsp + 0x30]
cmp dword [rax], 0x4550
je 0x1800188c2
mov eax, 1
jmp 0x180018ae4
mov dword [rsp + 0x20], 0
jmp 0x1800188d6
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 6]
cmp dword [rsp + 0x20], eax
jae 0x180018ab9
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 0x14]
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + rax + 0x18]
mov ecx, dword [rsp + 0x20]
imul rcx, rcx, 0x28
add rax, rcx
mov qword [rsp + 0x40], rax
jp 0x180018938
jnp 0x180018938
cli
int 0xdd
jge 0x1800188f2
rcr ch, 0xfa
mov al, 0xd7
mov al, 0xb8
out 0xee, eax
scasd eax, dword [rdi]
idiv byte [rax - 0x18051823]
mov al, 0xcd
test ch, 0xc6
cli
int 0xe7
out 0xb0, eax
int 0xb8
test byte [rbp - 0x33], 0xfa
scasd eax, dword [rdi]
mov r8d, 0x10
mov r8d, 0x10
xor edx, edx
lea rcx, [rsp + 0x50]
and al, 0x50
call qword [0x180020038]
jle 0x180018977
push rcx
nop
pop rcx
jg 0x180018977
mov dh, 0xb8
idiv byte [rbp - 0x33]
out 0xcd, eax
cli
idiv dl
int 0xdd
fucom st(7)
int 0xfa
jge 0x180018943
test ch, 0xcd
cli
int 0x45
out dx, al
invalid
mov rax, qword [rsp + 0x40]
mov r8d, 8
mov rdx, rax
lea rcx, [rsp + 0x50]
call qword [0x180020110]
jle 0x1800189bc
push rax
push rbx
push rcx
pop rcx
pop rbx
pop rax
jg 0x1800189bc
cli
cli
int 0xee
test ch, 0xb8
invalid
jbe 0x1800189e8
push rsi
push rdi
push rbp
nop
pop rbp
pop rdi
pop rsi
ja 0x1800189e8
fnsave dword [rax - 0x4f474751]
cli
cli
cli
xlatb
invalid
lea rdx, [0x180020300]
lea rcx, [rsp + 0x50]
call qword [0x1800203c0]
test eax, eax
jne 0x180018ab4
mov dword [rsp + 0x24], 1
jbe 0x180018a36
push rax
push rdi
push rsp
pop rsp
pop rdi
pop rax
ja 0x180018a36
xlatb
jge 0x180018a11
mov al, 0xdd
scasd eax, dword [rdi]
mul bh
mov al, 0xf6
test byte [rbp - 0x40], 0xcd
int 0xfa
mov eax, 0xd7d7c0fa
cli
cli
sar dl, 0x7d
invalid
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xc]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
jae 0x180018a7a
jb 0x180018a7a
int 0xee
int 0xd7
xlatb
shr byte [rdi - 0x22825012], 0xcd
cli
scasd eax, dword [rdi]
out dx, al
scasd eax, dword [rdi]
jge 0x180018a3a
int 0xfa
test ch, 0xaf
cli
mov eax, 0xeeee45ee
mov eax, 0xc6facdb8
mov al, 0xf6
jge 0x180018a58
cli
out 0xcd, eax
cli
scasd eax, dword [rdi]
int 0xc0
test byte [rbp + 0x48], 0x8b
and al, 0x40
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x28], eax
jle 0x180018ab2
jg 0x180018ab2
scasd eax, dword [rdi]
cli
rol dh, 0xe7
out dx, al
mov r8b, 0xcd
invalid
jmp 0x180018ab9
jmp 0x1800188cc
cmp dword [rsp + 0x24], 0
jne 0x180018ac7
mov eax, 1
jmp 0x180018ae4
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x28]
mov dword [rax], ecx
xor eax, eax
add rsp, 0x68
ret