Function at 0x18008e5a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x18], r8d
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r12, qword [rsp + 0x30]
lea r11, [0x18008b8c0]
mov r13, qword [rsp + 0x30]
lea rdi, [0x18008c7b0]
mov ebx, dword [rsp + 0x90]
xor r10d, r10d
mov rsi, r9
mov r15, rdx
mov r9d, r8d
mov r14, rcx
mov ebp, r8d
lea rcx, [0x180000000]
lea edx, [r10 + 6]
lea r8, [0x18008b0e0]
nop dword [rax]
nop dword [rax + rax]
lea eax, [r9 + 0x193]
cmp ebp, eax
jae 0x18008e9ee
lea eax, [rbp - 2]
cmp eax, 0xa9
ja case.default.0x18008e646
movzx eax, byte [rcx + rax + 0x8ec38]
mov ecx, dword [rcx + rax*4 + 0x8ec04]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
lea rax, [0x18008c040]
mov qword [0x1801d92f0], r8
mov qword [0x1801d9308], rax
lea rcx, [0x180000000]
lea rax, [0x18008c330]
mov qword [0x1801d92f8], r11
mov qword [0x1801d9310], rax
add ebp, 0x1f
lea rax, [0x18008c3f0]
mov qword [0x1801d9300], rdi
mov qword [0x1801d9318], rax
lea rax, [0x18008c420]
mov qword [0x1801d9320], rax
lea rax, [0x18008c790]
mov qword [0x1801d9328], rax
lea rax, [0x18008d410]
mov qword [0x1801d9330], rax
lea rax, [0x18008d470]
mov qword [0x1801d9338], rax
lea rax, [0x18008d440]
mov qword [0x1801d9340], rax
lea rax, [0x18008b0b0]
mov qword [0x1801d9348], rax
lea rax, [0x18008b8e0]
mov qword [0x1801d9350], rax
lea rax, [0x18008bb80]
mov qword [0x1801d9358], rax
lea rax, [0x18008c000]
mov qword [0x1801d9360], rax
lea rax, [0x18008c350]
mov qword [0x1801d9368], rax
lea rax, [0x18008c390]
mov qword [0x1801d9370], rax
lea rax, [0x18008c3c0]
mov qword [0x1801d9378], rax
lea rax, [0x18008c7d0]
mov qword [0x1801d9380], rax
lea rax, [0x18008d590]
mov qword [0x1801d9388], rax
lea rax, [0x18008c7e0]
mov qword [0x1801d9390], rax
lea rax, [0x18008c800]
mov qword [0x1801d9398], rax
lea rax, [0x18008c780]
mov qword [0x1801d93a8], rax
mov qword [0x1801d93a0], r10
mov qword [0x1801d93b0], r10
mov qword [0x1801d93b8], r10
jmp 0x18008e610
mov ecx, 0xa0
nop
mov eax, ecx
sub eax, 0x9f
je case.0x18008e646.4
cmp eax, 1
jne 0x18008e7b6
mov dword [rsp + 0x30], eax
dec ecx
cmp ecx, 0x9e
ja 0x18008e7a0
mov eax, dword [r15]
lea rcx, [0x180000000]
mov dword [rsi + 0xc], eax
add ebp, 0x1f
jmp 0x18008e610
mov eax, dword [rsi + 0x10]
lea rcx, [0x180000000]
mov dword [r14 + 4], eax
add ebp, 0x1f
mov eax, dword [rsi + 0x20]
mov dword [r14 + 8], eax
jmp 0x18008e610
movsxd rax, dword [rsi]
lea rcx, [0x180000000]
add rax, r14
mov qword [rsp + 0x30], rax
add ebp, 0x1f
jmp 0x18008e610
mov ecx, 0xd
cmp ecx, 0xd
je 0x18008e833
cmp ecx, 0x66
jne 0x18008e83b
mov qword [r12], r13
mov eax, 0x1406
test byte [r13 + 5], 2
cmovne eax, edx
mov dword [r12 + 8], eax
jmp 0x18008e83b
lea r12, [rsp + 0x38]
mov r13, rsi
add ecx, 0x59
cmp ecx, 0xbf
jb 0x18008e811
mov rax, qword [r14]
lea rdx, [rsp + 0x38]
mov r9d, 0x87
mov qword [rsp + 0x20], rax
xor r8d, r8d
xor ecx, ecx
call fcn.180035e50
neg rax
lea r11, [0x18008b8c0]
sbb ecx, ecx
neg ecx
dec ecx
mov dword [rsp + 0x30], ecx
xor r10d, r10d
jmp 0x18008e9cb
xor eax, eax
lea rcx, [0x180000000]
xorps xmm0, xmm0
add ebp, 0x1f
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rax
jmp 0x18008e610
mov eax, dword [rsi + 0x30]
lea rcx, [0x180000000]
mov dword [r14 + 0xc], eax
add ebp, 0x1f
mov eax, dword [rsi + 4]
mov dword [r14 + 0x10], eax
jmp 0x18008e610
mov eax, dword [rsi]
lea rcx, [0x180000000]
mov dword [r14], eax
add ebp, 0x1f
jmp 0x18008e610
cmp qword [r14], 0
je 0x18008e8d8
mov ebx, 0xf2
jmp 0x18008e8eb
mov edi, 0xbf
add edi, 0x22
cmp edi, 0x103
jb 0x18008e913
add ebx, 4
cmp ebx, 0xf6
jae 0x18008e965
cmp ebx, 0xf2
jne 0x18008e8e8
mov rax, qword [r14]
mov rcx, qword [rax + 0x10]
add qword [rsi], rcx
mov rax, qword [rsi]
cmp rax, qword [r14 + 8]
jb 0x18008e8e8
lea edi, [rbx - 0x33]
jmp 0x18008e8e0
mov eax, edi
sub eax, 0xbf
je 0x18008e8d8
cmp eax, 0x22
jne 0x18008e8dd
cmp byte [r15], 0
lea ebp, [rax - 0xe]
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
je 0x18008e94e
mov r9, r14
mov dword [rsp + 0x20], 0xe4
xor r8d, r8d
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.180035ab0
jmp 0x18008e8dd
lea r8, [rsp + 0x30]
mov edx, 0xa0
mov rcx, r14
call fcn.18014def0
jmp 0x18008e8dd
mov rax, qword [rsi]
lea r11, [0x18008b8c0]
mov qword [rsp + 0x30], rax
lea rdi, [0x18008c7b0]
xor r10d, r10d
jmp 0x18008e9cb
mov r8d, dword [rsi]
mov edx, r10d
test r8d, r8d
je 0x18008e9d3
mov r9, qword [r14]
nop
mov eax, edx
cmp dword [r9 + rax*4], 0
je 0x18008e9c4
mov ecx, 0x124
nop
mov eax, ecx
sub eax, 0x124
je 0x18008e9b4
cmp eax, 0x26
je case.0x18008e646.4
jmp 0x18008e9b9
mov dword [rsp + 0x30], r10d
add ecx, 0x26
cmp ecx, 0x170
jb 0x18008e9a0
inc edx
cmp edx, r8d
jb 0x18008e990
mov r9d, dword [rsp + 0x90]
lea r8, [0x18008b0e0]
mov edx, 6
lea rcx, [0x180000000]
add ebp, 0x1f
jmp 0x18008e610
imul r8d, r9d, 0x93c
mov edx, r9d
cmp r9d, r8d
ja case.0x18008e646.4
cmp edx, 0x7a90
ja 0x18008eb45
je 0x18008eb39
cmp edx, 0x28fe
ja 0x18008eaff
je 0x18008eaec
cmp edx, 0x14
je case.0x18008e646.4
cmp edx, 0x35
je 0x18008ead9
cmp edx, 0x6d
jne 0x18008ebcf
lea rcx, [r14 + 0x80]
lea rax, [0x180000000]
movups xmm0, xmmword [rax + 0x1d92f0]
lea rax, [rax + 0x1d92f0]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r14 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r14 + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r14 + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r14 + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r14 + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
movups xmm0, xmmword [rax + 0x80]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x90]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0xa0]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0xb0]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0xc0]
movups xmmword [rcx + 0x40], xmm0
jmp 0x18008ebcf
mov eax, dword [rsi + 0x14]
mov dword [r14 + 0x14], eax
mov eax, dword [rsi + 0x24]
mov dword [r14 + 0x18], eax
jmp 0x18008ebcf
mov eax, dword [rsi + 0x34]
mov dword [r14 + 0x1c], eax
mov eax, dword [rsi + 8]
mov dword [r14 + 0x20], eax
jmp 0x18008ebcf
cmp edx, 0x51c7
je 0x18008eb26
cmp edx, 0x544e
jne 0x18008ebcf
test byte [r15], 4
je 0x18008ebcf
mov qword [r14 + 0x78], r10
jmp 0x18008ebcf
mov eax, dword [rsi + 0x18]
mov dword [r14 + 0x24], eax
mov eax, dword [rsi + 0x28]
mov dword [r14 + 0x28], eax
jmp 0x18008ebcf
mov eax, dword [rsi + 0x38]
mov dword [r14 + 0x2c], eax
jmp 0x18008ebcf
cmp edx, 0xa359
je 0x18008ebc8
cmp edx, 0xa82f
je 0x18008eb88
cmp edx, 0xcc22
je 0x18008eb7f
cmp edx, 0xf4eb
je 0x18008eb76
cmp edx, 0x11db4
jne 0x18008ebcf
mov eax, dword [rsi + 0x3c]
mov dword [r14 + 0x3c], eax
jmp 0x18008ebcf
mov eax, dword [rsi + 0x2c]
mov dword [r14 + 0x38], eax
jmp 0x18008ebcf
mov eax, dword [rsi + 0x1c]
mov dword [r14 + 0x34], eax
jmp 0x18008ebcf
mov eax, dword [r15]
test al, 8
je 0x18008ebbb
mov ecx, 0x3c
mov eax, ecx
sub eax, 0x3c
je 0x18008eba6
cmp eax, 0x49
jne 0x18008ebad
mov qword [r14 + 0x58], r10
jmp 0x18008ebad
mov qword [r14 + 0x88], r10
add ecx, 0x49
cmp ecx, 0xce
jb 0x18008eb94
mov eax, dword [r15]
test eax, 0x201
je 0x18008ebcf
mov qword [r14 + 0x10], r10
jmp 0x18008ebcf
mov eax, dword [rsi + 0xc]
mov dword [r14 + 0x30], eax
imul eax, r9d, 0xc5
add edx, eax
cmp edx, r8d
jbe 0x18008ea01
mov rax, qword [rsp + 0x30]
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret