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

Disassembly:
push rbx
push rdi
push r12
push r13
sub rsp, 0xc8
mov rdx, qword [0x180044d20]
movaps xmmword [rsp + 0x80], xmm7
mov r13, rdx
movaps xmmword [rsp + 0x60], xmm9
mov rax, qword [rdx + 0x1ae0]
mov byte [rax + 0x88], 1
mov rdi, qword [rdx + 0x1ae0]
mov rbx, qword [rdi + 0x1a8]
mov byte [rdi + 0x88], 1
mov r8, qword [rdx + 0x1ae0]
movsxd rcx, dword [r8 + 0x1d0]
lea eax, [rcx - 1]
mov dword [r8 + 0x1d0], eax
test eax, eax
jne 0x1800276f0
movss xmm0, dword [r8 + 0x280]
jmp 0x1800276fd
mov rax, qword [r8 + 0x1d8]
movss xmm0, dword [rax + rcx*4 - 8]
movss dword [r8 + 0x1c8], xmm0
cmp dword [rbx + 0x10], 1
jle 0x180027728
call fcn.180008040
mov rdx, qword [rdi + 0x2b0]
lea rcx, [rbx + 0x70]
call fcn.18001fa20
mov rdx, qword [0x180044d20]
movss xmm7, dword [rbx + 0x20]
maxss xmm7, dword [rdi + 0xdc]
mov r12d, dword [rbx + 4]
movss dword [rbx + 0x20], xmm7
movss dword [rdi + 0xdc], xmm7
test r12b, 0x10
jne 0x180027755
mov eax, dword [rbx + 0x28]
mov dword [rdi + 0xf0], eax
xor al, al
xorps xmm9, xmm9
test r12b, 1
jne 0x180027b28
cmp byte [rdi + 0x8b], al
jne 0x180027b28
minss xmm7, dword [rdi + 0x25c]
mov qword [rsp + 0xc0], rbp
mov ebp, 0xffffffff
mov qword [rsp + 0xb8], rsi
mov esi, 1
movaps xmmword [rsp + 0x70], xmm8
movss xmm8, dword [rbx + 0x24]
maxss xmm8, dword [rdi + 0x254]
cmp dword [rbx + 0x10], esi
jle 0x180027b12
mov qword [rsp + 0xb0], r14
lea r14d, [rbp + 0x1d]
mov qword [rsp + 0xa8], r15
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x50], xmm10
movss xmm10, dword [0x18003b800]
movaps xmmword [rsp + 0x40], xmm11
movss xmm11, dword [0x18003b7c8]
nop dword [rax + rax]
mov rax, qword [rdx + 0x1ae0]
mov ecx, esi
mov r15, qword [rbx + 0x68]
mov r8, qword [rax + 0x1a8]
test r8, r8
jne 0x18002780f
movaps xmm6, xmm9
jmp 0x180027839
test esi, esi
jns 0x180027817
mov ecx, dword [r8 + 0xc]
movss xmm6, dword [r8 + 0x18]
subss xmm6, dword [r8 + 0x14]
movsxd rax, ecx
imul rcx, rax, 0x1c
mov rax, qword [r8 + 0x68]
mulss xmm6, dword [rcx + rax]
addss xmm6, dword [r8 + 0x14]
addss xmm6, dword [rdi + 0x10]
mov ecx, dword [rbx]
add ecx, esi
movss dword [rsp + 0x34], xmm8
movss dword [rsp + 0x3c], xmm7
movaps xmm1, xmm6
movaps xmm2, xmm6
addss xmm1, xmm10
subss xmm2, xmm10
movss dword [rsp + 0x38], xmm1
movss dword [rsp + 0x30], xmm2
cmp dword [rdx + 0x1b30], ecx
jne 0x180027879
mov dword [rdx + 0x1b34], ecx
cmp dword [rdx + 0x1b70], ecx
jne 0x180027888
mov byte [rdx + 0x1b74], 1
mov rax, qword [rdx + 0x1ae0]
comiss xmm7, dword [rax + 0x254]
jbe 0x1800278bc
movss xmm0, dword [rax + 0x25c]
comiss xmm0, xmm8
jbe 0x1800278bc
comiss xmm1, dword [rax + 0x250]
jbe 0x1800278bc
movss xmm0, dword [rax + 0x258]
comiss xmm0, xmm2
ja 0x1800278dd
test ecx, ecx
je 0x1800278d0
cmp ecx, dword [rdx + 0x1b30]
je 0x1800278dd
cmp ecx, dword [rdx + 0x1c98]
je 0x1800278dd
cmp byte [rdx + 0x3128], 0
je 0x1800279c6
xor al, al
mov byte [rsp + 0xf8], al
mov byte [rsp + 0xf0], al
test r12b, 2
jne 0x18002794e
mov edx, ecx
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0x30]
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0xf8]
call fcn.180028490
movzx eax, byte [rsp + 0xf8]
movzx ecx, byte [rsp + 0xf0]
test al, al
jne 0x18002792f
test cl, cl
je 0x18002794e
mov dword [r13 + 0x1ff0], 4
test cl, cl
je 0x18002794e
test byte [r14 + r15 + 8], 2
mov ecx, 0x1d
cmove ebp, esi
jmp 0x180027958
xor ecx, ecx
test al, al
setne cl
add ecx, 0x1b
cvttss2si eax, xmm6
movaps xmm1, xmm11
movss dword [rsp + 0x104], xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x100], xmm0
movss dword [rsp + 0x108], xmm0
movaps xmm0, xmm8
addss xmm0, xmm11
movss dword [rsp + 0x10c], xmm0
call fcn.180002eb0
mov rcx, qword [rdi + 0x2b0]
lea rdx, [rsp + 0x108]
mov r9d, eax
movss dword [rsp + 0x20], xmm11
lea r8, [rsp + 0x100]
call fcn.18001f2f0
mov rdx, qword [0x180044d20]
mov eax, dword [rbx + 0x10]
inc esi
add r14, 0x1c
cmp esi, eax
jl 0x1800277f0
movaps xmm11, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x90]
mov r15, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xb0]
cmp ebp, 0xffffffff
je 0x180027b0a
cmp byte [rbx + 9], 0
jne 0x180027a2f
xor r9d, r9d
inc eax
test eax, eax
jle 0x180027a2f
xor r8d, r8d
mov rcx, qword [rbx + 0x68]
lea r8, [r8 + 0x1c]
inc r9d
mov eax, dword [r8 + rcx - 0x1c]
mov dword [r8 + rcx - 0x18], eax
mov eax, dword [rbx + 0x10]
inc eax
cmp r9d, eax
jl 0x180027a10
mov byte [rbx + 9], 1
lea ecx, [rbp - 1]
mov rax, qword [rdx + 0x1ae0]
movss xmm3, dword [rdx + 0x128]
subss xmm3, dword [rdx + 0x1b58]
mov byte [rsp + 0xf0], 1
mov r8, qword [rax + 0x1a8]
addss xmm3, xmm10
subss xmm3, dword [rax + 0x10]
test r8, r8
jne 0x180027a71
movaps xmm1, xmm9
jmp 0x180027a9b
test ecx, ecx
jns 0x180027a79
mov ecx, dword [r8 + 0xc]
movss xmm1, dword [r8 + 0x18]
subss xmm1, dword [r8 + 0x14]
movsxd rax, ecx
imul rcx, rax, 0x1c
mov rax, qword [r8 + 0x68]
mulss xmm1, dword [rcx + rax]
addss xmm1, dword [r8 + 0x14]
test byte [rbx + 4], 4
movss xmm4, dword [rdx + 0x15cc]
movaps xmm2, xmm4
addss xmm2, xmm1
maxss xmm2, xmm3
je 0x180027af6
lea eax, [rbp + 1]
test r8, r8
jne 0x180027ac2
movaps xmm1, xmm9
jmp 0x180027aeb
test eax, eax
jns 0x180027aca
mov eax, dword [r8 + 0xc]
movss xmm1, dword [r8 + 0x18]
subss xmm1, dword [r8 + 0x14]
cdqe
imul rdx, rax, 0x1c
mov rax, qword [r8 + 0x68]
mulss xmm1, dword [rdx + rax]
addss xmm1, dword [r8 + 0x14]
subss xmm1, xmm4
minss xmm1, xmm2
movaps xmm2, xmm1
movaps xmm1, xmm2
mov ecx, ebp
call fcn.180027550
movzx eax, byte [rsp + 0xf0]
jmp 0x180027b0c
xor al, al
movaps xmm10, xmmword [rsp + 0x50]
mov rsi, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
mov byte [rbx + 9], al
xor eax, eax
movups xmm0, xmmword [rdi + 0x240]
movups xmmword [rdi + 0x230], xmm0
movups xmm0, xmmword [rbx + 0x4c]
mov qword [rdi + 0x1a8], rax
mov dword [rdi + 0x114], eax
movups xmmword [rdi + 0x240], xmm0
movss xmm0, dword [rdi + 0x110]
addss xmm0, dword [rdi + 0x10]
addss xmm0, xmm9
movaps xmm9, xmmword [rsp + 0x60]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0xd8], xmm0
add rsp, 0xc8
pop r13
pop r12
pop rdi
pop rbx
ret