Function at 0x18006afa0
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 0x18006afed
mov edx, 0xcdd1cc5c
mov ecx, 0x89a17f76
call fcn.180048dc0
test rax, rax
je 0x18006afde
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 0x18006b026
mov edx, 0xcdd1cc5c
mov ecx, 0x89a17f76
call fcn.180048dc0
test rax, rax
je 0x18006b01f
mov ecx, 0xc1
call rax
xor eax, eax
jmp 0x18006b294
mov rax, qword [rsi + 0x30]
mov qword [rsp + 0xa8], rbx
mov edx, 0x13dcdfe4
mov qword [rsp + 0xa0], rax
mov eax, dword [rsi + 0x50]
mov ecx, 0x701ac3f9
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x30], rax
call fcn.180048dc0
xor edi, edi
test rax, rax
je 0x18006b089
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 0x18006b0d9
cmp eax, 0x2000
je 0x18006b0cd
cmp eax, 0x10000
jne 0x18006b0c4
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rax
cmovb rcx, rdi
mov qword [rsp + 0xa0], rcx
jmp 0x18006b0e1
mov ebx, dword [rsp + 0xa0]
jmp 0x18006b0e6
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rax
jae 0x18006b0e6
mov qword [rsp + 0xa0], rdi
mov ebx, 0x3000
mov edx, 0xf05c0383
mov ecx, 0x701ac3f9
call fcn.180048dc0
test rax, rax
je 0x18006b11c
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 0x18006b168
mov ecx, 0x28
call fcn.180046860
mov rbx, rax
test rax, rax
jne 0x18006b18a
mov edx, 0xf9fce236
mov ecx, 0x701ac3f9
call fcn.180048dc0
test rax, rax
je 0x18006b168
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
mov r9d, 0x8000
or rcx, 0xffffffffffffffff
call rax
mov edx, 0xcdd1cc5c
mov ecx, 0x89a17f76
call fcn.180048dc0
test rax, rax
je 0x18006b183
mov ecx, 0xe
call rax
xor eax, eax
jmp 0x18006b27f
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.180046390
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.18006a860
mov rdx, rbp
sub rdx, qword [rsi + 0x30]
je 0x18006b1db
mov rcx, rbx
call fcn.18006aa60
mov rcx, rbx
call fcn.18006ab10
mov rcx, rbx
test al, al
jne 0x18006b212
movzx edx, r14b
call fcn.18006ae90
mov edx, 0xcdd1cc5c
mov ecx, 0x89a17f76
call fcn.180048dc0
test rax, rax
je 0x18006b274
mov ecx, 0x45a
call rax
xor eax, eax
jmp 0x18006b27f
call fcn.18006a910
mov r11, qword [rbx]
mov eax, dword [r11 + 0x28]
test eax, eax
je 0x18006b227
lea rdi, [rbp + rax]
mov qword [rbx + 0x20], rdi
test r14b, r14b
je 0x18006b278
test rdi, rdi
je 0x18006b278
mov r8, r15
mov edx, 1
mov rcx, rbp
call rdi
test r13, r13
je 0x18006b24b
mov dword [r13], eax
test eax, eax
jne 0x18006b278
mov dl, 1
mov rcx, rbx
call fcn.18006ae90
mov edx, 0xcdd1cc5c
mov ecx, 0x89a17f76
call fcn.180048dc0
test rax, rax
je 0x18006b274
mov ecx, 0x45a
call rax
xor eax, eax
jmp 0x18006b27f
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