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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x18f0
call fcn.18019cbb0
sub rsp, rax
movaps xmmword [rsp + 0x18e0], xmm6
movaps xmmword [rsp + 0x18d0], xmm7
mov rax, qword [0x1802b3070]
xor rax, rsp
mov qword [rsp + 0x18c0], rax
mov rdi, rdx
mov rbx, rcx
movss dword [rsp + 0x50], xmm2
xor edx, edx
mov r8d, 0x2f0
lea rcx, [rsp + 0x1390]
call fcn.18019ecf0
mov rdx, rbx
lea rcx, [rsp + 0x1390]
call fcn.18003d3f0
mov qword [rsp + 0x1398], rdi
xor ebx, ebx
cmp qword [rsp + 0x1390], rbx
je 0x1800185f9
cmp qword [rsp + 0x1650], rbx
je 0x1800185f9
cmp qword [rsp + 0x1648], rbx
je 0x1800185f9
movabs rax, 0x9a156bb67cedce69
mov qword [rsp + 0x90], rax
movabs rax, 0x66e83acb464094e5
mov qword [rsp + 0x98], rax
movabs rax, 0xe37407e6199eaf2b
mov qword [rsp + 0x16a0], rax
movabs rax, 0x66e83acb4640e680
mov qword [rsp + 0x16a8], rax
movdqa xmm0, xmmword [rsp + 0x90]
pxor xmm0, xmmword [rsp + 0x16a0]
movdqa xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x90]
sub rcx, rdi
mov esi, 1
mov al, byte [rdi]
cmp al, byte [rdi + rcx]
jne 0x180016df9
add rdi, rsi
test al, al
jne 0x180016de6
mov r12d, ebx
jmp 0x180016dff
sbb r12d, r12d
or r12d, esi
mov dword [rsp + 0x60], r12d
mov dword [rsp + 0x70], r12d
test r12d, r12d
jne 0x180016e87
cmp byte [0x1802e6385], bl
je 0x1800185f9
lea rcx, [rsp + 0x1390]
call fcn.1800463b0
cmp dword [rax], ebx
jne 0x180016e82
lea rcx, [rsp + 0x1390]
call fcn.1800461c4
movss xmm0, dword [0x180292880]
comiss xmm0, dword [rax]
ja 0x180016e82
lea rcx, [rsp + 0x1390]
call fcn.180046024
test byte [rax], 0x10
je 0x180016e63
cmp byte [0x1802e637f], bl
je 0x1800185f9
lea rcx, [rsp + 0x1390]
call fcn.180046024
test byte [rax], 0x40
je 0x180016e93
cmp byte [0x1802e6382], bl
jne 0x180016e93
jmp 0x1800185f9
jmp 0x1800185f9
cmp byte [0x1802e6627], bl
je 0x1800185f9
lea rcx, [rsp + 0x1390]
call fcn.180046024
mov r15d, dword [rax]
shr r15d, 4
and r15b, sil
mov byte [rsp + 0x23], r15b
lea rcx, [rsp + 0x1390]
call fcn.180046024
mov r14d, dword [rax]
shr r14d, 6
and r14b, sil
mov byte [rsp + 0x24], r14b
lea rcx, [rsp + 0x1390]
call fcn.18004587c
mov edi, dword [rax]
mov dword [rsp + 0x68], edi
cmp r12d, ebx
jne 0x180016f11
cmp qword [0x1802e92d8], rbx
je 0x180016f11
lea rcx, [rsp + 0x1390]
call fcn.180045de0
mov r8d, dword [rax]
mov edx, edi
lea rcx, [0x1802e9000]
call fcn.180045f80
test al, al
mov al, sil
jne 0x180016f13
mov al, bl
mov byte [rsp + 0x28], al
test al, al
jne 0x180016f45
mov rcx, qword [0x1802e94b8]
mov qword [rsp + 0x270], rcx
cmp rcx, qword [0x1802e94c0]
je 0x180016f45
movzx eax, al
cmp dword [rcx], edi
cmove eax, esi
mov byte [rsp + 0x28], al
add rcx, 4
jmp 0x180016f22
cmp byte [0x1802e6626], bl
je 0x180016f65
test al, al
je 0x180016f65
test r12d, r12d
jne 0x180016f65
test r15b, r15b
jne 0x180016f65
test r14b, r14b
mov byte [rsp + 0x22], sil
je 0x180016f69
mov byte [rsp + 0x22], bl
cmp byte [0x1802e6625], bl
je 0x180016f7f
test al, al
je 0x180016f7f
test r14b, r14b
mov byte [rsp + 0x21], sil
jne 0x180016f83
mov byte [rsp + 0x21], bl
cmp byte [0x1802e6624], bl
je 0x180016f99
test al, al
je 0x180016f99
test r15b, r15b
mov byte [rsp + 0x20], sil
jne 0x180016f9d
mov byte [rsp + 0x20], bl
test r15b, r15b
je 0x180016fb8
cmp byte [rsp + 0x20], bl
jne 0x180016fb0
cmp dword [0x1802e6620], ebx
jmp 0x180016ff4
cmp dword [0x1802e661c], ebx
jmp 0x180016ff4
test r14b, r14b
je 0x180016fd3
cmp byte [rsp + 0x21], bl
jne 0x180016fcb
cmp dword [0x1802e6618], ebx
jmp 0x180016ff4
cmp dword [0x1802e6614], ebx
jmp 0x180016ff4
test r12d, r12d
jne 0x180016fee
cmp byte [rsp + 0x22], bl
jne 0x180016fe6
cmp dword [0x1802e6610], ebx
jmp 0x180016ff4
cmp dword [0x1802e660c], ebx
jmp 0x180016ff4
cmp dword [0x1802e6608], ebx
setg al
mov r13b, bl
mov byte [rsp + 0x29], bl
test al, al
je 0x180017161
call fcn.18003d9c0
movaps xmm6, xmm0
mov al, bl
mov byte [rsp + 0x25], bl
mov rdi, qword [0x1802e94d0]
mov rdx, qword [0x1802e94d8]
mov ecx, dword [rsp + 0x68]
mov qword [rsp + 0x278], rdi
cmp rdi, rdx
je 0x180017103
cmp ecx, dword [rdi]
je 0x180017041
add rdi, 0xc
jmp 0x180017026
movss xmm0, dword [rdi + 4]
mov al, sil
mov byte [rsp + 0x25], al
addss xmm0, dword [0x1802928bc]
comiss xmm6, xmm0
jbe 0x180017103
lea rdx, [rsp + 0x1680]
lea rcx, [rsp + 0x1620]
call fcn.18004661c
lea rdx, [rsp + 0x1690]
lea rcx, [0x1802e9290]
call fcn.18004661c
movsd xmm0, qword [rsp + 0x1680]
movsd qword [rsp + 0x180], xmm0
mov eax, dword [rsp + 0x1688]
mov dword [rsp + 0x188], eax
movsd xmm0, qword [rsp + 0x1690]
movsd qword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x1698]
mov dword [rsp + 0x88], eax
movss xmm3, dword [0x1802928ec]
mov r8d, 0x59a12101
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x80]
call fcn.180045228
mov r13b, al
mov byte [rsp + 0x29], al
mov byte [rdi + 8], al
movss dword [rdi + 4], xmm6
mov rdx, qword [0x1802e94d8]
mov al, sil
test al, al
jne 0x180017161
mov byte [rsp + 0x1688], bl
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x1680], eax
movss dword [rsp + 0x1684], xmm6
mov byte [rsp + 0x1688], r13b
cmp rdx, qword [0x1802e94e0]
je 0x180017154
movsd xmm0, qword [rsp + 0x1680]
movsd qword [rdx], xmm0
mov eax, dword [rsp + 0x1688]
mov dword [rdx + 8], eax
add qword [0x1802e94d8], 0xc
jmp 0x180017161
lea r8, [rsp + 0x1680]
call fcn.180021b98
jmp 0x180017177
cmp byte [rsp + 0x22], bl
jne 0x1800171df
test r12d, r12d
jne 0x1800171e7
test r15b, r15b
jne 0x1800171e7
test r14b, r14b
jne 0x1800171e7
cmp byte [0x1802e6606], bl
je 0x1800171e7
mov byte [rsp + 0x26], sil
mov edi, 0x1a
mov qword [rsp + 0x280], rdi
lea r13, [rsp + 0x1780]
mov qword [rsp + 0x170], r13
mov rax, rdi
sub rdi, rsi
mov qword [rsp + 0x280], rdi
test rax, rax
je 0x180017242
mov rcx, r13
call fcn.180046810
add r13, 0xc
mov qword [rsp + 0x170], r13
jmp 0x1800171b6
cmp byte [0x1802e6605], bl
jne 0x180017194
cmp byte [rsp + 0x21], bl
jne 0x1800171fc
test r14b, r14b
je 0x180017204
cmp byte [0x1802e6604], bl
je 0x180017204
jmp 0x180017194
cmp byte [0x1802e6603], bl
jne 0x180017194
cmp byte [rsp + 0x20], bl
jne 0x18001721c
test r15b, r15b
je 0x180017228
cmp byte [0x1802e6602], bl
je 0x180017228
jmp 0x180017194
cmp byte [0x1802e6601], bl
jne 0x180017194
test r12d, r12d
je 0x180017239
cmp byte [0x1802e6600], bl
jne 0x180017194
mov byte [rsp + 0x26], bl
jmp 0x180017199
mov r13d, ebx
mov dword [rsp + 0x78], ebx
mov al, byte [rsp + 0x26]
neg al
sbb ecx, ecx
and ecx, 0xb
add ecx, 0xf
cmp r13d, ecx
jge 0x180017331
movdqa xmm0, xmmword [0x180292d30]
movdqu xmmword [rsp + 0x2e0], xmm0
movdqa xmm1, xmmword [0x180292d90]
movdqu xmmword [rsp + 0x2f0], xmm1
movdqa xmm0, xmmword [0x180292d80]
movdqu xmmword [rsp + 0x300], xmm0
movdqa xmm1, xmmword [0x180292d60]
movdqu xmmword [rsp + 0x310], xmm1
movdqa xmm0, xmmword [0x180292d50]
movdqu xmmword [rsp + 0x320], xmm0
movdqa xmm1, xmmword [0x180292d10]
movdqu xmmword [rsp + 0x330], xmm1
mov dword [rsp + 0x340], 0x11
mov dword [rsp + 0x344], 0x10
movsxd rdi, r13d
mov r8d, dword [rsp + rdi*4 + 0x2e0]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x1648]
call fcn.1800455c0
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.180045630
lea rcx, [rdi + rdi*2]
movsd xmm0, qword [rax]
movsd qword [rsp + rcx*4 + 0x1780], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + rcx*4 + 0x1788], eax
add r13d, esi
mov dword [rsp + 0x78], r13d
jmp 0x180017249
lea rax, [rsp + 0xc10]
lea rcx, [rsp + 0x1390]
mov edx, 5
lea r13d, [rdx + 0x7b]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
add rax, r13
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
add rcx, r13
sub rdx, 1
jne 0x18001734a
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea r8, [rsp + 0x1780]
lea rdx, [rsp + 0xc10]
lea rcx, [rsp + 0xf00]
call fcn.18002da84
mov rdx, qword [0x1802e94f0]
cmp rdx, qword [0x1802e94f8]
je 0x180017459
mov ecx, 9
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x60], xmm0
add rdx, r13
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rdx - 0x10], xmm1
add rax, r13
sub rcx, 1
jne 0x1800173fc
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
add qword [0x1802e94f0], 0x490
jmp 0x180017461
mov r8, rax
call fcn.180021dec
jmp 0x18001747b
cmp byte [rsp + 0x22], bl
jne 0x18001749a
test r12d, r12d
jne 0x1800174a2
test r15b, r15b
jne 0x1800174a2
test r14b, r14b
jne 0x1800174a2
cmp byte [0x1802e62b3], bl
je 0x1800174a2
jmp 0x1800174ed
cmp byte [0x1802e6152], bl
jne 0x1800174ed
cmp byte [rsp + 0x21], bl
jne 0x1800174b7
test r14b, r14b
je 0x1800174bf
cmp byte [0x1802e62b0], bl
je 0x1800174bf
jmp 0x1800174ed
cmp byte [0x1802e614e], bl
jne 0x1800174ed
cmp byte [rsp + 0x20], bl
jne 0x1800174d4
test r15b, r15b
je 0x1800174dc
cmp byte [0x1802e62b1], bl
je 0x1800174dc
jmp 0x1800174ed
cmp byte [0x1802e6150], bl
jne 0x1800174ed
test r12d, r12d
je 0x1800174e9
cmp byte [0x1802e62b2], bl
jne 0x1800174ed
mov al, bl
jmp 0x1800174f0
mov al, sil
cmp dword [0x1802e64d8], 0x8df
cmovle eax, ebx
test al, al
je 0x1800185f5
movss xmm1, dword [0x1802e5a68]
addss xmm1, dword [0x1802928ec]
movss xmm0, dword [rsp + 0x50]
comiss xmm0, xmm1
seta byte [rsp + 0x27]
mov dword [rsp + 0x58], ebx
mov rcx, qword [0x1802e9500]
mov rax, qword [0x1802e9508]
sub rax, rcx
sar rax, 3
movsxd rdx, dword [rsp + 0x58]
cmp rdx, rax
jae 0x1800175b4
mov rax, qword [rcx + rdx*8]
cmp qword [rsp + 0x1390], rax
jne 0x1800175ab
mov byte [rsp + 0x27], sil
mov qword [rsp + 0x1690], rcx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x70], rcx
lea rcx, [rcx + rdx*8]
mov qword [rsp + 0x70], rcx
mov r8, qword [0x1802e9508]
lea rdx, [rcx + 8]
sub r8, rdx
call fcn.18019e640
sub qword [0x1802e9508], 8
jmp 0x1800175b4
add dword [rsp + 0x58], esi
jmp 0x18001752e
cmp byte [rsp + 0x27], bl
je 0x1800185f5
movaps xmm0, xmmword [0x180293120]
movups xmmword [rsp + 0x30], xmm0
movaps xmm1, xmm0
movups xmmword [rsp + 0x40], xmm0
test r15b, r15b
je 0x18001772f
cmp byte [rsp + 0x20], bl
jne 0x18001768a
movss xmm3, dword [0x1802b4f04]
movss xmm2, dword [0x1802b4f00]
movss xmm1, dword [0x1802b4efc]
movss xmm0, dword [0x1802b4ef8]
movss dword [rsp + 0x190], xmm0
movss dword [rsp + 0x194], xmm1
movss dword [rsp + 0x198], xmm2
movss dword [rsp + 0x19c], xmm3
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm2
movss xmm4, dword [0x1802b4ef4]
movss xmm2, dword [0x1802b4ef0]
movss xmm1, dword [0x1802b4eec]
movss xmm0, dword [0x1802b4ee8]
movss dword [rsp + 0x1a0], xmm0
movss dword [rsp + 0x1a4], xmm1
movss dword [rsp + 0x1a8], xmm2
movss dword [rsp + 0x1ac], xmm4
mov edi, dword [0x1802b4ee0]
jmp 0x180017a8a
movss xmm3, dword [0x1802b4edc]
movss xmm2, dword [0x1802b4ed8]
movss xmm1, dword [0x1802b4ed4]
movss xmm0, dword [0x1802b4ed0]
movss dword [rsp + 0x1b0], xmm0
movss dword [rsp + 0x1b4], xmm1
movss dword [rsp + 0x1b8], xmm2
movss dword [rsp + 0x1bc], xmm3
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm2
movss xmm4, dword [0x1802b4ecc]
movss xmm2, dword [0x1802b4ec8]
movss xmm1, dword [0x1802b4ec4]
movss xmm0, dword [0x1802b4ec0]
movss dword [rsp + 0x1c0], xmm0
movss dword [rsp + 0x1c4], xmm1
movss dword [rsp + 0x1c8], xmm2
movss dword [rsp + 0x1cc], xmm4
mov edi, dword [0x1802b4eb8]
jmp 0x180017a8a
test r14b, r14b
je 0x18001788c
cmp byte [rsp + 0x21], bl
jne 0x1800177e7
movss xmm3, dword [0x1802b4eb4]
movss xmm2, dword [0x1802b4eb0]
movss xmm1, dword [0x1802b4eac]
movss xmm0, dword [0x1802b4ea8]
movss dword [rsp + 0x1d0], xmm0
movss dword [rsp + 0x1d4], xmm1
movss dword [rsp + 0x1d8], xmm2
movss dword [rsp + 0x1dc], xmm3
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm2
movss xmm4, dword [0x1802b4ea4]
movss xmm2, dword [0x1802b4ea0]
movss xmm1, dword [0x1802b4e9c]
movss xmm0, dword [0x1802b4e98]
movss dword [rsp + 0x1e0], xmm0
movss dword [rsp + 0x1e4], xmm1
movss dword [rsp + 0x1e8], xmm2
movss dword [rsp + 0x1ec], xmm4
mov edi, dword [0x1802b4e90]
jmp 0x180017a8a
movss xmm3, dword [0x1802b4e8c]
movss xmm2, dword [0x1802b4e88]
movss xmm1, dword [0x1802b4e84]
movss xmm0, dword [0x1802b4e80]
movss dword [rsp + 0x1f0], xmm0
movss dword [rsp + 0x1f4], xmm1
movss dword [rsp + 0x1f8], xmm2
movss dword [rsp + 0x1fc], xmm3
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm2
movss xmm4, dword [0x1802b4e7c]
movss xmm2, dword [0x1802b4e78]
movss xmm1, dword [0x1802b4e74]
movss xmm0, dword [0x1802b4e70]
movss dword [rsp + 0x200], xmm0
movss dword [rsp + 0x204], xmm1
movss dword [rsp + 0x208], xmm2
movss dword [rsp + 0x20c], xmm4
mov edi, dword [0x1802b4e68]
jmp 0x180017a8a
cmp dword [rsp + 0x60], ebx
jne 0x1800179ea
cmp byte [rsp + 0x22], bl
jne 0x180017945
movss xmm3, dword [0x1802b4e64]
movss xmm2, dword [0x1802b4e60]
movss xmm1, dword [0x1802b4e5c]
movss xmm0, dword [0x1802b4e58]
movss dword [rsp + 0x210], xmm0
movss dword [rsp + 0x214], xmm1
movss dword [rsp + 0x218], xmm2
movss dword [rsp + 0x21c], xmm3
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm2
movss xmm4, dword [0x1802b4e54]
movss xmm2, dword [0x1802b4e50]
movss xmm1, dword [0x1802b4e4c]
movss xmm0, dword [0x1802b4e48]
movss dword [rsp + 0x220], xmm0
movss dword [rsp + 0x224], xmm1
movss dword [rsp + 0x228], xmm2
movss dword [rsp + 0x22c], xmm4
mov edi, dword [0x1802b4e40]
jmp 0x180017a8a
movss xmm3, dword [0x1802b4e3c]
movss xmm2, dword [0x1802b4e38]
movss xmm1, dword [0x1802b4e34]
movss xmm0, dword [0x1802b4e30]
movss dword [rsp + 0x230], xmm0
movss dword [rsp + 0x234], xmm1
movss dword [rsp + 0x238], xmm2
movss dword [rsp + 0x23c], xmm3
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm2
movss xmm4, dword [0x1802b4e2c]
movss xmm2, dword [0x1802b4e28]
movss xmm1, dword [0x1802b4e24]
movss xmm0, dword [0x1802b4e20]
movss dword [rsp + 0x240], xmm0
movss dword [rsp + 0x244], xmm1
movss dword [rsp + 0x248], xmm2
movss dword [rsp + 0x24c], xmm4
mov edi, dword [0x1802b4e18]
jmp 0x180017a8a
movss xmm3, dword [0x1802b4e14]
movss xmm2, dword [0x1802b4e10]
movss xmm1, dword [0x1802b4e0c]
movss xmm0, dword [0x1802b4e08]
movss dword [rsp + 0x250], xmm0
movss dword [rsp + 0x254], xmm1
movss dword [rsp + 0x258], xmm2
movss dword [rsp + 0x25c], xmm3
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm2
movss xmm4, dword [0x1802b4e04]
movss xmm2, dword [0x1802b4e00]
movss xmm1, dword [0x1802b4dfc]
movss xmm0, dword [0x1802b4df8]
movss dword [rsp + 0x260], xmm0
movss dword [rsp + 0x264], xmm1
movss dword [rsp + 0x268], xmm2
movss dword [rsp + 0x26c], xmm4
mov edi, dword [0x1802b4df0]
movss dword [rsp + 0x3c], xmm3
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x48], xmm2
movss dword [rsp + 0x4c], xmm4
mov r14b, sil
mov byte [rsp + 0x2a], sil
mov ecx, dword [0x1802e4d24]
mov rax, qword gs:[0x58]
mov r12d, 4
mov r15, qword [rax + rcx*8]
mov eax, dword [0x1802e9518]
cmp eax, dword [r15 + r12]
jle 0x180017afd
lea rcx, [0x1802e9518]
call fcn.18019be60
cmp dword [0x1802e9518], 0xffffffff
jne 0x180017afd
mov byte [0x1802e951c], sil
lea rcx, [0x1802e9518]
call fcn.18019be00
mov eax, dword [0x1802e9520]
cmp eax, dword [r15 + r12]
jle 0x180017b30
lea rcx, [0x1802e9520]
call fcn.18019be60
cmp dword [0x1802e9520], 0xffffffff
jne 0x180017b30
mov dword [0x1802e9524], edi
lea rcx, [0x1802e9520]
call fcn.18019be00
lea rcx, [rsp + 0x1650]
call fcn.18002d8dc
mov rdx, qword [rax]
test rdx, rdx
jne 0x180017b83
mov rdx, qword [0x1802e9508]
cmp rdx, qword [0x1802e9510]
je 0x180017b6a
mov rax, qword [rsp + 0x1390]
mov qword [rdx], rax
add qword [0x1802e9508], 8
jmp 0x180017b7e
lea r8, [rsp + 0x1390]
lea rcx, [0x1802e9500]
call fcn.180021a34
jmp 0x1800185f9
mov qword [rsp + 0x60], rbx
lea rax, [rdx - 0x1000]
mov rcx, rbx
movabs r8, 0x7ffffffeefff
cmp rax, r8
cmovbe rcx, rdx
mov qword [rsp + 0x60], rcx
lea rcx, [rsp + 0x60]
call fcn.18002d544
mov qword [rsp + 0x60], rax
mov r15d, ebx
mov dword [rsp + 0x7c], ebx
movups xmm6, xmmword [rsp + 0x30]
movups xmm7, xmmword [rsp + 0x40]
movabs r12, 0xe37407e6199eaf2b
cmp r15d, dword [rax + 0x18]
jae 0x1800185ee
mov rcx, qword [rax + 0x10]
mov eax, r15d
mov rdx, qword [rcx + rax*8 + 0x20]
mov qword [rsp + 0x68], rbx
mov rcx, rbx
lea rax, [rdx - 0x1000]
movabs r8, 0x7ffffffeefff
cmp rax, r8
ja 0x180017c0e
mov qword [rsp + 0x68], rdx
mov rcx, rdx
test rcx, rcx
jne 0x180017c18
jmp 0x1800185dc
lea rcx, [rsp + 0x68]
call fcn.18002e73c
mov qword [rsp + 0x50], rbx
mov rdx, rbx
lea rcx, [rax - 0x1000]
movabs r8, 0x7ffffffeefff
cmp rcx, r8
ja 0x180017c48
mov qword [rsp + 0x50], rax
mov rdx, rax
test rdx, rdx
je 0x180017c13
mov rdx, qword [0x1802b3de0]
cmp qword [0x1802b3df8], rbx
je 0x180017c74
test rdx, rdx
je 0x180017c74
cmp qword [0x1802b3dd0], rbx
je 0x180017c74
cmp qword [0x1802b3dc8], rbx
jne 0x180017c7b
mov r14b, bl
mov byte [rsp + 0x2a], bl
mov al, bl
cmp r14b, byte [0x1802e951c]
jne 0x180017c8e
cmp edi, dword [0x1802e9524]
je 0x180017c9e
mov byte [0x1802e951c], r14b
mov dword [0x1802e9524], edi
mov al, sil
mov rcx, qword [0x1802e65f8]
test rcx, rcx
je 0x1800183e9
test al, al
jne 0x1800183e9
cmp rcx, 0x402402
je 0x1800183e9
test r14b, r14b
je 0x180017d07
mov r8d, edi
test edi, edi
je 0x180017cf9
sub r8d, 1
je 0x180017cf0
cmp r8d, 1
jne 0x180017d07
mov rax, qword [0x1802b3dc8]
cmp rcx, rax
je 0x180017d07
mov qword [0x1802e65f8], rax
jmp 0x180017d07
mov rax, qword [0x1802b3dd0]
jmp 0x180017ce2
cmp rcx, rdx
cmovne rcx, rdx
mov qword [0x1802e65f8], rcx
lea rcx, [rsp + 0x50]
call fcn.18002e190
mov rcx, qword [0x1802e65f8]
cmp rcx, rax
je 0x180017d6a
mov rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.18002df88
mov rdx, qword [0x1802e9508]
cmp rdx, qword [0x1802e9510]
je 0x180017d4f
mov rax, qword [rsp + 0x1390]
mov qword [rdx], rax
add qword [0x1802e9508], 8
jmp 0x180017d63
lea r8, [rsp + 0x1390]
lea rcx, [0x1802e9500]
call fcn.180021a34
mov rcx, qword [0x1802e65f8]
test r14b, r14b
je 0x18001821b
cmp rcx, qword [0x1802b3de0]
jne 0x180017fc7
movabs rax, 0xe318078919ddaf74
mov qword [rsp + 0xe0], rax
movabs rax, 0x66813a9d4632e6ef
mov qword [rsp + 0xe8], rax
movabs rax, 0x88243e1638863096
mov qword [rsp + 0xf0], rax
movabs rax, 0x60fe62612198f2ff
mov qword [rsp + 0xf8], rax
movabs r12, 0xe37407e6199eaf2b
mov qword [rsp + 0x16c0], r12
movabs rax, 0x66e83acb4640e680
mov qword [rsp + 0x16c8], rax
movabs rax, 0x88483e7438ef30e5
mov qword [rsp + 0x16d0], rax
movabs rax, 0x60fe62612198f29a
mov qword [rsp + 0x16d8], rax
movdqa xmm0, xmmword [rsp + 0xe0]
pxor xmm0, xmmword [rsp + 0x16c0]
movdqa xmmword [rsp + 0xe0], xmm0
movdqa xmm1, xmmword [rsp + 0xf0]
pxor xmm1, xmmword [rsp + 0x16d0]
movdqa xmmword [rsp + 0xf0], xmm1
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x7b0]
call fcn.1800332b8
movdqa xmmword [rsp + 0x290], xmm6
lea rcx, [rsp + 0x530]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + r13 - 0x10], xmm1
movups xmm0, xmmword [rax + r13]
movups xmmword [rcx + r13], xmm0
mov rax, qword [rax + r13 + 0x10]
mov qword [rcx + r13 + 0x10], rax
lea r8, [rsp + 0x290]
lea rdx, [rsp + 0x530]
lea rcx, [rsp + 0x50]
call fcn.18002dd14
movabs rax, 0xe318078919ddaf74
mov qword [rsp + 0xc0], rax
movabs rax, 0x668d3a894632e6ef
mov qword [rsp + 0xc8], rax
movabs rax, 0x882c3e1a3886308d
mov qword [rsp + 0xd0], rax
movabs rcx, 0x60fe62612198f29a
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0x16e0], r12
movabs rax, 0x66e83acb4640e680
mov qword [rsp + 0x16e8], rax
movabs rax, 0x88483e7438ef30e5
mov qword [rsp + 0x16f0], rax
mov qword [rsp + 0x16f8], rcx
movdqa xmm0, xmmword [rsp + 0xc0]
pxor xmm0, xmmword [rsp + 0x16e0]
movdqa xmmword [rsp + 0xc0], xmm0
movdqa xmm1, xmmword [rsp + 0xd0]
pxor xmm1, xmmword [rsp + 0x16f0]
movdqa xmmword [rsp + 0xd0], xmm1
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x850]
call fcn.1800332b8
movdqa xmmword [rsp + 0x2a0], xmm7
lea rcx, [rsp + 0x5d0]
lea r8, [rsp + 0x2a0]
lea rdx, [rsp + 0x5d0]
jmp 0x180018386
cmp rcx, qword [0x1802b3dd0]
jne 0x1800185dc
movabs rax, 0xe318078919ddaf74
mov qword [rsp + 0x100], rax
movabs rax, 0x66813a9d4632e6ef
mov qword [rsp + 0x108], rax
movabs rax, 0x88243e1638863096
mov qword [rsp + 0x110], rax
movabs rax, 0x60fe62612198f2ff
mov qword [rsp + 0x118], rax
movabs r12, 0xe37407e6199eaf2b
mov qword [rsp + 0x1700], r12
movabs rax, 0x66e83acb4640e680
mov qword [rsp + 0x1708], rax
movabs rax, 0x88483e7438ef30e5
mov qword [rsp + 0x1710], rax
movabs rax, 0x60fe62612198f29a
mov qword [rsp + 0x1718], rax
movdqa xmm0, xmmword [rsp + 0x100]
pxor xmm0, xmmword [rsp + 0x1700]
movdqa xmmword [rsp + 0x100], xmm0
movdqa xmm1, xmmword [rsp + 0x110]
pxor xmm1, xmmword [rsp + 0x1710]
movdqa xmmword [rsp + 0x110], xmm1
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x8f0]
call fcn.1800332b8
movdqa xmmword [rsp + 0x2b0], xmm6
lea rcx, [rsp + 0x670]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + r13 - 0x10], xmm1
movups xmm0, xmmword [rax + r13]
movups xmmword [rcx + r13], xmm0
mov rax, qword [rax + r13 + 0x10]
mov qword [rcx + r13 + 0x10], rax
lea r8, [rsp + 0x2b0]
lea rdx, [rsp + 0x670]
lea rcx, [rsp + 0x50]
call fcn.18002dd14
movabs rax, 0xe318078919ddaf74
mov qword [rsp + 0x120], rax
movabs rax, 0x668d3a894632e6ef
mov qword [rsp + 0x128], rax
movabs rax, 0x882c3e1a3886308d
mov qword [rsp + 0x130], rax
movabs rcx, 0x60fe62612198f29a
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x1720], r12
movabs rax, 0x66e83acb4640e680
mov qword [rsp + 0x1728], rax
movabs rax, 0x88483e7438ef30e5
mov qword [rsp + 0x1730], rax
mov qword [rsp + 0x1738], rcx
movdqa xmm0, xmmword [rsp + 0x120]
pxor xmm0, xmmword [rsp + 0x1720]
movdqa xmmword [rsp + 0x120], xmm0
movdqa xmm1, xmmword [rsp + 0x130]
pxor xmm1, xmmword [rsp + 0x1730]
movdqa xmmword [rsp + 0x130], xmm1
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x990]
call fcn.1800332b8
movdqa xmmword [rsp + 0x2c0], xmm7
lea rcx, [rsp + 0x710]
lea r8, [rsp + 0x2c0]
lea rdx, [rsp + 0x710]
jmp 0x180018386
movabs rax, 0xe31107b219c4af74
mov qword [rsp + 0xa0], rax
movabs rax, 0x66e83acb4634e6f3
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x16b0], r12
movabs rax, 0x66e83acb4640e680
mov qword [rsp + 0x16b8], rax
movdqa xmm0, xmmword [rsp + 0xa0]
pxor xmm0, xmmword [rsp + 0x16b0]
movdqa xmmword [rsp + 0xa0], xmm0
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0xa30]
call fcn.1800332b8
lea rcx, [rsp + 0x350]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + r13 - 0x10], xmm1
movups xmm0, xmmword [rax + r13]
movups xmmword [rcx + r13], xmm0
mov rax, qword [rax + r13 + 0x10]
mov qword [rcx + r13 + 0x10], rax
lea rdx, [rsp + 0x350]
lea rcx, [rsp + 0x50]
call fcn.18002d2e0
movabs rax, 0xe318078919ddaf74
mov qword [rsp + 0xb0], rax
movabs rax, 0x66e83acb4632e6ef
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x1740], r12
movabs rax, 0x66e83acb4640e680
mov qword [rsp + 0x1748], rax
movdqa xmm0, xmmword [rsp + 0xb0]
pxor xmm0, xmmword [rsp + 0x1740]
movdqa xmmword [rsp + 0xb0], xmm0
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xad0]
call fcn.1800332b8
movdqa xmmword [rsp + 0x2d0], xmm6
lea rcx, [rsp + 0x3f0]
lea r8, [rsp + 0x2d0]
lea rdx, [rsp + 0x3f0]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + r13 - 0x10], xmm1
movups xmm0, xmmword [rax + r13]
movups xmmword [rcx + r13], xmm0
mov rax, qword [rax + r13 + 0x10]
mov qword [rcx + r13 + 0x10], rax
lea rcx, [rsp + 0x50]
call fcn.18002dd14
jmp 0x1800185dc
test r14b, r14b
je 0x180018438
mov r8d, edi
test edi, edi
je 0x180018423
sub r8d, 1
je 0x18001841a
cmp r8d, 1
jne 0x1800185dc
mov rax, qword [0x1802b3dc8]
cmp rcx, rax
je 0x1800185dc
jmp 0x1800185d5
mov rax, qword [0x1802b3dd0]
jmp 0x18001840c
cmp rcx, rdx
je 0x1800185dc
mov qword [0x1802e65f8], rdx
jmp 0x1800185dc
movabs rax, 0xe310078219f7af63
mov qword [rsp + 0x140], rax
movabs rax, 0x66a13ae4462ee6e5
mov qword [rsp + 0x148], rax
movabs rax, 0x883a3e11389b308b
mov qword [rsp + 0x150], rax
movabs rax, 0x60d3620d21f9f2f4
mov qword [rsp + 0x158], rax
movabs rax, 0xac61379e29abe08c
mov qword [rsp + 0x160], rax
movabs rax, 0x6b3a995324d3a236
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x1750], r12
movabs rax, 0x66e83acb4640e680
mov qword [rsp + 0x1758], rax
movabs rax, 0x88483e7438ef30e5
mov qword [rsp + 0x1760], rax
movabs rax, 0x60fe62612198f29a
mov qword [rsp + 0x1768], rax
movabs rax, 0xac0e37f229c4e0cf
mov qword [rsp + 0x1770], rax
movabs rax, 0x6b3a993724b6a244
mov qword [rsp + 0x1778], rax
movdqa xmm0, xmmword [rsp + 0x140]
pxor xmm0, xmmword [rsp + 0x1750]
movdqa xmmword [rsp + 0x140], xmm0
movdqa xmm1, xmmword [rsp + 0x150]
pxor xmm1, xmmword [rsp + 0x1760]
movdqa xmmword [rsp + 0x150], xmm1
movdqa xmm0, xmmword [rsp + 0x160]
pxor xmm0, xmmword [rsp + 0x1770]
movdqa xmmword [rsp + 0x160], xmm0
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xb70]
call fcn.1800332b8
lea rcx, [rsp + 0x490]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + r13 - 0x10], xmm1
movups xmm0, xmmword [rax + r13]
movups xmmword [rcx + r13], xmm0
mov rax, qword [rax + r13 + 0x10]
mov qword [rcx + r13 + 0x10], rax
lea rcx, [rsp + 0x490]
call fcn.18002e38c
mov qword [0x1802e65f8], rax
add r15d, esi
mov dword [rsp + 0x7c], r15d
mov rax, qword [rsp + 0x60]
jmp 0x180017bd2
mov byte [0x1802e5a4f], sil
jmp 0x1800185f7
jmp 0x1800185f9
mov rcx, qword [rsp + 0x18c0]
xor rcx, rsp
call fcn.18019bcb0
lea r11, [rsp + 0x18f0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret