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

Disassembly:
movss dword [rsp + 0x18], xmm2
mov r11, rsp
push rbp
push rsi
push r12
push r13
push r15
lea rbp, [r11 - 0xc8]
sub rsp, 0x1a0
mov r8, qword [rcx + 0x108]
mov r13, rdx
mov rdx, qword [rcx + 0x110]
xor esi, esi
sub rdx, r8
movaps xmmword [r11 - 0x48], xmm6
movabs rax, 0x6666666666666667
mov qword [rbp - 0x80], r9
imul rdx
movaps xmm6, xmm2
mov r15, rcx
mov r12d, esi
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180074907
mov r10, qword [0x18013a638]
mov qword [r11 + 0x10], rbx
mov ebx, esi
movaps xmmword [r11 - 0x58], xmm7
movss xmm7, dword [0x1800c5614]
movaps xmmword [r11 - 0x68], xmm8
xorps xmm8, xmm8
movaps xmmword [r11 - 0x78], xmm9
movss xmm9, dword [0x1800c5488]
movaps xmmword [r11 - 0x98], xmm11
movss xmm11, dword [rbp + 0xf0]
movaps xmmword [r11 - 0xa8], xmm12
movss xmm12, dword [rbp + 0xf4]
movaps xmmword [r11 - 0xb8], xmm13
movss xmm13, dword [rbp + 0xf8]
movaps xmmword [r11 - 0xc8], xmm14
movss xmm14, dword [0x1800c5518]
movaps xmmword [r11 - 0xd8], xmm15
movss xmm15, dword [rbp + 0xfc]
mov qword [r11 - 0x30], rdi
mov qword [r11 - 0x38], r14
movaps xmmword [r11 - 0x88], xmm10
nop
cmp byte [rbx + r8], 0
je 0x180074860
mov eax, dword [r15 + 0x70]
cmp dword [rbx + r8 + 4], eax
jne 0x180074860
cmp byte [rbx + r8 + 0x44], 0
je 0x180073e17
mov dword [rbx + r8 + 0x28], esi
mov rax, qword [r15 + 0x108]
lea rdx, [rsp + 0x50]
movss xmm3, dword [0x1800c57a4]
mov rcx, r10
movss xmm2, dword [r10 + 0x14]
mov qword [rsp + 0x30], rsi
mov rax, qword [rbx + rax + 8]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm8
call fcn.18002dd60
mov rax, qword [r15 + 0x108]
cmp byte [rbx + rax + 0x44], 0
mov ecx, dword [rbx + rax + 0x30]
jne 0x180074013
test ecx, ecx
jne 0x180073ed8
movss xmm3, dword [0x1800d80b8]
movaps xmm2, xmm11
addss xmm2, dword [rbx + rax + 0x20]
movaps xmm0, xmm3
movaps xmm1, xmm3
mulss xmm0, dword [rbx + rax + 0x2c]
mulss xmm1, dword [rbx + rax + 0x28]
subss xmm2, xmm0
movaps xmm0, xmm12
addss xmm0, dword [rbx + rax + 0x24]
subss xmm2, xmm1
movss dword [rbx + rax + 0x10], xmm2
movss dword [rbx + rax + 0x14], xmm0
mov rax, qword [r15 + 0x108]
movaps xmm0, xmm15
subss xmm0, xmm12
mulss xmm3, dword [rbx + rax + 0x28]
addss xmm0, dword [rbx + rax + 0x14]
addss xmm3, dword [rbx + rax + 0x10]
movss dword [rbx + rax + 0x18], xmm3
jmp 0x180074214
cmp ecx, 2
jne 0x180073f1e
movss xmm3, dword [0x1800d80b8]
movaps xmm2, xmm13
subss xmm2, xmm11
movaps xmm0, xmm3
mulss xmm0, dword [rbx + rax + 0x2c]
movaps xmm1, xmm12
addss xmm1, dword [rbx + rax + 0x24]
addss xmm2, xmm11
addss xmm2, dword [rbx + rax + 0x20]
addss xmm2, xmm0
movss dword [rbx + rax + 0x10], xmm2
movss dword [rbx + rax + 0x14], xmm1
jmp 0x180073eab
cmp ecx, 1
jne 0x180073f98
movss xmm4, dword [0x1800d80b8]
movaps xmm2, xmm12
addss xmm2, dword [rbx + rax + 0x24]
movaps xmm0, xmm4
movaps xmm1, xmm4
mulss xmm0, dword [rbx + rax + 0x2c]
movaps xmm3, xmm11
mulss xmm1, dword [rbx + rax + 0x28]
addss xmm3, dword [rbx + rax + 0x20]
subss xmm2, xmm0
movaps xmm0, xmm13
subss xmm0, xmm11
movss dword [rbx + rax + 0x10], xmm3
subss xmm2, xmm1
movss dword [rbx + rax + 0x14], xmm2
mov rax, qword [r15 + 0x108]
mulss xmm4, dword [rbx + rax + 0x28]
addss xmm0, dword [rbx + rax + 0x10]
addss xmm4, dword [rbx + rax + 0x14]
movss dword [rbx + rax + 0x18], xmm0
movss dword [rbx + rax + 0x1c], xmm4
jmp 0x18007421a
cmp ecx, 3
jne 0x18007421a
movss xmm3, dword [0x1800d80b8]
movaps xmm1, xmm15
movaps xmm0, xmm3
subss xmm1, xmm12
mulss xmm0, dword [rbx + rax + 0x2c]
movaps xmm2, xmm11
addss xmm2, dword [rbx + rax + 0x20]
addss xmm1, xmm12
addss xmm1, dword [rbx + rax + 0x24]
movss dword [rbx + rax + 0x10], xmm2
addss xmm1, xmm0
movaps xmm0, xmm13
subss xmm0, xmm11
movss dword [rbx + rax + 0x14], xmm1
mov rax, qword [r15 + 0x108]
mulss xmm3, dword [rbx + rax + 0x28]
addss xmm0, dword [rbx + rax + 0x10]
addss xmm3, dword [rbx + rax + 0x14]
movss dword [rbx + rax + 0x18], xmm0
movss dword [rbx + rax + 0x1c], xmm3
jmp 0x18007421a
test ecx, ecx
jne 0x18007407d
movss xmm0, dword [0x1800d80b8]
movaps xmm1, xmm11
mulss xmm0, dword [rbx + rax + 0x2c]
addss xmm1, dword [rbx + rax + 0x20]
movss xmm2, dword [rsp + 0x50]
subss xmm1, xmm0
movaps xmm0, xmm12
addss xmm0, dword [rbx + rax + 0x24]
subss xmm1, xmm2
addss xmm0, dword [rbx + rax + 0x48]
movss dword [rbx + rax + 0x10], xmm1
movss dword [rbx + rax + 0x14], xmm0
mov rax, qword [r15 + 0x108]
movss xmm0, dword [rsp + 0x54]
addss xmm2, dword [rbx + rax + 0x10]
addss xmm0, dword [rbx + rax + 0x14]
movss dword [rbx + rax + 0x18], xmm2
jmp 0x180074214
cmp ecx, 2
jne 0x1800740ee
movss xmm0, dword [0x1800d80b8]
movaps xmm1, xmm12
mulss xmm0, dword [rbx + rax + 0x2c]
movaps xmm2, xmm13
addss xmm1, dword [rbx + rax + 0x24]
subss xmm2, xmm11
addss xmm1, dword [rbx + rax + 0x48]
addss xmm2, xmm11
addss xmm2, dword [rbx + rax + 0x20]
addss xmm2, xmm0
movss xmm0, dword [rsp + 0x54]
movss dword [rbx + rax + 0x10], xmm2
movss dword [rbx + rax + 0x14], xmm1
mov rax, qword [r15 + 0x108]
movss xmm1, dword [rsp + 0x50]
addss xmm1, dword [rbx + rax + 0x10]
addss xmm0, dword [rbx + rax + 0x14]
movss dword [rbx + rax + 0x18], xmm1
jmp 0x180074214
cmp ecx, 1
jne 0x18007417f
movss xmm4, dword [rsp + 0x50]
movaps xmm3, xmm13
movss xmm1, dword [0x1800d80b8]
subss xmm3, xmm11
movaps xmm0, xmm4
movaps xmm2, xmm12
addss xmm2, dword [rbx + rax + 0x24]
mulss xmm0, xmm9
mulss xmm3, xmm9
addss xmm3, xmm11
subss xmm3, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [rbx + rax + 0x2c]
mulss xmm1, dword [rbx + rax + 0x48]
addss xmm3, dword [rbx + rax + 0x20]
subss xmm2, xmm0
movss xmm0, dword [rsp + 0x54]
movss dword [rbx + rax + 0x10], xmm3
subss xmm2, xmm1
subss xmm2, xmm0
movss dword [rbx + rax + 0x14], xmm2
mov rax, qword [r15 + 0x108]
addss xmm4, dword [rbx + rax + 0x10]
addss xmm0, dword [rbx + rax + 0x14]
movss dword [rbx + rax + 0x18], xmm4
jmp 0x180074214
cmp ecx, 3
jne 0x18007421a
movss xmm5, dword [rsp + 0x50]
movaps xmm4, xmm13
movss xmm2, dword [0x1800d80b8]
subss xmm4, xmm11
movaps xmm0, xmm5
movaps xmm1, xmm2
mulss xmm1, dword [rbx + rax + 0x2c]
movaps xmm3, xmm12
addss xmm3, dword [rbx + rax + 0x24]
mulss xmm2, dword [rbx + rax + 0x48]
mulss xmm0, xmm9
mulss xmm4, xmm9
addss xmm4, xmm11
subss xmm4, xmm0
movaps xmm0, xmm15
subss xmm0, xmm12
addss xmm4, dword [rbx + rax + 0x20]
addss xmm3, xmm0
movss xmm0, dword [rsp + 0x54]
movss dword [rbx + rax + 0x10], xmm4
addss xmm3, xmm1
addss xmm3, xmm2
movss dword [rbx + rax + 0x14], xmm3
mov rax, qword [r15 + 0x108]
addss xmm5, dword [rbx + rax + 0x10]
addss xmm0, dword [rbx + rax + 0x14]
movss dword [rbx + rax + 0x18], xmm5
movss dword [rbx + rax + 0x1c], xmm0
mov rcx, qword [0x18013a110]
mov rax, qword [rcx + 0x1c50]
mov byte [rax + 0x91], 1
mov rdx, qword [r15 + 0x108]
mov rcx, qword [rcx + 0x1c50]
mov rdx, qword [rbx + rdx + 8]
call fcn.180007390
mov rcx, qword [r15 + 0x108]
lea r9, [rbp + 0xd0]
lea r8, [rsp + 0x58]
mov dword [rsp + 0x20], esi
mov edx, eax
mov edi, eax
movups xmm0, xmmword [rbx + rcx + 0x10]
lea rcx, [rsp + 0x60]
movups xmmword [rsp + 0x60], xmm0
call fcn.180031540
mov rax, qword [0x18013a110]
mov r14d, dword [rax + 0x1c9c]
cmp r14d, edi
jne 0x1800742ec
mov rax, qword [rax + 0x1e48]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.180007ac0
mov rcx, qword [0x18013a110]
mov rsi, rax
movss xmm0, dword [rbp - 0x80]
movss xmm1, dword [rbp - 0x7c]
movss xmm3, dword [rcx + 0x128]
movss xmm4, dword [rcx + 0x12c]
mov rcx, qword [r15 + 0x108]
addss xmm0, dword [rbx + rcx + 0x20]
movss dword [rbx + rcx + 0x20], xmm0
addss xmm1, dword [rbx + rcx + 0x24]
movss dword [rbx + rcx + 0x24], xmm1
jmp 0x18007438d
mov rax, qword [0x18013a110]
movss xmm3, dword [rax + 0x128]
movss xmm4, dword [rax + 0x12c]
mov rax, qword [r15 + 0x108]
movss xmm2, dword [rbx + rax + 0x20]
ucomiss xmm2, xmm8
jp 0x180074342
jne 0x180074342
movss xmm0, dword [rbx + rax + 0x24]
ucomiss xmm0, xmm8
jp 0x180074331
jne 0x180074331
mov qword [rbx + rax + 0x20], 0
jmp 0x18007438a
ucomiss xmm2, xmm8
jp 0x180074342
jne 0x180074342
movaps xmm1, xmm6
mulss xmm1, xmm7
jmp 0x18007435f
movaps xmm0, xmm8
movaps xmm1, xmm6
subss xmm0, xmm2
mulss xmm1, xmm7
mulss xmm0, xmm1
addss xmm0, xmm2
movss dword [rbx + rax + 0x20], xmm0
mov rax, qword [r15 + 0x108]
movss xmm2, dword [rbx + rax + 0x24]
ucomiss xmm2, xmm8
jp 0x180074374
je 0x18007438a
movaps xmm0, xmm8
subss xmm0, xmm2
mulss xmm0, xmm1
addss xmm0, xmm2
movss dword [rbx + rax + 0x24], xmm0
mov rsi, r13
mov rax, qword [0x18013a110]
mov rcx, qword [rax + 0x1c50]
movss xmm1, dword [rcx + 0x10]
movss xmm0, dword [rcx + 0x14]
cmp r14d, edi
jne 0x1800743cd
comiss xmm1, xmm3
ja 0x1800743c8
comiss xmm0, xmm4
ja 0x1800743c8
addss xmm1, dword [rcx + 0x18]
comiss xmm3, xmm1
ja 0x1800743c8
addss xmm0, dword [rcx + 0x1c]
comiss xmm4, xmm0
jbe 0x1800743cd
call fcn.1800077b0
mov rax, qword [r15 + 0x108]
lea r9, [r15 + 0x10]
movss xmm6, dword [0x18013a1b0]
cmp byte [rbx + rax + 0x44], 0
movss xmm0, dword [rbx + rax + 0x34]
movss xmm1, dword [rbx + rax + 0x38]
movss dword [rbp - 0x68], xmm0
movss xmm0, dword [rbx + rax + 0x3c]
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x64], xmm1
movss xmm1, dword [r9]
movaps xmm0, xmm1
mulss xmm1, xmm6
mulss xmm0, dword [rbx + rax + 0x40]
mulss xmm0, xmm6
movss dword [rbp - 0x5c], xmm0
jne 0x1800744df
movss xmm0, dword [rsp + 0x68]
lea rcx, [rbp - 0x58]
movss dword [rbp - 0x4c], xmm1
addss xmm0, xmm14
movss xmm1, dword [rsp + 0x6c]
addss xmm1, xmm14
mov dword [rbp - 0x58], 0x3e4ccccd
mov dword [rbp - 0x54], 0x3e4ccccd
mov dword [rbp - 0x50], 0x3e4ccccd
movss dword [rbp - 0x78], xmm0
movss xmm0, dword [rsp + 0x60]
movss dword [rbp - 0x74], xmm1
subss xmm0, xmm14
movss xmm1, dword [rsp + 0x64]
subss xmm1, xmm14
movss dword [rbp - 0x70], xmm0
movss dword [rbp - 0x6c], xmm1
call fcn.180005420
xor edi, edi
lea r8, [rbp - 0x78]
mov dword [rsp + 0x28], edi
lea rdx, [rbp - 0x70]
mov r9d, eax
movss dword [rsp + 0x20], xmm8
mov rcx, rsi
call fcn.180026bf0
lea rcx, [rbp - 0x68]
call fcn.180005420
mov r9d, eax
mov dword [rsp + 0x28], edi
lea rdx, [rsp + 0x60]
movss dword [rsp + 0x20], xmm8
lea r8, [rsp + 0x68]
mov rcx, rsi
call fcn.180026bf0
mov r10, qword [0x18013a638]
jmp 0x180074856
mov r8, qword [rbx + rax + 8]
lea rcx, [rbp - 0x48]
movss dword [rbp - 0x3c], xmm1
mov dword [rbp - 0x48], 0x3e4ccccd
mov dword [rbp - 0x44], 0x3e4ccccd
mov dword [rbp - 0x40], 0x3e4ccccd
call fcn.180005420
mov r10, qword [0x18013a638]
mov r11d, eax
movss xmm10, dword [rsp + 0x60]
movss xmm9, dword [rsp + 0x64]
movaps xmm7, xmm10
addss xmm7, xmm14
movaps xmm1, xmm9
movss xmm2, dword [r10 + 0x14]
addss xmm1, xmm14
test eax, 0xff000000
je 0x1800745da
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180074550
add rcx, r8
cmp r8, rcx
je 0x1800745da
test r10, r10
jne 0x18007456f
mov rax, qword [rsi + 0x38]
mov r10, qword [rax + 8]
ucomiss xmm2, xmm8
jp 0x180074580
jne 0x180074580
mov rax, qword [rsi + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rsi + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [rsp + 0x70]
movss dword [rsp + 0x40], xmm8
mov rdx, rsi
mov qword [rsp + 0x38], rcx
mov rcx, r10
movups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x30], r8
movaps xmm0, xmm7
mov qword [rsp + 0x28], rax
unpcklps xmm0, xmm1
movq r9, xmm0
mov dword [rsp + 0x20], r11d
call fcn.18002df80
mov r10, qword [0x18013a638]
lea r9, [r15 + 0x10]
movss xmm6, dword [0x18013a1b0]
mov rax, qword [r15 + 0x108]
lea rcx, [rbp - 0x38]
movaps xmm0, xmm6
mov dword [rbp - 0x38], 0x3e4ccccd
mulss xmm0, dword [r9]
mov dword [rbp - 0x34], 0x3e4ccccd
mov r8, qword [rbx + rax + 8]
mov dword [rbp - 0x30], 0x3e4ccccd
movss dword [rbp - 0x2c], xmm0
call fcn.180005420
movss xmm2, dword [r10 + 0x14]
mov r11d, eax
mov rdi, r9
test eax, 0xff000000
je 0x1800746bb
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180074630
add rcx, r8
cmp r8, rcx
je 0x1800746bb
test r10, r10
jne 0x180074653
mov rax, qword [rsi + 0x38]
lea rdi, [r15 + 0x10]
mov r10, qword [rax + 8]
ucomiss xmm2, xmm8
jp 0x180074664
jne 0x180074664
mov rax, qword [rsi + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rsi + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [rsp + 0x70]
movss dword [rsp + 0x40], xmm8
mov rdx, rsi
mov qword [rsp + 0x38], rcx
mov rcx, r10
movups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x30], r8
movaps xmm0, xmm7
mov qword [rsp + 0x28], rax
unpcklps xmm0, xmm9
movq r9, xmm0
mov dword [rsp + 0x20], r11d
call fcn.18002df80
mov r10, qword [0x18013a638]
movss xmm6, dword [0x18013a1b0]
mov rax, qword [r15 + 0x108]
lea rcx, [rbp - 0x28]
mulss xmm6, dword [rdi]
mov dword [rbp - 0x28], 0x3e4ccccd
mov dword [rbp - 0x24], 0x3e4ccccd
mov r8, qword [rbx + rax + 8]
movss dword [rbp - 0x1c], xmm6
mov dword [rbp - 0x20], 0x3e4ccccd
call fcn.180005420
movss xmm2, dword [r10 + 0x14]
movaps xmm1, xmm9
addss xmm1, xmm14
mov r9d, eax
test eax, 0xff000000
je 0x180074791
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180074712
add rcx, r8
cmp r8, rcx
je 0x180074791
test r10, r10
jne 0x180074731
mov rax, qword [rsi + 0x38]
mov r10, qword [rax + 8]
ucomiss xmm2, xmm8
jp 0x180074742
jne 0x180074742
mov rax, qword [rsi + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rsi + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [rsp + 0x70]
movss dword [rsp + 0x40], xmm8
mov rdx, rsi
mov qword [rsp + 0x38], rcx
mov rcx, r10
movups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x30], r8
movaps xmm0, xmm10
mov qword [rsp + 0x28], rax
unpcklps xmm0, xmm1
mov dword [rsp + 0x20], r9d
movq r9, xmm0
call fcn.18002df80
mov r10, qword [0x18013a638]
mov rax, qword [r15 + 0x108]
lea rcx, [rbp - 0x68]
mov r8, qword [rbx + rax + 8]
call fcn.180005420
movss xmm2, dword [r10 + 0x14]
mov ecx, eax
test eax, 0xff000000
je 0x180074845
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x1800747c0
add rdx, r8
cmp r8, rdx
je 0x180074845
test r10, r10
jne 0x1800747df
mov rax, qword [rsi + 0x38]
mov r10, qword [rax + 8]
ucomiss xmm2, xmm8
jp 0x1800747f0
jne 0x1800747f0
mov rax, qword [rsi + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rsi + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [rsp + 0x70]
movss dword [rsp + 0x40], xmm8
mov qword [rsp + 0x38], rdx
mov rdx, rsi
movups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x30], r8
movaps xmm0, xmm10
mov qword [rsp + 0x28], rax
unpcklps xmm0, xmm9
mov dword [rsp + 0x20], ecx
movq r9, xmm0
mov rcx, r10
movsd qword [rsp + 0x60], xmm0
call fcn.18002df80
mov r10, qword [0x18013a638]
movss xmm7, dword [0x1800c5614]
movss xmm9, dword [0x1800c5488]
movss xmm6, dword [rbp + 0xe0]
xor esi, esi
mov r8, qword [r15 + 0x108]
inc r12d
mov rcx, qword [r15 + 0x110]
movabs rax, 0x6666666666666667
sub rcx, r8
add rbx, 0x50
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r12d
cmp rax, rdx
jb 0x180073df0
movaps xmm15, xmmword [rsp + 0xf0]
movaps xmm14, xmmword [rsp + 0x100]
movaps xmm13, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm11, xmmword [rsp + 0x130]
movaps xmm10, xmmword [rsp + 0x140]
movaps xmm9, xmmword [rsp + 0x150]
movaps xmm8, xmmword [rsp + 0x160]
movaps xmm7, xmmword [rsp + 0x170]
mov r14, qword [rsp + 0x190]
mov rdi, qword [rsp + 0x198]
mov rbx, qword [rsp + 0x1d8]
movaps xmm6, xmmword [rsp + 0x180]
add rsp, 0x1a0
pop r15
pop r13
pop r12
pop rsi
pop rbp
ret