Function at 0x18006e010
Capabilities:
Parse pe header

Disassembly:
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov eax, 0x5a4d
mov r13, r9
mov r15, r8
movzx r14d, dl
mov r12, rcx
cmp word [rcx], ax
je 0x18006e05d
mov edx, 0xd3b99cd5
mov ecx, 0x97c92fff
call fcn.180049ad0
test rax, rax
je 0x18006e04e
mov ecx, 0xc1
call rax
xor eax, eax
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
ret
mov qword [rsp + 0xb8], rsi
movsxd rsi, dword [rcx + 0x3c]
add rsi, rcx
cmp dword [rsi], 0x4550
je 0x18006e096
mov edx, 0xd3b99cd5
mov ecx, 0x97c92fff
call fcn.180049ad0
test rax, rax
je 0x18006e08f
mov ecx, 0xc1
call rax
xor eax, eax
jmp 0x18006e304
mov rax, qword [rsi + 0x30]
mov qword [rsp + 0xa8], rbx
mov edx, 0xdb48f6d
mov qword [rsp + 0xa0], rax
mov eax, dword [rsi + 0x50]
mov ecx, 0x6e729370
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x30], rax
call fcn.180049ad0
xor edi, edi
test rax, rax
je 0x18006e0f9
mov rdx, qword [rsp + 0xa0]
lea r9, [rsp + 0x38]
xor r8d, r8d
or rcx, 0xffffffffffffffff
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0x30
call rax
mov eax, dword [rsp + 0x58]
mov ebx, 0x1000
cmp eax, ebx
je 0x18006e149
cmp eax, 0x2000
je 0x18006e13d
cmp eax, 0x10000
jne 0x18006e134
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rax
cmovb rcx, rdi
mov qword [rsp + 0xa0], rcx
jmp 0x18006e151
mov ebx, dword [rsp + 0xa0]
jmp 0x18006e156
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rax
jae 0x18006e156
mov qword [rsp + 0xa0], rdi
mov ebx, 0x3000
mov edx, 0xee34530a
mov ecx, 0x6e729370
call fcn.180049ad0
test rax, rax
je 0x18006e18c
lea r9, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
xor r8d, r8d
or rcx, 0xffffffffffffffff
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], ebx
call rax
mov rbp, qword [rsp + 0xa0]
test rbp, rbp
je 0x18006e1d8
mov ecx, 0x28
call fcn.1800472c0
mov rbx, rax
test rax, rax
jne 0x18006e1fa
mov edx, 0xe794b2bf
mov ecx, 0x6e729370
call fcn.180049ad0
test rax, rax
je 0x18006e1d8
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
mov r9d, 0x8000
or rcx, 0xffffffffffffffff
call rax
mov edx, 0xd3b99cd5
mov ecx, 0x97c92fff
call fcn.180049ad0
test rax, rax
je 0x18006e1f3
mov ecx, 0xe
call rax
xor eax, eax
jmp 0x18006e2ef
mov qword [rax + 8], rbp
mov dword [rax + 0x18], edi
mov qword [rax + 0x10], rdi
mov byte [rax + 0x1c], dil
mov r8d, dword [rsi + 0x54]
mov rdx, r12
add r8d, dword [r12 + 0x3c]
mov rcx, rbp
call fcn.180046df0
movsxd rax, dword [r12 + 0x3c]
mov r8, rbx
add rax, rbp
mov rdx, rsi
mov rcx, r12
mov qword [rbx], rax
mov qword [rax + 0x30], rbp
call fcn.18006d8d0
mov rdx, rbp
sub rdx, qword [rsi + 0x30]
je 0x18006e24b
mov rcx, rbx
call fcn.18006dad0
mov rcx, rbx
call fcn.18006db80
mov rcx, rbx
test al, al
jne 0x18006e282
movzx edx, r14b
call fcn.18006df00
mov edx, 0xd3b99cd5
mov ecx, 0x97c92fff
call fcn.180049ad0
test rax, rax
je 0x18006e2e4
mov ecx, 0x45a
call rax
xor eax, eax
jmp 0x18006e2ef
call fcn.18006d980
mov r11, qword [rbx]
mov eax, dword [r11 + 0x28]
test eax, eax
je 0x18006e297
lea rdi, [rbp + rax]
mov qword [rbx + 0x20], rdi
test r14b, r14b
je 0x18006e2e8
test rdi, rdi
je 0x18006e2e8
mov r8, r15
mov edx, 1
mov rcx, rbp
call rdi
test r13, r13
je 0x18006e2bb
mov dword [r13], eax
test eax, eax
jne 0x18006e2e8
mov dl, 1
mov rcx, rbx
call fcn.18006df00
mov edx, 0xd3b99cd5
mov ecx, 0x97c92fff
call fcn.180049ad0
test rax, rax
je 0x18006e2e4
mov ecx, 0x45a
call rax
xor eax, eax
jmp 0x18006e2ef
mov byte [rbx + 0x1c], 1
mov rax, rbx
mov rbx, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0xb8]
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
ret