Function at 0x180009970
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 [0x180037040]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov r15d, edx
mov rbx, rcx
test rcx, rcx
je 0x180009c5d
xor edx, edx
lea r9, [0x1800911f0]
mov r8d, edx
mov rax, r9
nop
cmp dword [rax + 8], r15d
jne 0x1800099bf
cmp qword [rax], rbx
je 0x180009a8c
inc r8d
add rax, 0x18
cmp r8d, 5
jb 0x1800099b0
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x180009c5d
movsxd r13, dword [rcx + 0x3c]
add r13, rbx
cmp dword [r13], 0x4550
jne 0x180009c5d
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 0x180009be8
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 0x180009a60
dec rcx
call fcn.180004220
mov ebp, eax
not ebp
cmp ebp, r15d
je 0x180009a9d
mov rcx, qword [rsp + 0x28]
inc esi
cmp esi, dword [r14 + 0x18]
jb 0x180009a40
jmp 0x180009bd9
mov eax, r8d
lea rax, [rax + rax*2]
mov rax, qword [r9 + rax*8 + 0x10]
jmp 0x180009c5f
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 0x180009bd9
add ecx, dword [r13 + 0x8c]
cmp r9d, ecx
jae 0x180009bd9
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.180016230
xor r13d, r13d
lea r8, [rsp + 0x20]
lea rdx, [0x180033194]
mov qword [rsp + 0x20], r13
lea rcx, [rsp + 0x50]
call fcn.1800161f8
test rax, rax
je 0x180009b6a
cmp qword [rsp + 0x20], r13
je 0x180009b6a
mov rcx, rax
call fcn.1800094d0
mov rsi, rax
test rax, rax
je 0x180009b6a
cmp rax, rbx
je 0x180009b6a
mov rdx, qword [rsp + 0x20]
cmp byte [rdx + rdi + 1], r13b
lea rdi, [rdi + 1]
jne 0x180009b42
lea rcx, [rdi - 1]
call fcn.180004220
not eax
mov rcx, rsi
mov edx, eax
call fcn.180009970
mov r12, rax
test rax, rax
jne 0x180009bd9
cmp qword [0x180091270], r13
jne 0x180009b93
mov edx, 0xc0d5b5d8
mov ecx, 0x84c05e40
call fcn.180009c80
mov qword [0x180091270], rax
test rax, rax
jne 0x180009b93
mov r12, r13
jmp 0x180009bd9
mov edx, 0x104
mov qword [rsp + 0x28], r13
mov rcx, r14
mov qword [rsp + 0x38], r14
call fcn.180015bc8
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 [0x180091270]
mov r12, qword [rsp + 0x28]
cmp r12, rbx
cmove r12, r13
mov rdi, qword [rsp + 0x1b8]
lea r9, [0x1800911f0]
mov r14, qword [rsp + 0x170]
cmp r15d, ebp
mov rbp, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1b0]
jne 0x180009c5d
movzx edx, word [0x1800911a0]
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 [0x1800911a0], cx
jmp 0x180009c5f
xor eax, eax
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.18000b670
add rsp, 0x178
pop r15
pop r13
pop r12
pop rbx
ret