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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x38
push esi
push edi
mov edi, dword [0x688710]
mov dword [ebp - 4], edi
mov edx, dword [edi + 0x1dfc]
sub edx, 1
js 0x44ee5b
mov eax, dword [edi + 0x1e04]
lea ecx, [edx + edx*8]
lea eax, [eax + ecx*4]
add eax, 4
nop
mov esi, dword [eax]
test esi, esi
je 0x44ee53
test dword [esi + 8], 0x8000000
jne 0x44eeea
sub eax, 0x24
sub edx, 1
jns 0x44ee40
mov eax, dword [edi + 0x1fb0]
xor esi, esi
mov dword [ebp - 0xc], eax
test eax, eax
je 0x44f3aa
xor edx, edx
mov dword [ebp - 8], edx
cmp dword [edi + 0x1e14], edx
jle 0x44f072
nop
mov eax, dword [edi + 0x1e1c]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0x10], edx
test esi, esi
je 0x44ee99
cmp edx, dword [esi + 0x2c]
je 0x44f05f
mov eax, dword [edi + 0x1fb4]
test eax, eax
je 0x44eeac
cmp edx, dword [eax + 0x2c]
je 0x44f05f
mov eax, dword [edi + 0x1fb0]
test eax, eax
je 0x44eebf
cmp edx, dword [eax + 0x2c]
je 0x44f05f
mov edi, dword [edx + 0x6c]
test edi, edi
je 0x44ef27
test esi, esi
je 0x44ef27
mov ecx, dword [edi + 8]
mov eax, dword [esi + 8]
shr ecx, 0x19
shr eax, 0x19
and ecx, 1
and eax, 1
sub ecx, eax
je 0x44eef8
test ecx, ecx
jg 0x44f05c
jmp 0x44ef27
mov eax, dword [edi + 0x1fb0]
mov dword [ebp - 0xc], eax
jmp 0x44ee6e
mov eax, dword [0x688710]
mov ecx, dword [eax + 0x1c04]
sub ecx, 1
js 0x44ef27
mov eax, dword [eax + 0x1c0c]
lea eax, [eax + ecx*4]
mov edx, dword [eax]
cmp edx, edi
je 0x44f05c
cmp edx, esi
je 0x44ef27
sub eax, 4
sub ecx, 1
jns 0x44ef11
mov edi, dword [ebp - 0x10]
mov edx, 1
push str.Foreground
mov ecx, edi
call fcn.0044b980
mov edx, dword [0x688710]
add esp, 4
movss xmm5, dword [0x672dc8]
test esi, esi
mov dword [ebp - 0x10], eax
mov ecx, 0x418
mov eax, 0x428
xorps xmm1, xmm1
cmovne ecx, eax
mov eax, dword [ebp - 4]
movups xmm3, xmmword [ecx + edx + 0x15a0]
movss xmm2, dword [eax + 0x1fc4]
comiss xmm1, xmm3
mulss xmm2, dword [edx + 0x15a0]
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xff
movaps xmmword [ebp - 0x20], xmm3
mulss xmm2, xmm0
jbe 0x44ef95
xorps xmm0, xmm0
jmp 0x44ef9c
movaps xmm0, xmm5
minss xmm0, xmm3
movss xmm6, dword [0x672eb0]
movss xmm4, dword [0x672d84]
movss xmm3, dword [ebp - 0x1c]
comiss xmm1, xmm3
mulss xmm0, xmm6
addss xmm0, xmm4
cvttss2si edx, xmm0
jbe 0x44efc7
xorps xmm0, xmm0
jmp 0x44efce
movaps xmm0, xmm5
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x18]
mulss xmm0, xmm6
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or edx, eax
comiss xmm1, xmm3
jbe 0x44efee
xorps xmm0, xmm0
jmp 0x44eff5
movaps xmm0, xmm5
minss xmm0, xmm3
mulss xmm0, xmm6
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or edx, eax
comiss xmm1, xmm2
ja 0x44f012
movaps xmm1, xmm5
minss xmm1, xmm2
movss xmm0, dword [edi + 8]
lea ecx, [edi + 8]
addss xmm0, dword [edi + 0x10]
mulss xmm1, xmm6
push 0
push ecx
mov dword [esp], 0
addss xmm1, xmm4
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ecx + 4]
addss xmm0, dword [edi + 0x14]
cvttss2si eax, xmm1
movss dword [ebp - 0x24], xmm0
shl eax, 0x18
or eax, edx
push eax
lea eax, [ebp - 0x28]
push eax
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.00472280
mov edi, dword [ebp - 4]
mov edx, dword [ebp - 8]
inc edx
mov dword [ebp - 8], edx
cmp edx, dword [edi + 0x1e14]
jl 0x44ee80
cmp dword [ebp - 0xc], 0
je 0x44f3aa
mov esi, dword [edi + 0x1fb0]
mov dword [ebp - 0xc], esi
cmp byte [esi + 0xbf], 0
je 0x44f3aa
mov esi, dword [esi + 0x318]
mov edx, dword [esi + 0x18c]
sub edx, 1
js 0x44f0de
mov eax, dword [esi + 0x194]
lea eax, [eax + edx*4]
nop dword [eax]
mov ecx, dword [eax]
cmp byte [ecx + 0xbf], 0
je 0x44f0c4
cmp byte [ecx + 0xc6], 0
je 0x44f0ce
sub eax, 4
sub edx, 1
jns 0x44f0b0
jmp 0x44f0de
mov ecx, dword [esi + 0x194]
mov ecx, dword [ecx + edx*4]
call fcn.0044edd0
mov esi, eax
mov esi, dword [esi + 0x278]
mov edx, dword [esi + 0x3c]
lea ecx, [esi + 0x3c]
mov eax, dword [esi + 0x2c]
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [eax + 0x1c]
movss dword [ebp - 0x30], xmm0
maxss xmm0, dword [eax + 0x20]
movss dword [ebp - 0x2c], xmm1
maxss xmm1, dword [eax + 0x24]
mov eax, dword [ecx + 4]
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x24], xmm1
cmp edx, eax
jne 0x44f144
inc edx
mov dword [ebp - 0x10], edx
test eax, eax
je 0x44f131
cdq
sub eax, edx
mov edx, dword [ebp - 0x10]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x44f136
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.00467bb0
lea ecx, [esi + 0x3c]
mov eax, dword [ecx]
movaps xmm0, xmmword [ebp - 0x30]
shl eax, 4
add eax, dword [ecx + 8]
movups xmmword [eax], xmm0
inc dword [ecx]
mov ecx, esi
movups xmmword [esi + 0x60], xmm0
call fcn.0046feb0
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x310]
test byte [eax + 0x359], 1
je 0x44f215
mov edx, dword [ecx + 0x318]
cmp edx, eax
je 0x44f215
movss xmm0, dword [eax + 0x44]
sub esp, 0x10
movss xmm1, dword [eax + 0x40]
mov ecx, 0x35
movss dword [ebp - 0x2c], xmm0
addss xmm0, dword [eax + 0x4c]
movss dword [ebp - 0x30], xmm1
addss xmm1, dword [eax + 0x48]
mov eax, esp
sub esp, 0x10
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [edx + 0x44]
movss dword [ebp - 0x1c], xmm0
addss xmm0, dword [edx + 0x4c]
movss dword [ebp - 0x28], xmm1
movss xmm1, dword [edx + 0x40]
movss dword [ebp - 0x20], xmm1
addss xmm1, dword [edx + 0x48]
movss dword [ebp - 0x14], xmm0
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [eax], xmm0
mov eax, esp
movss dword [ebp - 0x18], xmm1
movups xmm0, xmmword [ebp - 0x20]
movss xmm1, dword [edi + 0x1fc4]
movups xmmword [eax], xmm0
call fcn.00449850
movss xmm2, dword [edi + 0x15b0]
mov edx, eax
mov ecx, esi
call fcn.004777e0
mov ecx, dword [ebp - 0xc]
add esp, 0x20
movss xmm3, dword [ecx + 0x40]
movss xmm0, dword [ecx + 0x78]
movaps xmm4, xmm3
maxss xmm0, dword [edi + 0x15b0]
movss xmm2, dword [edi + 0x19e4]
addss xmm3, dword [ecx + 0x48]
mov eax, dword [ecx + 0x2c]
subss xmm4, xmm2
movss xmm7, dword [ecx + 0x44]
movaps xmm1, xmm7
movss dword [ebp - 8], xmm0
addss xmm7, dword [ecx + 0x4c]
movss xmm0, dword [eax + 8]
subss xmm1, xmm2
comiss xmm0, xmm4
movss xmm6, dword [eax + 0xc]
addss xmm3, xmm2
addss xmm6, dword [eax + 0x14]
movaps xmm5, xmm0
movss dword [ebp - 0xc], xmm4
addss xmm5, dword [eax + 0x10]
movss dword [ebp - 0x10], xmm1
addss xmm7, xmm2
movss dword [ebp - 4], xmm3
jb 0x44f2d6
movss xmm0, dword [eax + 0xc]
comiss xmm0, xmm1
jb 0x44f2d6
comiss xmm3, xmm5
jb 0x44f2d6
comiss xmm7, xmm6
jb 0x44f2d6
xorps xmm2, xmmword [0x673400]
subss xmm2, dword [0x672dc8]
movaps xmm0, xmm2
subss xmm4, xmm2
addss xmm0, xmm3
subss xmm1, xmm2
addss xmm7, xmm2
movss dword [ebp - 0xc], xmm4
movss dword [ebp - 4], xmm0
movss xmm0, dword [ecx + 0x78]
movss dword [ebp - 0x10], xmm1
movss dword [ebp - 8], xmm0
movss xmm1, dword [edi + 0x1fbc]
mov ecx, 0x34
call fcn.00449850
mov edi, eax
test edi, 0xff000000
je 0x44f37e
test byte [esi + 0x24], 1
lea eax, [ebp - 0x28]
movss xmm0, dword [0x672d84]
mov ecx, esi
movss xmm4, dword [ebp - 0xc]
movss xmm1, dword [ebp - 0x10]
addss xmm4, xmm0
movss xmm2, dword [ebp - 4]
addss xmm1, xmm0
movss xmm3, dword [ebp - 8]
push 0
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x18], xmm4
movss dword [ebp - 0x14], xmm1
push eax
je 0x44f340
subss xmm2, xmm0
subss xmm7, xmm0
jmp 0x44f350
subss xmm2, dword [0x672d80]
subss xmm7, dword [0x672d80]
movss dword [ebp - 0x28], xmm2
movss dword [ebp - 0x24], xmm7
call fcn.00471be0
push ecx
mov dword [esp], 0x40400000
mov ecx, esi
push 1
push edi
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.004702b0
mov dword [esi + 0x54], 0
mov ecx, dword [esi + 0x3c]
sub ecx, 1
mov dword [esi + 0x3c], ecx
jne 0x44f391
mov eax, dword [esi + 0x2c]
add eax, 0x18
jmp 0x44f39c
mov eax, dword [esi + 0x44]
shl ecx, 4
add eax, 0xfffffff0
add eax, ecx
movups xmm0, xmmword [eax]
mov ecx, esi
movups xmmword [esi + 0x60], xmm0
call fcn.0046feb0
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret