Function at 0x18000ae90
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbx
push r12
push r13
push r15
sub rsp, 0x178
mov rax, qword [0x180036010]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov r15d, edx
mov rbx, rcx
test rcx, rcx
je 0x18000b17d
xor edx, edx
lea r9, [0x180091870]
mov r8d, edx
mov rax, r9
nop
cmp dword [rax + 8], r15d
jne 0x18000aedf
cmp qword [rax], rbx
je 0x18000afac
inc r8d
add rax, 0x18
cmp r8d, 5
jb 0x18000aed0
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x18000b17d
movsxd r13, dword [rcx + 0x3c]
add r13, rbx
cmp dword [r13], 0x4550
jne 0x18000b17d
mov qword [rsp + 0x1a8], rbp
mov r12, rdx
mov qword [rsp + 0x1b0], rsi
mov ebp, edx
mov qword [rsp + 0x170], r14
mov esi, edx
mov r14d, dword [r13 + 0x88]
add r14, rbx
mov ecx, dword [r14 + 0x20]
add rcx, rbx
mov qword [rsp + 0x28], rcx
cmp dword [r14 + 0x18], edx
jbe 0x18000b108
mov qword [rsp + 0x1b8], rdi
mov rdi, 0xffffffffffffffff
nop dword [rax]
mov eax, esi
mov edx, dword [rcx + rax*4]
mov qword [rsp + 0x20], rax
add rdx, rbx
lea rax, [rcx + rax*4]
mov rcx, rdi
mov qword [rsp + 0x30], rax
nop dword [rax]
inc rcx
cmp byte [rdx + rcx], r12b
jne 0x18000af80
dec rcx
call fcn.180004330
mov ebp, eax
not ebp
cmp ebp, r15d
je 0x18000afbd
mov rcx, qword [rsp + 0x28]
inc esi
cmp esi, dword [r14 + 0x18]
jb 0x18000af60
jmp 0x18000b0f9
mov eax, r8d
lea rax, [rax + rax*2]
mov rax, qword [r9 + rax*8 + 0x10]
jmp 0x18000b17f
mov ecx, dword [r14 + 0x24]
mov rax, qword [rsp + 0x20]
add rcx, rbx
movzx edx, word [rcx + rax*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov r9d, dword [rcx + rdx*4]
mov ecx, dword [r13 + 0x88]
lea r12, [rbx + r9]
cmp r9d, ecx
jbe 0x18000b0f9
add ecx, dword [r13 + 0x8c]
cmp r9d, ecx
jae 0x18000b0f9
mov rax, qword [rsp + 0x30]
lea rcx, [rsp + 0x50]
mov r9d, 0x103
mov r8, r12
mov r14d, dword [rax]
lea edx, [r9 + 1]
add r14, rbx
call fcn.180016808
xor r13d, r13d
lea r8, [rsp + 0x20]
lea rdx, [0x1800322ac]
mov qword [rsp + 0x20], r13
lea rcx, [rsp + 0x50]
call fcn.1800167d0
test rax, rax
je 0x18000b08a
cmp qword [rsp + 0x20], r13
je 0x18000b08a
mov rcx, rax
call fcn.18000a9d0
mov rsi, rax
test rax, rax
je 0x18000b08a
cmp rax, rbx
je 0x18000b08a
mov rdx, qword [rsp + 0x20]
cmp byte [rdx + rdi + 1], r13b
lea rdi, [rdi + 1]
jne 0x18000b062
lea rcx, [rdi - 1]
call fcn.180004330
not eax
mov rcx, rsi
mov edx, eax
call fcn.18000ae90
mov r12, rax
test rax, rax
jne 0x18000b0f9
cmp qword [0x1800918e8], r13
jne 0x18000b0b3
mov edx, 0xc0d5b5d8
mov ecx, 0x84c05e40
call fcn.18000b1a0
mov qword [0x1800918e8], rax
test rax, rax
jne 0x18000b0b3
mov r12, r13
jmp 0x18000b0f9
mov edx, 0x104
mov qword [rsp + 0x28], r13
mov rcx, r14
mov qword [rsp + 0x38], r14
call fcn.1800162a0
mov word [rsp + 0x30], ax
lea r9, [rsp + 0x28]
inc ax
lea rdx, [rsp + 0x30]
xor r8d, r8d
mov word [rsp + 0x32], ax
mov rcx, rbx
call qword [0x1800918e8]
mov r12, qword [rsp + 0x28]
cmp r12, rbx
cmove r12, r13
mov rdi, qword [rsp + 0x1b8]
lea r9, [0x180091870]
mov r14, qword [rsp + 0x170]
cmp r15d, ebp
mov rbp, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1b0]
jne 0x18000b17d
movzx edx, word [0x180091828]
movabs rax, 0xcccccccccccccccd
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x38], r15d
movups xmm0, xmmword [rsp + 0x30]
lea rcx, [rdx + rdx*2]
mov qword [rsp + 0x40], r12
movsd xmm1, qword [rsp + 0x40]
movups xmmword [r9 + rcx*8], xmm0
movsd qword [r9 + rcx*8 + 0x10], xmm1
lea ecx, [rdx + 1]
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*4]
sub rcx, rax
mov rax, r12
mov word [0x180091828], cx
jmp 0x18000b17f
xor eax, eax
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.18000c310
add rsp, 0x178
pop r15
pop r13
pop r12
pop rbx
ret