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

Disassembly:
sub esp, 0x47c
push ebx
push esi
mov esi, dword [esp + 0x490]
xorps xmm0, xmm0
push edi
mov edi, dword [esp + 0x490]
mov eax, edi
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x4c], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x50], ecx
mov eax, esi
mov ecx, dword [eax]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x4c]
push 2
xor ebx, ebx
push ecx
mov dword [esp + 0x18], ebx
movss dword [esp + 0x2c], xmm0
mov dword [esp + 0x70], edx
call fcn.00457f70
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x50]
push eax
push edi
call fcn.00457cd0
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x58]
push edx
push esi
call fcn.00457cd0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
add esp, 0x24
cmp eax, ecx
jle 0x45940a
mov esi, eax
mov edx, ecx
mov dword [esp + 0x44], esi
jmp 0x459412
mov edx, eax
mov dword [esp + 0x44], ecx
mov esi, ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jle 0x459428
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], eax
jmp 0x459432
mov dword [esp + 0x28], ecx
mov dword [esp + 0x3c], eax
mov ecx, eax
cmp esi, 0x32
jge 0x459446
cmp dword [esp + 0x28], 0x32
jge 0x459446
cmp edx, ebx
jl 0x459446
cmp ecx, ebx
jge 0x459452
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x47c
ret
cmp edx, esi
push ebp
mov ebp, edx
mov dword [esp + 0x44], ebp
jg 0x4596b3
cmp ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
jg 0x4596a4
nop
mov eax, dword [esp + 0x28]
push eax
push ebp
call fcn.0045b180
mov ecx, dword [esp + 0x30]
push ecx
push ebp
mov esi, eax
call fcn.0045b080
add esp, 0x10
test esi, esi
mov ebp, eax
je 0x4595a1
mov ecx, dword [esi]
test ecx, ecx
je 0x4595a1
nop
xor eax, eax
test ebx, ebx
jle 0x4594b6
cmp dword [esp + eax*4 + 0x8c], ecx
je 0x4594b6
add eax, 1
cmp eax, ebx
jl 0x4594a6
cmp eax, ebx
jne 0x459593
mov dword [esp + eax*4 + 0x8c], ecx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x4a0]
lea edx, [esp + 0x74]
push edx
push eax
push edi
push ecx
mov ecx, dword [esp + 0x4a8]
push ecx
add ebx, 1
call fcn.004d8c60
add esp, 0x1c
test eax, eax
je 0x459593
cmp dword [esp + 0x10], 0
movss xmm2, dword [edi + 4]
subss xmm2, dword [esp + 0x18]
movss xmm1, dword [edi]
subss xmm1, dword [esp + 0x14]
movss xmm0, dword [edi + 8]
subss xmm0, dword [esp + 0x1c]
movaps xmm3, xmm2
mulss xmm3, xmm2
mulss xmm0, xmm0
movaps xmm2, xmm1
addss xmm0, xmm3
mulss xmm2, xmm1
addss xmm0, xmm2
je 0x459545
movss xmm1, dword [esp + 0x24]
comiss xmm1, xmm0
jbe 0x45958f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x49c]
mov dword [edx], ecx
mov ecx, dword [esp + 0x18]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x1c]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x4a0]
mov dword [edx], ecx
mov ecx, dword [esp + 0x34]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x3c]
movss dword [esp + 0x24], xmm0
mov dword [edx + 0xc], ecx
add dword [esp + 0x10], eax
mov ecx, dword [esi + 4]
add esi, 4
test ecx, ecx
jne 0x4594a0
test ebp, ebp
je 0x459683
mov esi, dword [ebp]
test esi, esi
je 0x459683
mov eax, dword [esp + 0x498]
lea edx, [esp + 0x14]
push edx
push eax
push edi
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x78]
call fcn.004587a0
add esp, 0xc
test eax, eax
je 0x459675
cmp dword [esp + 0x10], 0
movss xmm2, dword [edi + 4]
subss xmm2, dword [esp + 0x18]
movss xmm1, dword [edi]
subss xmm1, dword [esp + 0x14]
movss xmm0, dword [edi + 8]
subss xmm0, dword [esp + 0x1c]
movaps xmm3, xmm2
mulss xmm3, xmm2
mulss xmm0, xmm0
movaps xmm2, xmm1
addss xmm0, xmm3
mulss xmm2, xmm1
addss xmm0, xmm2
je 0x459626
movss xmm1, dword [esp + 0x24]
comiss xmm1, xmm0
jbe 0x459670
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x49c]
mov eax, dword [esp + 0x18]
mov dword [ecx], edx
mov edx, dword [esp + 0x1c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4a0]
mov eax, dword [esp + 0x34]
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
movss dword [esp + 0x24], xmm0
mov dword [ecx + 0xc], eax
add dword [esp + 0x10], 1
mov esi, dword [ebp + 4]
add ebp, 4
test esi, esi
jne 0x4595b4
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x44]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
jle 0x459470
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
add ebp, 1
cmp ebp, esi
mov dword [esp + 0x44], ebp
jle 0x459461
mov eax, dword [esp + 0x498]
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x18]
push edx
push eax
push edi
call fcn.0044ce10
mov ecx, dword [esp + 0x20]
add esp, 0x10
test eax, eax
pop ebp
je 0x45976e
test ecx, ecx
movss xmm0, dword [edi]
movss xmm1, dword [edi + 4]
movss xmm2, dword [edi + 8]
subss xmm0, dword [esp + 0x10]
subss xmm1, dword [esp + 0x14]
subss xmm2, dword [esp + 0x18]
je 0x459727
movaps xmm3, xmm2
mulss xmm3, xmm2
movaps xmm2, xmm1
mulss xmm2, xmm1
movaps xmm1, xmm0
mulss xmm1, xmm0
movss xmm0, dword [esp + 0x20]
addss xmm3, xmm2
addss xmm3, xmm1
comiss xmm0, xmm3
jbe 0x45976b
mov eax, dword [esp + 0x498]
mov edx, dword [esp + 0x10]
mov dword [eax], edx
mov edx, dword [esp + 0x14]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x18]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x49c]
mov edx, dword [esp + 0x2c]
mov dword [eax], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x38]
mov dword [eax + 0xc], edx
add ecx, 1
pop edi
pop esi
mov eax, ecx
pop ebx
add esp, 0x47c
ret