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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x354
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x2c0]
mov esi, ecx
mov ecx, dword [edi + 0x2c4]
mov dword [esp + 0x18], ecx
or ecx, 0xffffffff
cmp dword [edi + 0x2c8], 0
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
je 0x5398fa
push eax
mov ecx, esi
call fcn.00539730
mov edx, dword [esp + 0x18]
mov ebx, eax
push edx
mov ecx, esi
mov dword [esp + 0x24], ebx
call fcn.00539730
mov dword [esp + 0x24], eax
test ebx, ebx
jne 0x5398fa
test eax, eax
je 0x53b1f4
cmp dword [edi + 0x2c8], 0
mov dword [esp + 0x64], 0
jle 0x53b1f4
xorps xmm1, xmm1
movss xmm0, dword [0x5652f8]
lea ebx, [ebx]
mov ebx, dword [esp + 0x64]
fld1
mov eax, dword [ebp + 8]
imul ebx, ebx, 0xb0
movss xmm2, dword [eax + 0x2d0]
add ebx, eax
comiss xmm2, dword [ebx + 0x50]
jb 0x53b1da
mov edi, dword [esp + 0x1c]
movss xmm5, dword [ebx + 0x30]
movss xmm2, dword [ebx + 0x34]
movss xmm4, dword [ebx + 0x38]
subss xmm5, dword [edi + 0x40]
subss xmm2, dword [edi + 0x44]
subss xmm4, dword [edi + 0x48]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 0x20]
movss dword [esp + 0x50], xmm5
movss dword [esp + 0x54], xmm2
movss dword [esp + 0x58], xmm4
movss dword [esp + 0x5c], xmm1
movdqa xmm3, xmmword [esp + 0x50]
movdqa xmmword [esp + 0xb0], xmm3
movss xmm3, dword [ebx + 0x20]
subss xmm3, dword [eax + 0x40]
movss dword [esp + 0x30], xmm3
movss xmm3, dword [ebx + 0x24]
subss xmm3, dword [eax + 0x44]
movss dword [esp + 0x34], xmm3
movss xmm3, dword [ebx + 0x28]
subss xmm3, dword [eax + 0x48]
mov eax, dword [esi + 0x1c]
movss dword [esp + 0x38], xmm3
movss dword [esp + 0x3c], xmm1
movdqa xmm3, xmmword [esp + 0x30]
movdqa xmmword [esp + 0xa0], xmm3
mov dword [esp + 0x28], eax
mov dword [esp + 0x48], eax
cmp eax, ecx
jne 0x539ae6
lea edx, [eax + eax]
test eax, eax
jne 0x5399fb
mov edx, 1
cmp ecx, edx
mov dword [esp + 0x2c], edx
jge 0x539ae6
fstp st(0)
test edx, edx
je 0x539a47
mov eax, edx
lea ecx, [eax + eax*4]
shl ecx, 5
push 0x10
push ecx
call fcn.005475c0
movss xmm4, dword [esp + 0x60]
movss xmm2, dword [esp + 0x5c]
movss xmm5, dword [esp + 0x58]
movss xmm0, dword [0x5652f8]
xorps xmm1, xmm1
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x50]
add esp, 8
jmp 0x539a4f
mov dword [esp + 0x10], 0
mov ecx, dword [esi + 0x1c]
test ecx, ecx
jle 0x539a94
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x44], ecx
test eax, eax
je 0x539a7e
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + 0x24]
add esi, edx
mov ecx, 0x28
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add edx, 0xa0
add eax, 0xa0
sub dword [esp + 0x44], 1
jne 0x539a60
mov eax, dword [esp + 0x48]
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x539ad2
cmp byte [esi + 0x28], 0
je 0x539acb
push ecx
call fcn.00547600
movss xmm4, dword [esp + 0x5c]
movss xmm2, dword [esp + 0x58]
movss xmm5, dword [esp + 0x54]
movss xmm0, dword [0x5652f8]
xorps xmm1, xmm1
mov eax, dword [esp + 0x4c]
add esp, 4
mov dword [esi + 0x24], 0
mov edx, dword [esp + 0x10]
fld1
mov ecx, dword [esp + 0x2c]
mov byte [esi + 0x28], 1
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov edx, dword [esi + 0x24]
inc dword [esi + 0x1c]
lea eax, [eax + eax*4]
shl eax, 5
add edx, eax
je 0x539b0e
mov ecx, 0x28
lea esi, [esp + 0x2c0]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov esi, dword [esi + 0x24]
add esi, eax
xor ecx, ecx
mov eax, 2
cmp dword [edi + 0xf4], eax
movaps xmm3, xmm2
setne cl
xor edx, edx
dec ecx
and ecx, edi
mov edi, dword [esp + 0x18]
cmp dword [edi + 0xf4], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x80], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], ebx
movss xmm6, dword [ebx + 0x48]
movss xmm7, dword [ebx + 0x44]
mulss xmm3, xmm6
movaps xmm6, xmm4
mulss xmm6, xmm7
movss xmm7, dword [ebx + 0x40]
subss xmm3, xmm6
movaps xmm6, xmm4
mulss xmm6, xmm7
movaps xmm7, xmm5
movss xmm5, dword [ebx + 0x48]
mulss xmm7, xmm5
movss xmm5, dword [ebx + 0x44]
subss xmm6, xmm7
movss xmm7, dword [esp + 0x50]
mulss xmm7, xmm5
setne dl
movss dword [esp + 0x48], xmm7
movaps xmm5, xmm2
movss dword [esp + 0x10], xmm5
movss xmm5, dword [ebx + 0x40]
movaps xmm7, xmm2
mulss xmm7, xmm5
movss dword [esp + 0x10], xmm7
movss xmm7, dword [esp + 0x48]
movss xmm5, dword [esp + 0x10]
dec edx
and edx, edi
subss xmm7, xmm5
mov dword [esp + 0x44], ecx
mov dword [esp + 0x2c], edx
movss dword [esp + 0x104], xmm6
movss dword [esp + 0x108], xmm7
test ecx, ecx
je 0x539cdf
movss xmm5, dword [ecx + 0x118]
mulss xmm5, xmm7
movss xmm7, dword [ecx + 0x114]
mulss xmm7, xmm6
movss xmm6, dword [ecx + 0x110]
mulss xmm6, xmm3
addss xmm5, xmm7
movss xmm7, dword [ecx + 0x124]
mulss xmm7, dword [esp + 0x104]
addss xmm5, xmm6
movss xmm6, dword [ecx + 0x128]
mulss xmm6, dword [esp + 0x108]
movss dword [esp + 0x10], xmm6
addss xmm6, xmm7
movss xmm7, dword [ecx + 0x120]
mulss xmm7, xmm3
mulss xmm3, dword [ecx + 0x130]
addss xmm6, xmm7
movss xmm7, dword [ecx + 0x134]
mulss xmm7, dword [esp + 0x104]
movss dword [esp + 0x274], xmm6
movss xmm6, dword [ecx + 0x138]
mulss xmm6, dword [esp + 0x108]
movss dword [esp + 0x10], xmm6
addss xmm6, xmm7
addss xmm6, xmm3
movss xmm3, dword [ecx + 0x164]
mulss xmm5, xmm3
movss dword [esp + 0x180], xmm5
movss xmm5, dword [esp + 0x274]
mulss xmm5, xmm3
mulss xmm6, xmm3
movss dword [esp + 0x184], xmm5
movss dword [esp + 0x188], xmm6
movss dword [esp + 0x18c], xmm1
lea eax, [esp + 0x180]
jmp 0x539d0a
movss dword [esp + 0x1f0], xmm1
movss dword [esp + 0x1f4], xmm1
movss dword [esp + 0x1f8], xmm1
movss dword [esp + 0x1fc], xmm1
lea eax, [esp + 0x1f0]
movq xmm3, qword [eax]
movss xmm7, dword [esp + 0x38]
movq qword [esi + 0x30], xmm3
movq xmm3, qword [eax + 8]
movq qword [esi + 0x38], xmm3
movss xmm6, dword [ebx + 0x48]
movss xmm3, dword [ebx + 0x44]
movss dword [esp + 0x70], xmm6
mulss xmm6, dword [esp + 0x34]
movaps xmm5, xmm3
mulss xmm3, dword [esp + 0x30]
mulss xmm5, xmm7
subss xmm6, xmm5
movss xmm5, dword [ebx + 0x40]
movss dword [esp + 0x78], xmm5
mulss xmm5, xmm7
movss dword [esp + 0x10], xmm5
movss xmm5, dword [esp + 0x70]
mulss xmm5, dword [esp + 0x30]
movss xmm7, dword [esp + 0x10]
subss xmm7, xmm5
movss xmm5, dword [esp + 0x78]
mulss xmm5, dword [esp + 0x34]
subss xmm3, xmm5
movss dword [esp + 0x294], xmm7
movaps xmm5, xmm3
test edx, edx
je 0x539ec3
movss xmm3, dword [edx + 0x164]
movss dword [esp + 0x9c], xmm3
movaps xmm3, xmm0
subss xmm3, xmm6
movaps xmm6, xmm0
subss xmm6, xmm7
movss dword [esp + 0xe4], xmm6
movaps xmm7, xmm0
subss xmm7, xmm5
movss xmm5, dword [edx + 0x118]
mulss xmm5, xmm7
movss dword [esp + 0xe8], xmm7
movss xmm7, dword [edx + 0x114]
mulss xmm7, xmm6
addss xmm5, xmm7
movss xmm7, dword [edx + 0x124]
mulss xmm7, dword [esp + 0xe4]
movaps xmm6, xmm3
mulss xmm6, dword [edx + 0x110]
addss xmm5, xmm6
movss xmm6, dword [edx + 0x128]
mulss xmm6, dword [esp + 0xe8]
movss dword [esp + 0x10], xmm6
addss xmm6, xmm7
movss xmm7, dword [edx + 0x120]
mulss xmm7, xmm3
mulss xmm3, dword [edx + 0x130]
addss xmm6, xmm7
movss xmm7, dword [edx + 0x134]
mulss xmm7, dword [esp + 0xe4]
movss dword [esp + 0x2b4], xmm6
movss xmm6, dword [edx + 0x138]
mulss xmm6, dword [esp + 0xe8]
movss dword [esp + 0x10], xmm6
addss xmm6, xmm7
addss xmm6, xmm3
movss xmm3, dword [esp + 0x9c]
mulss xmm5, xmm3
movss dword [esp + 0x170], xmm5
movaps xmm5, xmm3
mulss xmm5, dword [esp + 0x2b4]
mulss xmm3, xmm6
movss dword [esp + 0x174], xmm5
movss dword [esp + 0x178], xmm3
movss dword [esp + 0x17c], xmm1
lea eax, [esp + 0x170]
jmp 0x539eee
movss dword [esp + 0x210], xmm1
movss dword [esp + 0x214], xmm1
movss dword [esp + 0x218], xmm1
movss dword [esp + 0x21c], xmm1
lea eax, [esp + 0x210]
movq xmm3, qword [eax]
movq qword [esi + 0x40], xmm3
movq xmm3, qword [eax + 8]
movq qword [esi + 0x48], xmm3
movaps xmm5, xmm1
movss dword [esp + 0x68], xmm5
movaps xmm3, xmm1
test ecx, ecx
je 0x539fb1
movss xmm7, dword [esi + 0x34]
movss xmm5, dword [esi + 0x38]
movss dword [esp + 0x74], xmm7
movaps xmm6, xmm4
mulss xmm6, xmm7
movaps xmm7, xmm2
mulss xmm7, xmm5
mulss xmm5, dword [esp + 0x50]
subss xmm6, xmm7
movss xmm7, dword [esi + 0x30]
movss dword [esp + 0x220], xmm6
movaps xmm6, xmm4
mulss xmm6, xmm7
subss xmm5, xmm6
movss dword [esp + 0x224], xmm5
movss xmm5, dword [esp + 0x74]
mulss xmm5, dword [esp + 0x50]
movaps xmm6, xmm2
mulss xmm6, xmm7
subss xmm6, xmm5
movss xmm5, dword [ebx + 0x48]
mulss xmm5, xmm6
movss xmm6, dword [ebx + 0x44]
mulss xmm6, dword [esp + 0x224]
addss xmm5, xmm6
movss xmm6, dword [esp + 0x220]
mulss xmm6, dword [ebx + 0x40]
addss xmm5, xmm6
addss xmm5, dword [ecx + 0x160]
movss dword [esp + 0x68], xmm5
test edx, edx
je 0x53a06d
movaps xmm5, xmm0
subss xmm5, dword [esi + 0x44]
movss dword [esp + 0x254], xmm5
mulss xmm5, dword [esp + 0x38]
movaps xmm6, xmm0
subss xmm6, dword [esi + 0x48]
movss dword [esp + 0x258], xmm6
mulss xmm6, dword [esp + 0x34]
subss xmm5, xmm6
movss xmm6, dword [esp + 0x30]
mulss xmm6, dword [esp + 0x258]
mulss xmm5, dword [ebx + 0x40]
movss dword [esp + 0x10], xmm6
movss xmm7, dword [esp + 0x10]
movaps xmm3, xmm0
subss xmm3, dword [esi + 0x40]
movaps xmm6, xmm3
mulss xmm6, dword [esp + 0x38]
mulss xmm3, dword [esp + 0x34]
subss xmm7, xmm6
movss xmm6, dword [esp + 0x30]
mulss xmm6, dword [esp + 0x254]
subss xmm3, xmm6
movaps xmm6, xmm3
movss xmm3, dword [ebx + 0x48]
mulss xmm3, xmm6
movss xmm6, dword [ebx + 0x44]
mulss xmm6, xmm7
addss xmm3, xmm6
addss xmm3, xmm5
addss xmm3, dword [edx + 0x160]
movss xmm5, dword [esp + 0x68]
movss dword [esp + 0x284], xmm7
addss xmm3, xmm5
movss xmm5, dword [0x5652d0]
divss xmm5, xmm3
movss dword [esi + 0x74], xmm5
movq xmm3, qword [ebx + 0x40]
movq qword [esi + 0x10], xmm3
movq xmm3, qword [ebx + 0x48]
movq qword [esi + 0x18], xmm3
movss xmm3, dword [ebx + 0x44]
movss xmm5, dword [ebx + 0x48]
movaps xmm6, xmm2
mulss xmm6, xmm5
movaps xmm7, xmm4
mulss xmm7, xmm3
subss xmm6, xmm7
movss dword [esp + 0x120], xmm6
movss xmm6, dword [ebx + 0x40]
movaps xmm7, xmm4
mulss xmm7, xmm6
movss xmm6, dword [esp + 0x50]
mulss xmm5, xmm6
mulss xmm3, xmm6
subss xmm7, xmm5
movss xmm5, dword [ebx + 0x40]
movaps xmm6, xmm2
mulss xmm6, xmm5
subss xmm3, xmm6
movss dword [esp + 0x128], xmm3
movss dword [esp + 0x124], xmm7
movq xmm3, qword [esp + 0x120]
movq qword [esi], xmm3
movss dword [esp + 0x12c], xmm1
movq xmm3, qword [esp + 0x128]
movq qword [esi + 8], xmm3
movaps xmm5, xmm0
subss xmm5, dword [ebx + 0x44]
movaps xmm7, xmm5
movss dword [esp + 0x234], xmm5
movss xmm5, dword [esp + 0x38]
mulss xmm7, xmm5
movaps xmm6, xmm0
subss xmm6, dword [ebx + 0x48]
movss dword [esp + 0x238], xmm6
mulss xmm6, dword [esp + 0x34]
subss xmm6, xmm7
movss dword [esp + 0xc0], xmm6
movaps xmm3, xmm0
subss xmm3, dword [ebx + 0x40]
movaps xmm6, xmm3
mulss xmm3, dword [esp + 0x34]
mulss xmm6, xmm5
movss xmm5, dword [esp + 0x30]
mulss xmm5, dword [esp + 0x238]
subss xmm6, xmm5
movss xmm5, dword [esp + 0x30]
mulss xmm5, dword [esp + 0x234]
subss xmm5, xmm3
movss dword [esp + 0xc4], xmm6
movq xmm3, qword [esp + 0xc0]
movq qword [esi + 0x20], xmm3
movss dword [esp + 0xc8], xmm5
movss dword [esp + 0xcc], xmm1
movq xmm3, qword [esp + 0xc8]
movq qword [esi + 0x28], xmm3
test ecx, ecx
je 0x53a26e
movss xmm6, dword [ecx + 0x154]
movss xmm5, dword [ecx + 0x158]
movaps xmm7, xmm2
mulss xmm7, xmm5
mulss xmm5, dword [esp + 0x50]
movaps xmm3, xmm4
mulss xmm3, xmm6
mulss xmm6, dword [esp + 0x50]
subss xmm3, xmm7
addss xmm3, dword [ecx + 0x140]
movss xmm7, dword [ecx + 0x150]
movss dword [esp + 0x200], xmm3
movss xmm3, dword [ecx + 0x144]
mulss xmm4, xmm7
subss xmm5, xmm4
addss xmm3, xmm5
movss dword [esp + 0x204], xmm3
movss xmm3, dword [ecx + 0x148]
mulss xmm2, xmm7
subss xmm2, xmm6
addss xmm3, xmm2
movss dword [esp + 0x208], xmm3
movss dword [esp + 0x20c], xmm1
lea eax, [esp + 0x200]
jmp 0x53a299
movss dword [esp + 0x1a0], xmm1
movss dword [esp + 0x1a4], xmm1
movss dword [esp + 0x1a8], xmm1
movss dword [esp + 0x1ac], xmm1
lea eax, [esp + 0x1a0]
movq xmm2, qword [eax]
movq qword [esp + 0x140], xmm2
movq xmm2, qword [eax + 8]
movq qword [esp + 0x148], xmm2
test edx, edx
je 0x53a35c
movss xmm5, dword [edx + 0x154]
movss xmm3, dword [edx + 0x158]
movss xmm6, dword [esp + 0x38]
movaps xmm4, xmm3
mulss xmm4, dword [esp + 0x34]
mulss xmm3, dword [esp + 0x30]
movaps xmm2, xmm5
mulss xmm5, dword [esp + 0x30]
mulss xmm2, xmm6
subss xmm2, xmm4
addss xmm2, dword [edx + 0x140]
movss xmm4, dword [edx + 0x150]
movaps xmm7, xmm4
mulss xmm4, dword [esp + 0x34]
movss dword [esp + 0x1e0], xmm2
movss xmm2, dword [edx + 0x144]
mulss xmm7, xmm6
subss xmm3, xmm7
addss xmm2, xmm3
movss dword [esp + 0x1e4], xmm2
movss xmm2, dword [edx + 0x148]
subss xmm4, xmm5
addss xmm2, xmm4
movss dword [esp + 0x1e8], xmm2
movss dword [esp + 0x1ec], xmm1
lea eax, [esp + 0x1e0]
jmp 0x53a387
movss dword [esp + 0x1c0], xmm1
movss dword [esp + 0x1c4], xmm1
movss dword [esp + 0x1c8], xmm1
movss dword [esp + 0x1cc], xmm1
lea eax, [esp + 0x1c0]
movq xmm2, qword [eax]
fld dword [ebx + 0x54]
movss xmm4, dword [ebx + 0x48]
movss xmm7, dword [esp + 0x144]
movss xmm6, dword [esp + 0x140]
mov edi, dword [ebp + 0xc]
movq qword [esp + 0x190], xmm2
movq xmm2, qword [eax + 8]
subss xmm7, dword [esp + 0x194]
subss xmm6, dword [esp + 0x190]
movq qword [esp + 0x198], xmm2
movss xmm2, dword [esp + 0x148]
subss xmm2, dword [esp + 0x198]
mulss xmm4, xmm2
movss dword [esp + 0x88], xmm2
movss xmm2, dword [ebx + 0x44]
mulss xmm2, xmm7
addss xmm4, xmm2
movaps xmm2, xmm6
mulss xmm2, dword [ebx + 0x40]
addss xmm4, xmm2
movss xmm2, dword [edi + 0x34]
addss xmm2, dword [ebx + 0x50]
fstp dword [esi + 0x70]
mov eax, dword [ebx + 0x80]
cmp eax, dword [edi + 0x40]
movss dword [esp + 0x80], xmm6
movss dword [esp + 0x84], xmm7
movss dword [esp + 0x98], xmm4
movss dword [esp + 0x6c], xmm2
jg 0x53a45d
movss xmm3, dword [ebx + 0x58]
mulss xmm3, xmm4
movaps xmm2, xmm0
subss xmm2, xmm3
comiss xmm1, xmm2
movss dword [esp + 0x4c], xmm2
jb 0x53a466
movaps xmm2, xmm1
movss dword [esp + 0x4c], xmm2
test byte [edi + 0x3c], 4
je 0x53a69b
movss xmm3, dword [ebx + 0x70]
mulss xmm3, dword [edi + 0x38]
shufps xmm3, xmm3, 0
movaps xmmword [esi + 0x60], xmm3
test ecx, ecx
je 0x53a55e
movss xmm3, dword [ecx + 0x160]
movss xmm2, dword [esi + 0x10]
movss xmm5, dword [esi + 0x14]
movss xmm6, dword [esi + 0x18]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
mulss xmm2, xmm3
mulss xmm5, xmm3
mulss xmm6, xmm3
movss xmm3, dword [esi + 0x60]
mulss xmm2, xmm3
shl eax, 6
add eax, dword [edi + 0x10]
mov edi, dword [ebp + 0xc]
addss xmm2, dword [eax]
movss dword [eax], xmm2
movss xmm2, dword [eax + 4]
movaps xmm7, xmm3
mulss xmm7, xmm5
addss xmm2, xmm7
movss dword [eax + 4], xmm2
movss xmm2, dword [eax + 8]
movss xmm7, dword [esp + 0x84]
movaps xmm5, xmm3
mulss xmm5, xmm6
addss xmm2, xmm5
movss dword [eax + 8], xmm2
movss xmm2, dword [eax + 0x20]
movss xmm5, dword [esi + 0x34]
movss xmm6, dword [esi + 0x38]
mulss xmm2, xmm3
movaps xmm3, xmm2
mulss xmm3, dword [esi + 0x30]
mulss xmm6, xmm2
mulss xmm5, xmm2
movss xmm2, dword [eax + 0x10]
addss xmm2, xmm3
movss dword [eax + 0x10], xmm2
movss xmm2, dword [eax + 0x14]
addss xmm2, xmm5
movss dword [eax + 0x14], xmm2
movss xmm2, dword [eax + 0x18]
addss xmm2, xmm6
movss xmm6, dword [esp + 0x80]
movss dword [eax + 0x18], xmm2
movss xmm2, dword [esp + 0x4c]
test edx, edx
je 0x53a6a7
movss xmm3, dword [edx + 0x160]
movss xmm7, dword [esi + 0x14]
movss xmm2, dword [esi + 0x10]
mov eax, dword [esi + 0x84]
mov edi, dword [esp + 0x14]
mulss xmm2, xmm3
mulss xmm7, xmm3
movss dword [esp + 0x244], xmm7
movss xmm7, dword [esi + 0x18]
mulss xmm7, xmm3
movaps xmm3, xmm0
subss xmm3, dword [esi + 0x60]
mulss xmm2, xmm3
movss dword [esp + 0xd0], xmm2
movaps xmm2, xmm3
mulss xmm2, dword [esp + 0x244]
movss dword [esp + 0xd4], xmm2
movaps xmm2, xmm3
mulss xmm2, xmm7
movss dword [esp + 0xd8], xmm2
shl eax, 6
add eax, dword [edi + 0x10]
mov edi, dword [ebp + 0xc]
movss xmm2, dword [eax]
addss xmm2, dword [esp + 0xd0]
movaps xmm4, xmm0
subss xmm4, dword [esi + 0x40]
movaps xmm5, xmm0
subss xmm5, dword [esi + 0x44]
movaps xmm6, xmm0
subss xmm6, dword [esi + 0x48]
movss dword [eax], xmm2
movss xmm2, dword [eax + 4]
addss xmm2, dword [esp + 0xd4]
movss dword [eax + 4], xmm2
movss xmm2, dword [eax + 8]
addss xmm2, dword [esp + 0xd8]
movss dword [eax + 8], xmm2
movss xmm2, dword [eax + 0x20]
mulss xmm2, xmm3
movaps xmm3, xmm2
mulss xmm3, xmm4
addss xmm3, dword [eax + 0x10]
movss dword [eax + 0x10], xmm3
movss xmm3, dword [eax + 0x14]
movaps xmm4, xmm2
mulss xmm4, xmm5
addss xmm3, xmm4
movss xmm4, dword [esp + 0x98]
mulss xmm2, xmm6
movss xmm6, dword [esp + 0x80]
movss dword [eax + 0x14], xmm3
movss xmm3, dword [eax + 0x18]
addss xmm3, xmm2
movss xmm2, dword [esp + 0x4c]
movss dword [esp + 0x248], xmm7
movss xmm7, dword [esp + 0x84]
movss dword [eax + 0x18], xmm3
jmp 0x53a6a7
movss xmm3, xmm1
shufps xmm3, xmm3, 0
movaps xmmword [esi + 0x60], xmm3
test ecx, ecx
je 0x53a6b9
lea eax, [ecx + 0x140]
add ecx, 0x150
jmp 0x53a70f
movss dword [esp + 0x1b0], xmm1
movss dword [esp + 0x1b4], xmm1
movss dword [esp + 0x1b8], xmm1
movss dword [esp + 0x1bc], xmm1
lea eax, [esp + 0x1b0]
movss dword [esp + 0x1d0], xmm1
movss dword [esp + 0x1d4], xmm1
movss dword [esp + 0x1d8], xmm1
movss dword [esp + 0x1dc], xmm1
lea ecx, [esp + 0x1d0]
movss xmm3, dword [ecx + 8]
mulss xmm3, dword [esi + 8]
movss xmm5, dword [ecx + 4]
mulss xmm5, dword [esi + 4]
addss xmm3, xmm5
movss xmm5, dword [esi + 0x18]
mulss xmm5, dword [eax + 8]
addss xmm3, xmm5
movss xmm5, dword [esi + 0x14]
mulss xmm5, dword [eax + 4]
addss xmm3, xmm5
movss xmm5, dword [eax]
mulss xmm5, dword [esi + 0x10]
addss xmm3, xmm5
movss xmm5, dword [esi]
mulss xmm5, dword [ecx]
addss xmm3, xmm5
movss dword [esp + 0x7c], xmm3
test edx, edx
je 0x53a774
lea eax, [edx + 0x140]
add edx, 0x150
jmp 0x53a7ca
movss dword [esp + 0x150], xmm1
movss dword [esp + 0x154], xmm1
movss dword [esp + 0x158], xmm1
movss dword [esp + 0x15c], xmm1
lea eax, [esp + 0x150]
movss dword [esp + 0x160], xmm1
movss dword [esp + 0x164], xmm1
movss dword [esp + 0x168], xmm1
movss dword [esp + 0x16c], xmm1
lea edx, [esp + 0x160]
movss xmm3, dword [esi + 0x28]
mulss xmm3, dword [edx + 8]
movss xmm5, dword [esi + 0x18]
mulss xmm5, dword [eax + 8]
subss xmm3, xmm5
movss xmm5, dword [esi + 0x14]
mulss xmm5, dword [eax + 4]
subss xmm3, xmm5
movss xmm5, dword [esi + 0x24]
mulss xmm5, dword [edx + 4]
mov ecx, dword [esp + 0x14]
addss xmm3, xmm5
movss xmm5, dword [esi + 0x10]
mulss xmm5, dword [eax]
subss xmm3, xmm5
movss xmm5, dword [edx]
mulss xmm5, dword [esi + 0x20]
addss xmm3, xmm5
addss xmm3, dword [esp + 0x7c]
movss xmm5, dword [0x565338]
divss xmm5, dword [edi + 0xc]
mulss xmm5, dword [edi + 0x20]
mulss xmm5, dword [esp + 0x6c]
subss xmm2, xmm3
movss xmm3, dword [esi + 0x74]
mulss xmm2, xmm3
mulss xmm5, xmm3
addss xmm2, xmm5
movss dword [esi + 0x8c], xmm2
movss xmm2, dword [0x59373c]
movss dword [esi + 0x90], xmm1
movss dword [esi + 0x94], xmm1
movss dword [esi + 0x98], xmm2
mov edx, dword [ecx + 0x44]
mov dword [esi + 0x7c], edx
test byte [edi + 0x3c], 0x20
je 0x53a91a
cmp byte [ebx + 0x74], 0
je 0x53a91a
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push ecx
fstp dword [esp]
push eax
push edx
lea eax, [esp + 0xac]
push eax
mov eax, dword [esp + 0x38]
lea edx, [esp + 0xc0]
push edx
mov edx, dword [esp + 0x38]
push ebx
push eax
mov eax, dword [esp + 0x3c]
push edx
push eax
lea edx, [ebx + 0x90]
push edx
call fcn.00538fe0
test byte [edi + 0x3c], 0x10
je 0x53ad73
fld1
mov eax, dword [esp + 0x18]
push ecx
fstp dword [esp]
mov ecx, dword [esp + 0x20]
push eax
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0xac]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0xc0]
push eax
mov eax, dword [esp + 0x34]
push ebx
push ecx
push edx
push eax
lea ecx, [ebx + 0xa0]
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.00538fe0
jmp 0x53ad73
movss xmm2, dword [ebx + 0x40]
movss xmm3, dword [ebx + 0x44]
movss xmm5, dword [ebx + 0x48]
mov edx, dword [ebp + 0xc]
mulss xmm2, xmm4
subss xmm6, xmm2
movss xmm2, dword [esp + 0x88]
mulss xmm5, xmm4
subss xmm2, xmm5
mulss xmm3, xmm4
movss dword [esp + 0xf8], xmm2
lea edi, [ebx + 0x90]
subss xmm7, xmm3
movss dword [esp + 0xf0], xmm6
movss dword [esp + 0xf4], xmm7
movq xmm2, qword [esp + 0xf0]
movq qword [edi], xmm2
movss dword [esp + 0xfc], xmm1
movq xmm2, qword [esp + 0xf8]
movq qword [edi + 8], xmm2
test byte [edx + 0x3c], 0x40
movss xmm4, dword [edi + 4]
movss xmm3, dword [edi + 8]
movss xmm2, dword [edi]
movaps xmm5, xmm4
mulss xmm5, xmm4
mulss xmm2, xmm2
movaps xmm4, xmm3
addss xmm2, xmm5
mulss xmm4, xmm3
addss xmm2, xmm4
jne 0x53ab97
comiss xmm2, dword [0x580a90]
jbe 0x53ab97
movss xmm0, dword [0x5652d0]
mov edx, dword [esp + 0x1c]
sqrtss xmm1, xmm2
divss xmm0, xmm1
movaps xmm1, xmm0
mulss xmm1, dword [edi]
movss dword [edi], xmm1
movaps xmm1, xmm0
mulss xmm1, dword [edi + 4]
mulss xmm0, dword [edi + 8]
push edi
push edx
movss dword [edi + 4], xmm1
movss dword [edi + 8], xmm0
call fcn.00538d10
mov eax, dword [esp + 0x20]
push edi
push eax
call fcn.00538d10
fstp dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
add esp, 0xc
push ecx
mov ecx, dword [esp + 0x30]
push edx
lea edx, [esp + 0xac]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0xc0]
push eax
mov eax, dword [esp + 0x34]
push ebx
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push edi
call fcn.00538fe0
mov ecx, dword [ebp + 0xc]
test byte [ecx + 0x3c], 0x10
je 0x53ad6f
movss xmm3, dword [edi + 4]
movss xmm5, dword [edi + 8]
movss xmm2, dword [ebx + 0x48]
movss xmm4, dword [ebx + 0x44]
movaps xmm0, xmm3
mulss xmm0, xmm2
movaps xmm1, xmm5
mulss xmm1, xmm4
subss xmm0, xmm1
movss xmm1, dword [ebx + 0x40]
movss dword [esp + 0x110], xmm0
movss xmm0, dword [edi]
mov edi, dword [esp + 0x1c]
movaps xmm6, xmm1
mulss xmm6, xmm5
movaps xmm5, xmm0
mulss xmm0, xmm4
mulss xmm1, xmm3
subss xmm0, xmm1
movss dword [esp + 0x118], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x11c], xmm0
lea edx, [ebx + 0xa0]
mulss xmm5, xmm2
subss xmm6, xmm5
movss dword [esp + 0x114], xmm6
movq xmm0, qword [esp + 0x110]
movq qword [edx], xmm0
movq xmm0, qword [esp + 0x118]
movq qword [edx + 8], xmm0
movss xmm3, dword [edx]
movss xmm2, dword [edx + 4]
movss xmm1, dword [edx + 8]
movaps xmm0, xmm3
mulss xmm0, xmm3
movaps xmm4, xmm2
mulss xmm4, xmm2
addss xmm0, xmm4
movaps xmm4, xmm1
mulss xmm4, xmm1
addss xmm0, xmm4
sqrtss xmm4, xmm0
movss xmm0, dword [0x5652d0]
divss xmm0, xmm4
movaps xmm4, xmm0
mulss xmm4, xmm3
movaps xmm3, xmm0
push edx
mulss xmm3, xmm2
mulss xmm0, xmm1
push edi
movss dword [edx], xmm4
movss dword [edx + 4], xmm3
movss dword [edx + 8], xmm0
call fcn.00538d10
mov eax, dword [esp + 0x20]
push edx
push eax
call fcn.00538d10
fld1
mov ecx, dword [esp + 0x28]
fstp dword [esp + 0xc]
add esp, 0xc
push ecx
push edi
lea eax, [esp + 0xac]
push eax
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0xc0]
push ecx
mov ecx, dword [esp + 0x38]
push ebx
push eax
mov eax, dword [esp + 0x3c]
push ecx
push eax
jmp 0x53ad65
movss xmm4, dword [ebx + 0x48]
movss xmm3, dword [0x565350]
movaps xmm2, xmm4
andps xmm2, xmm3
comiss xmm2, dword [0x5927d8]
jbe 0x53ac39
movss xmm5, dword [ebx + 0x44]
movaps xmm2, xmm4
movaps xmm3, xmm2
mulss xmm3, xmm2
movss xmm2, dword [0x5652d0]
mulss xmm5, xmm5
addss xmm5, xmm3
sqrtss xmm3, xmm5
divss xmm2, xmm3
movaps xmm6, xmm2
mulss xmm6, xmm4
movaps xmm3, xmm2
mulss xmm3, dword [ebx + 0x44]
movss dword [edi + 8], xmm3
movaps xmm4, xmm0
subss xmm4, xmm6
movss dword [edi + 4], xmm4
movss dword [edi], xmm1
movss dword [edi + 0xc], xmm1
movss xmm6, dword [ebx + 0x40]
mulss xmm3, xmm6
mulss xmm4, xmm6
subss xmm0, xmm3
mulss xmm2, xmm5
movss dword [ebx + 0xa0], xmm2
movss dword [ebx + 0xa4], xmm0
movss dword [ebx + 0xa8], xmm4
jmp 0x53acbc
movss xmm5, dword [ebx + 0x40]
movss xmm4, dword [ebx + 0x44]
movaps xmm2, xmm5
mulss xmm2, xmm5
mulss xmm4, xmm4
addss xmm4, xmm2
movss xmm2, dword [0x5652d0]
sqrtss xmm3, xmm4
divss xmm2, xmm3
movaps xmm3, xmm2
mulss xmm3, xmm5
movaps xmm5, xmm2
mulss xmm5, dword [ebx + 0x44]
movss dword [edi + 4], xmm3
movaps xmm6, xmm0
subss xmm6, xmm5
movss dword [edi], xmm6
movss xmm5, dword [edi]
movss dword [edi + 8], xmm1
movss dword [edi + 0xc], xmm1
movss xmm6, dword [ebx + 0x48]
mulss xmm3, xmm6
mulss xmm5, xmm6
subss xmm0, xmm3
mulss xmm2, xmm4
movss dword [ebx + 0xa0], xmm0
movss dword [ebx + 0xa4], xmm5
movss dword [ebx + 0xa8], xmm2
mov edx, dword [esp + 0x1c]
push edi
push edx
movss dword [ebx + 0xac], xmm1
call fcn.00538d10
mov ecx, dword [esp + 0x20]
push edi
push ecx
call fcn.00538d10
fstp dword [esp + 0xc]
mov eax, dword [esp + 0x28]
add esp, 0xc
push eax
mov eax, dword [esp + 0x30]
push edx
lea ecx, [esp + 0xac]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0xc0]
push edx
mov edx, dword [esp + 0x34]
push ebx
push eax
push ecx
mov ecx, dword [esp + 0x34]
push edx
push edi
call fcn.00538fe0
mov eax, dword [ebp + 0xc]
test byte [eax + 0x3c], 0x10
je 0x53ad6f
mov edi, dword [esp + 0x1c]
lea edx, [ebx + 0xa0]
push edx
push edi
call fcn.00538d10
mov ecx, dword [esp + 0x20]
push edx
push ecx
call fcn.00538d10
fld1
mov eax, dword [esp + 0x28]
fstp dword [esp + 0xc]
add esp, 0xc
push eax
push edi
lea ecx, [esp + 0xac]
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0xc0]
push eax
mov eax, dword [esp + 0x38]
push ebx
push ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
mov ecx, dword [esp + 0x38]
push edx
call fcn.00538fe0
mov byte [ebx + 0x74], 1
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x3c]
mov eax, dword [esi + 0x7c]
test cl, 8
je 0x53b199
mov edi, dword [esp + 0x14]
lea eax, [eax + eax*4]
shl eax, 5
add eax, dword [edi + 0x4c]
test cl, 4
je 0x53b16b
movss xmm0, dword [ebx + 0x78]
mulss xmm0, dword [edx + 0x38]
mov edx, dword [esp + 0x44]
shufps xmm0, xmm0, 0
movaps xmmword [eax + 0x60], xmm0
test edx, edx
je 0x53ae6b
movss xmm1, dword [edx + 0x160]
mov ecx, dword [esi + 0x80]
movss xmm2, dword [eax + 0x14]
movss xmm3, dword [eax + 0x18]
mulss xmm2, xmm1
mulss xmm3, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [eax + 0x10]
movss xmm1, dword [eax + 0x60]
mulss xmm0, xmm1
shl ecx, 6
add ecx, dword [edi + 0x10]
movaps xmm4, xmm1
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
movss xmm0, dword [ecx + 4]
mulss xmm4, xmm2
addss xmm0, xmm4
movss dword [ecx + 4], xmm0
movss xmm0, dword [ecx + 8]
movaps xmm2, xmm1
mulss xmm2, xmm3
addss xmm0, xmm2
movss dword [ecx + 8], xmm0
movss xmm0, dword [ecx + 0x20]
movss xmm2, dword [eax + 0x34]
movss xmm3, dword [eax + 0x38]
mulss xmm0, xmm1
movaps xmm1, xmm0
mulss xmm1, dword [eax + 0x30]
addss xmm1, dword [ecx + 0x10]
mulss xmm2, xmm0
mulss xmm3, xmm0
movss xmm0, dword [ecx + 0x14]
addss xmm0, xmm2
movss dword [ecx + 0x14], xmm0
movss xmm0, dword [ecx + 0x18]
addss xmm0, xmm3
movss dword [ecx + 0x10], xmm1
movss dword [ecx + 0x18], xmm0
mov ecx, dword [esp + 0x2c]
movss xmm0, dword [0x5652f8]
test ecx, ecx
je 0x53af57
movss xmm2, dword [ecx + 0x160]
movss xmm1, dword [eax + 0x10]
movss xmm6, dword [eax + 0x14]
movss xmm7, dword [eax + 0x18]
mulss xmm1, xmm2
mulss xmm7, xmm2
mulss xmm6, xmm2
movaps xmm3, xmm0
subss xmm3, dword [eax + 0x40]
movaps xmm4, xmm0
subss xmm4, dword [eax + 0x44]
movaps xmm5, xmm0
subss xmm5, dword [eax + 0x48]
movaps xmm2, xmm0
subss xmm2, dword [eax + 0x60]
mov eax, dword [esi + 0x84]
mulss xmm1, xmm2
movss dword [esp + 0x2a0], xmm1
movaps xmm1, xmm2
mulss xmm1, xmm6
movaps xmm6, xmm2
mulss xmm6, xmm7
movss xmm7, dword [esp + 0x2a0]
shl eax, 6
add eax, dword [edi + 0x10]
addss xmm7, dword [eax]
movss dword [eax], xmm7
movss xmm7, dword [eax + 4]
addss xmm7, xmm1
movss xmm1, dword [eax + 8]
addss xmm1, xmm6
movss dword [eax + 8], xmm1
movss xmm1, dword [eax + 0x20]
mulss xmm1, xmm2
movss dword [eax + 4], xmm7
movaps xmm2, xmm1
mulss xmm2, xmm3
addss xmm2, dword [eax + 0x10]
movss dword [eax + 0x10], xmm2
movss xmm2, dword [eax + 0x14]
movaps xmm3, xmm1
mulss xmm3, xmm4
addss xmm2, xmm3
movss dword [eax + 0x14], xmm2
movss xmm2, dword [eax + 0x18]
mulss xmm1, xmm5
addss xmm2, xmm1
movss dword [eax + 0x18], xmm2
xorps xmm1, xmm1
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x3c]
test cl, 0x10
je 0x53b1dc
mov eax, dword [esi + 0x7c]
inc eax
lea eax, [eax + eax*4]
shl eax, 5
add eax, dword [edi + 0x4c]
test cl, 4
je 0x53b18b
movss xmm2, dword [ebx + 0x7c]
mov ecx, dword [ebp + 0xc]
mulss xmm2, dword [ecx + 0x38]
shufps xmm2, xmm2, 0
movaps xmmword [eax + 0x60], xmm2
test edx, edx
je 0x53b04f
movss xmm3, dword [edx + 0x160]
mov ecx, dword [esi + 0x80]
movss xmm2, dword [eax + 0x10]
movss xmm4, dword [eax + 0x14]
movss xmm5, dword [eax + 0x18]
mulss xmm2, xmm3
mulss xmm4, xmm3
mulss xmm5, xmm3
movss xmm3, dword [eax + 0x60]
mulss xmm2, xmm3
shl ecx, 6
add ecx, dword [edi + 0x10]
movaps xmm6, xmm3
addss xmm2, dword [ecx]
movss dword [ecx], xmm2
movss xmm2, dword [ecx + 4]
mulss xmm6, xmm4
addss xmm2, xmm6
movss dword [ecx + 4], xmm2
movss xmm2, dword [ecx + 8]
movaps xmm4, xmm3
mulss xmm4, xmm5
addss xmm2, xmm4
movss dword [ecx + 8], xmm2
movss xmm2, dword [ecx + 0x20]
movss xmm4, dword [eax + 0x34]
movss xmm5, dword [eax + 0x38]
mulss xmm2, xmm3
movaps xmm3, xmm2
mulss xmm3, dword [eax + 0x30]
addss xmm3, dword [ecx + 0x10]
mulss xmm4, xmm2
mulss xmm5, xmm2
movss xmm2, dword [ecx + 0x14]
addss xmm2, xmm4
movss dword [ecx + 0x14], xmm2
movss xmm2, dword [ecx + 0x18]
addss xmm2, xmm5
movss dword [ecx + 0x10], xmm3
movss dword [ecx + 0x18], xmm2
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x53b1dc
movss xmm3, dword [ecx + 0x160]
movss xmm7, dword [eax + 0x14]
mov esi, dword [esi + 0x84]
mulss xmm7, xmm3
movaps xmm2, xmm3
mulss xmm2, dword [eax + 0x10]
movss dword [esp + 0x264], xmm7
movss xmm7, dword [eax + 0x18]
mulss xmm7, xmm3
movaps xmm3, xmm0
subss xmm3, dword [eax + 0x60]
mulss xmm2, xmm3
movss dword [esp + 0x130], xmm2
movaps xmm2, xmm3
mulss xmm2, dword [esp + 0x264]
movss dword [esp + 0x134], xmm2
movaps xmm2, xmm3
mulss xmm2, xmm7
movss dword [esp + 0x138], xmm2
movss xmm2, dword [esp + 0x130]
shl esi, 6
add esi, dword [edi + 0x10]
movaps xmm4, xmm0
addss xmm2, dword [esi]
subss xmm4, dword [eax + 0x40]
movaps xmm5, xmm0
subss xmm5, dword [eax + 0x44]
movaps xmm6, xmm0
subss xmm6, dword [eax + 0x48]
movss dword [esi], xmm2
movss xmm2, dword [esi + 4]
addss xmm2, dword [esp + 0x134]
movss dword [esi + 4], xmm2
movss xmm2, dword [esi + 8]
addss xmm2, dword [esp + 0x138]
movss dword [esi + 8], xmm2
movss xmm2, dword [esi + 0x20]
mulss xmm2, xmm3
movaps xmm3, xmm2
mulss xmm3, xmm4
movaps xmm4, xmm2
mulss xmm4, xmm5
movss xmm5, dword [esi + 0x10]
addss xmm5, xmm3
movss xmm3, dword [esi + 0x14]
addss xmm3, xmm4
movss dword [esi + 0x14], xmm3
movss xmm3, dword [esi + 0x18]
mulss xmm2, xmm6
addss xmm3, xmm2
movss dword [esp + 0x268], xmm7
movss dword [esi + 0x10], xmm5
movss dword [esi + 0x18], xmm3
jmp 0x53b1dc
xorps xmm1, xmm1
mov edx, dword [esp + 0x44]
movss xmm0, xmm1
shufps xmm0, xmm0, 0
movaps xmmword [eax + 0x60], xmm0
movss xmm0, dword [0x5652f8]
jmp 0x53af5a
movss xmm2, xmm1
shufps xmm2, xmm2, 0
movaps xmmword [eax + 0x60], xmm2
jmp 0x53b1dc
xorps xmm1, xmm1
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x4c]
shl ecx, 5
movss xmm0, xmm1
shufps xmm0, xmm0, 0
movaps xmmword [ecx + edi + 0x60], xmm0
test byte [edx + 0x3c], 0x10
je 0x53b1d0
mov esi, dword [esi + 0x7c]
mov eax, dword [eax + 0x4c]
lea edx, [esi + esi*4]
shl edx, 5
movaps xmmword [edx + eax + 0x100], xmm0
movss xmm0, dword [0x5652f8]
jmp 0x53b1dc
fstp st(0)
mov eax, dword [esp + 0x64]
mov ecx, dword [ebp + 8]
inc eax
cmp eax, dword [ecx + 0x2c8]
mov dword [esp + 0x64], eax
jl 0x539920
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8