Function at 0x45eda0
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, 0x68
push esi
mov esi, dword [0x625898]
push edi
mov dword [ebp - 0x24], esi
mov eax, dword [esi + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [esi + 0x199c]
mov dword [ebp - 0xc], eax
mov edi, dword [eax + 0x1b8]
mov byte [eax + 0x78], 1
mov ecx, dword [esi + 0x199c]
mov edx, dword [ecx + 0x17c]
sub edx, 1
mov dword [ecx + 0x17c], edx
jne 0x45ee02
movss xmm0, dword [ecx + 0x21c]
jmp 0x45ee0e
mov eax, dword [ecx + 0x184]
movss xmm0, dword [eax + edx*4 - 4]
movss dword [ecx + 0x168], xmm0
mov eax, dword [esi + 0x199c]
mov byte [eax + 0x78], 1
mov esi, dword [esi + 0x199c]
mov ecx, dword [esi + 0x270]
dec dword [ecx + 0x3c]
call fcn.004684f0
mov eax, dword [esi + 0x270]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
mov dword [esi + 0x1c8], eax
movss dword [esi + 0x1cc], xmm0
movss dword [esi + 0x1d0], xmm1
movss dword [esi + 0x1d4], xmm2
mov esi, dword [ebp - 0xc]
mov ecx, dword [esi + 0x270]
call fcn.00468940
movss xmm4, dword [edi + 0x20]
maxss xmm4, dword [esi + 0xc8]
movss dword [edi + 0x20], xmm4
movss dword [esi + 0xc8], xmm4
test byte [edi + 4], 0x10
movss dword [ebp - 0x1c], xmm4
jne 0x45eeb2
mov eax, dword [edi + 0x28]
mov dword [esi + 0xdc], eax
xor al, al
test byte [edi + 4], 1
mov byte [ebp - 1], al
jne 0x45f289
cmp byte [esi + 0x7b], al
jne 0x45f289
movss xmm3, dword [edi + 0x24]
mov ecx, 1
movss dword [ebp - 0x18], xmm3
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x10], ecx
cmp dword [edi + 0x10], ecx
jle 0x45f289
movss xmm5, dword [0x615128]
mov esi, dword [0x625898]
mov dword [ebp - 0x14], 0x1c
mov eax, dword [esi + 0x199c]
mov dword [ebp - 0x20], ecx
mov edx, dword [eax + 0x1b8]
test ecx, ecx
jns 0x45ef19
mov eax, dword [edx + 0xc]
jmp 0x45ef1c
mov eax, dword [ebp - 0x20]
movss xmm2, dword [edx + 0x18]
lea ecx, [eax*8]
subss xmm2, dword [edx + 0x14]
sub ecx, eax
movss dword [ebp - 0x40], xmm3
mov eax, dword [edx + 0x34]
movss dword [ebp - 0x38], xmm4
mulss xmm2, dword [eax + ecx*4]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
addss xmm2, dword [edx + 0x14]
mov edx, dword [edi]
add edx, ecx
addss xmm2, dword [eax + 0xc]
movaps xmm1, xmm2
movss dword [ebp - 0x20], xmm2
addss xmm1, xmm5
subss xmm2, xmm5
movss dword [ebp - 0x3c], xmm1
movss dword [ebp - 0x44], xmm2
cmp dword [esi + 0x19bc], edx
jne 0x45ef7d
mov dword [esi + 0x19c4], edx
cmp dword [esi + 0x19c0], edx
jne 0x45ef8c
mov byte [esi + 0x19cf], 1
mov eax, dword [esi + 0x199c]
comiss xmm4, dword [eax + 0x1cc]
jbe 0x45efbe
movss xmm0, dword [eax + 0x1d4]
comiss xmm0, xmm3
jbe 0x45efbe
comiss xmm1, dword [eax + 0x1c8]
jbe 0x45efbe
movss xmm0, dword [eax + 0x1d0]
comiss xmm0, xmm2
ja 0x45efd7
test edx, edx
je 0x45efca
cmp edx, dword [esi + 0x19bc]
je 0x45efd7
cmp byte [esi + 0x2c54], 0
je 0x45f17f
xor cl, cl
test byte [edi + 4], 2
mov byte [ebp - 2], cl
mov byte [ebp - 3], cl
jne 0x45f035
push 0
lea eax, [ebp - 3]
push eax
lea eax, [ebp - 2]
push eax
lea ecx, [ebp - 0x44]
call fcn.0046f420
mov cl, byte [ebp - 2]
add esp, 0xc
mov al, byte [ebp - 3]
test cl, cl
jne 0x45f008
test al, al
je 0x45f035
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x1c58], 4
test al, al
je 0x45f035
mov eax, dword [edi + 0x34]
mov ecx, dword [ebp - 0x14]
test byte [eax + ecx + 8], 2
mov eax, dword [ebp - 8]
cmove eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov eax, 0x1d
jmp 0x45f03f
xor eax, eax
test cl, cl
setne al
add eax, 0x1b
movss xmm4, dword [0x6150c8]
add eax, 0xa
add eax, eax
xorps xmm1, xmm1
movups xmm2, xmmword [esi + eax*8 + 0x1518]
comiss xmm1, xmm2
movaps xmm3, xmm2
movaps xmmword [ebp - 0x60], xmm2
shufps xmm3, xmm2, 0xff
mulss xmm3, dword [esi + 0x1518]
jbe 0x45f074
xorps xmm0, xmm0
jmp 0x45f07b
movaps xmm0, xmm4
minss xmm0, xmm2
movss xmm5, dword [0x615184]
movss xmm6, dword [0x61508c]
movss xmm2, dword [ebp - 0x5c]
comiss xmm1, xmm2
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x45f0a6
xorps xmm0, xmm0
jmp 0x45f0ad
movaps xmm0, xmm4
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x58]
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm1, xmm2
jbe 0x45f0cd
xorps xmm0, xmm0
jmp 0x45f0d4
movaps xmm0, xmm4
minss xmm0, xmm2
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm1, xmm3
jbe 0x45f0ef
xorps xmm2, xmm2
jmp 0x45f0f6
movaps xmm2, xmm4
minss xmm2, xmm3
cvttss2si eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
push ecx
mov dword [esp], 0x3f800000
movss xmm0, dword [ebp - 0x1c]
minss xmm0, dword [edx + 0x1d4]
mulss xmm2, xmm5
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm2, xmm6
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x18]
addss xmm0, xmm4
movss dword [ebp - 0x2c], xmm1
movss dword [ebp - 0x34], xmm1
cvttss2si eax, xmm2
maxss xmm0, dword [edx + 0x1cc]
shl eax, 0x18
or eax, ecx
mov ecx, dword [edx + 0x270]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
movss dword [ebp - 0x30], xmm0
push eax
call fcn.0046a2f0
mov esi, dword [0x625898]
movss xmm3, dword [ebp - 0x18]
movss xmm4, dword [ebp - 0x1c]
movss xmm5, dword [0x615128]
mov ecx, dword [ebp - 0x10]
add dword [ebp - 0x14], 0x1c
inc ecx
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x10], ecx
cmp ecx, eax
jl 0x45ef01
cmp dword [ebp - 8], 0xffffffff
je 0x45f283
cmp byte [edi + 9], 0
jne 0x45f1cd
inc eax
test eax, eax
jle 0x45f1cd
xor edx, edx
xor esi, esi
nop dword [eax + eax]
mov ecx, dword [edi + 0x34]
lea edx, [edx + 0x1c]
inc esi
mov eax, dword [edx + ecx - 0x1c]
mov dword [edx + ecx - 0x18], eax
mov eax, dword [edi + 0x10]
inc eax
cmp esi, eax
jl 0x45f1b0
mov esi, dword [0x625898]
mov ecx, dword [ebp - 8]
sub ecx, 1
mov byte [edi + 9], 1
movss xmm1, dword [esi + 0xe4]
subss xmm1, dword [esi + 0x19d8]
mov eax, dword [esi + 0x199c]
mov byte [ebp - 1], 1
addss xmm1, xmm5
subss xmm1, dword [eax + 0xc]
mov eax, dword [eax + 0x1b8]
lea edx, [eax + 0xc]
jns 0x45f207
mov ecx, dword [edx]
mov esi, dword [eax + 0x34]
movss xmm3, dword [eax + 0x14]
movss xmm0, dword [eax + 0x18]
lea eax, [ecx*8]
mov dword [ebp - 0x24], esi
subss xmm0, xmm3
mov esi, dword [0x625898]
sub eax, ecx
movss xmm4, dword [esi + 0x1578]
movaps xmm2, xmm0
mov esi, dword [ebp - 0x24]
mulss xmm2, dword [esi + eax*4]
addss xmm2, xmm3
addss xmm2, xmm4
comiss xmm1, xmm2
jae 0x45f24d
movaps xmm1, xmm2
test byte [edi + 4], 4
je 0x45f27b
mov ecx, dword [ebp - 8]
add ecx, 1
jns 0x45f25d
mov ecx, dword [edx]
lea eax, [ecx*8]
sub eax, ecx
mulss xmm0, dword [esi + eax*4]
addss xmm0, xmm3
subss xmm0, xmm4
comiss xmm0, xmm1
ja 0x45f27b
movaps xmm1, xmm0
mov ecx, dword [ebp - 8]
call fcn.0045e4a0
mov al, byte [ebp - 1]
mov esi, dword [ebp - 0xc]
mov byte [edi + 9], al
movss xmm0, dword [esi + 0x1ac]
addss xmm0, dword [esi + 0xc]
pop edi
mov dword [esi + 0x1b8], 0
mov dword [esi + 0x1b4], 0
addss xmm0, dword [0x614ff8]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0xc4], xmm0
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret