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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x574
fld dword [0x725b3c]
movss xmm0, dword [0x68b4fc]
fmul dword [0x697528]
movss dword [esp + 0x44], xmm0
xorps xmm1, xmm1
push ebx
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x54], xmm0
movaps xmm0, xmmword [esp + 0x48]
movaps xmmword [esp + 0x98], xmm1
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
push esi
mov esi, ecx
movaps xmm1, xmmword [esi + 0x80]
addps xmm1, xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [0x68b4fc]
movaps xmmword [esi + 0x80], xmm1
fld dword [esi + 0x1e4]
fmul dword [0x6973e8]
mov eax, dword [esi + 0x250]
mov ebx, dword [eax + 4]
movaps xmm1, xmmword [esi + 0x30]
movss dword [esp + 0x50], xmm0
fstp dword [esp + 0x30]
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [0x68b500]
movss dword [esp + 0x58], xmm0
movaps xmm0, xmmword [esp + 0x4c]
movaps xmmword [esp + 0x13c], xmm0
movaps xmmword [esp + 0xac], xmm0
movaps xmmword [esp + 0xfc], xmm0
movaps xmm0, xmmword [esi + 0x80]
mulps xmm0, xmm1
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0xcc], xmm0
fld dword [esp + 0xcc]
fabs
mov cl, byte [esi + 0x1ec]
fst dword [esp + 0x64]
movsx eax, cl
fdiv dword [esi + 0x1f0]
cdq
xor eax, edx
sub eax, edx
shr ebx, 0x19
and bl, 1
test cl, cl
push edi
mov byte [esp + 0x17], 0
fstp dword [esp + 0x3c]
fld dword [esi + 0x1f0]
fmul dword [0x697390]
fmul dword [eax*4 + 0x6972d0]
fmul dword [esi + 0x1f8]
jge 0x5a94c9
fchs
mov eax, dword [esi + 0x2a8]
fstp dword [esp + 0x88]
xor edi, edi
cmp eax, edi
jne 0x5a94f6
mov dword [esi + 0x1e4], edi
mov dword [esi + 0x1f8], edi
mov dword [esp + 0x34], edi
mov dword [esi + 0x1e8], 0x3ca3d70a
mov dl, byte [esi + 0x21d]
test dl, dl
je 0x5a9508
mov dword [esp + 0x34], 0x3f800000
test cl, cl
jge 0x5a952d
fld dword [esi + 0x1f8]
fcom dword [0x68bab8]
fnstsw ax
test ah, 5
jnp 0x5a9527
fstp st(0)
fld dword [0x68bab8]
fstp dword [esi + 0x1f8]
fld dword [esi + 0x1f8]
fld st(0)
fmul st(1)
fmul dword [0x68b630]
fsubp st(1)
fcom dword [esp + 0x34]
fst dword [esi + 0x1f8]
fnstsw ax
test ah, 5
jp 0x5a9587
test dl, dl
je 0x5a955c
fld dword [0x697524]
jmp 0x5a9562
fld dword [0x697520]
fld dword [esp + 0x34]
fsub st(2)
fstp dword [esp + 0x40]
fcom dword [esp + 0x40]
fnstsw ax
test ah, 5
jnp 0x5a957d
fstp st(0)
fld dword [esp + 0x40]
fxch st(1)
fadd st(1)
fstp dword [esi + 0x1f8]
fstp st(0)
fld dword [esi + 0x1e4]
fcomp dword [0x69751c]
fnstsw ax
test ah, 5
jp 0x5a95b9
test bl, bl
je 0x5a95b9
test cl, cl
jle 0x5a95b9
fld dword [esi + 0x1f8]
mov dl, 1
fcomp dword [0x68b6d0]
fnstsw ax
test ah, 5
jnp 0x5a95bd
mov dl, byte [esp + 0x17]
cmp cl, 1
jle 0x5a95f5
fld dword [esi + 0x1f8]
fcomp dword [0x68b7e0]
fnstsw ax
test ah, 5
jnp 0x5a95d9
test dl, dl
je 0x5a95f5
dec cl
movsx eax, cl
shl eax, 2
mov byte [esi + 0x1ec], cl
fld dword [eax + 0x6972d4]
fdiv dword [eax + 0x6972d0]
jmp 0x5a962e
test bl, bl
jne 0x5a963a
test cl, cl
jle 0x5a963a
cmp cl, 5
jge 0x5a963a
fld dword [esi + 0x1f8]
fcomp dword [0x697518]
fnstsw ax
test ah, 0x41
jne 0x5a963a
inc cl
movsx eax, cl
mov byte [esi + 0x1ec], cl
fld dword [eax*4 + 0x6972cc]
fdiv dword [eax*4 + 0x6972d0]
fmul dword [esi + 0x1f8]
fstp dword [esi + 0x1f8]
mov ecx, dword [esi + 0x1d4]
mov dword [esp + 0x1c], 0
movss xmm0, dword [esp + 0x1c]
shufps xmm0, xmm0, 0
movaps xmmword [esp + 0x260], xmm0
movaps xmm0, xmmword [esi + 0x20]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0xd0], xmm1
fld dword [esp + 0xd0]
fcomp dword [0x68c728]
mov dword [esp + 0x1c], ecx
mov ecx, esi
fnstsw ax
test ah, 0x41
jp 0x5a9bda
lea edx, [esp + 0x300]
push edx
call fcn.005f1ac0
mov eax, dword [esi + 0x74]
cmp eax, edi
je 0x5a96b6
cmp eax, 0x1000
jae 0x5a96b0
mov ecx, dword [esi + 0x70]
mov edx, dword [ecx + 0x74]
mov eax, dword [edx + eax*4 - 4]
mov dword [esp + 0x18], eax
jmp 0x5a96bc
mov dword [esp + 0x18], edi
mov eax, edi
mov ecx, dword [eax + 4]
cmp ecx, edi
je 0x5a96d0
cmp word [ecx + eax], 1
jne 0x5a96d0
add eax, ecx
mov dword [esp + 0x18], eax
cmp eax, edi
movaps xmm1, xmmword [esp + 0xb0]
je 0x5a9b6c
jmp 0x5a96e6
mov eax, dword [esp + 0x18]
cmp word [eax], 1
jne 0x5a9b6c
xor ebx, ebx
movaps xmm0, xmmword [esi + 0x20]
mov eax, ebx
and eax, 4
movaps xmm2, xmm0
mov dword [esp + 0x1c], eax
shufps xmm2, xmm0, 0x55
je 0x5a9721
movaps xmmword [esp + 0x140], xmm2
movaps xmm2, xmmword [esp + 0xa0]
lea edx, [esp + 0x140]
jmp 0x5a9742
movaps xmm0, xmm2
movaps xmm2, xmmword [esp + 0xa0]
movaps xmm3, xmm2
subss xmm3, xmm0
movaps xmmword [esp + 0xd0], xmm3
lea edx, [esp + 0xd0]
test bl, 2
movaps xmm0, xmmword [esi + 0x30]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
je 0x5a9763
movaps xmmword [esp + 0x230], xmm3
lea edi, [esp + 0x230]
jmp 0x5a9779
movaps xmm0, xmm2
subss xmm0, xmm3
movaps xmmword [esp + 0x210], xmm0
lea edi, [esp + 0x210]
movaps xmm0, xmmword [esi + 0x10]
mov ecx, ebx
and ecx, 1
je 0x5a979c
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
movaps xmmword [esp + 0x200], xmm2
lea eax, [esp + 0x200]
jmp 0x5a97b6
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
subss xmm2, xmm3
movaps xmmword [esp + 0x2c0], xmm2
lea eax, [esp + 0x2c0]
movaps xmm3, xmmword [eax]
movaps xmm2, xmmword [edi]
movaps xmm0, xmmword [edx]
addss xmm3, xmm2
addss xmm3, xmm0
movaps xmmword [esp + 0x260], xmm3
fld dword [esp + 0x260]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 5
jnp 0x5a9b57
mov eax, dword [esp + 0x1c]
test eax, eax
mov edi, dword [esi + ecx*4 + 0x24c]
je 0x5a983f
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [edi + 0x90]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x5c], xmm0
movaps xmm0, xmmword [esp + 0x50]
movaps xmm1, xmm0
movaps xmm0, xmmword [edi + 0x40]
addps xmm0, xmm1
jmp 0x5a9857
mov ecx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0xc4]
push eax
add ecx, 0x10
call fcn.0043d920
movaps xmm0, xmmword [eax]
movaps xmm4, xmmword [esi + 0x30]
movaps xmm3, xmmword [esi + 0x40]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
mulps xmm4, xmm1
movaps xmmword [esp + 0x1f0], xmm1
movaps xmm1, xmmword [esi + 0x20]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
mulps xmm1, xmm2
movaps xmmword [esp + 0x1a0], xmm2
movaps xmm2, xmmword [esi + 0x10]
add edi, 0xd0
push edi
lea ecx, [esp + 0x174]
shufps xmm0, xmm0, 0
push ecx
addps xmm4, xmm3
lea edx, [esp + 0x1e8]
addps xmm1, xmm4
mulps xmm2, xmm0
addps xmm2, xmm1
push edx
mov ecx, 0x725b20
movaps xmmword [esp + 0x18c], xmm0
movaps xmmword [esp + 0x1ec], xmm2
call fcn.0052b4a0
fstp dword [esp + 0x1c]
lea eax, [esp + 0x1c]
movss xmm0, dword [eax]
movaps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x1e0]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
subss xmm2, xmm1
movaps xmmword [esp + 0xe0], xmm2
fld dword [esp + 0xe0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5a9b4f
movaps xmm1, xmmword [esp + 0x330]
fld dword [esp + 0xe0]
movaps xmm2, xmmword [esp + 0x320]
fmul dword [0x694b34]
mulps xmm2, xmmword [esp + 0x1f0]
addps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x310]
fstp dword [esp + 0x1c]
mulps xmm1, xmmword [esp + 0x1a0]
addps xmm1, xmm2
movaps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x300]
mulps xmm1, xmmword [esp + 0x180]
addps xmm1, xmm2
movaps xmm2, xmmword [esi + 0x80]
movaps xmm3, xmm2
shufps xmm3, xmm2, 0x55
movaps xmmword [esp + 0x160], xmm3
fld dword [esp + 0x160]
lea ecx, [esp + 0x1c]
fcomp dword [0x68b4fc]
movss xmm4, dword [ecx]
movaps xmmword [esp + 0x150], xmm4
fnstsw ax
test ah, 0x41
jne 0x5a99dd
fld dword [esp + 0xe0]
movaps xmm3, xmmword [esi + 0x80]
fmul dword [0x68b70c]
movaps xmm2, xmmword [esi + 0x80]
lea edx, [esp + 0x1c]
movaps xmm6, xmm3
shufps xmm6, xmm3, 0x55
fstp dword [esp + 0x1c]
movss xmm5, dword [edx]
subss xmm6, xmm5
unpcklps xmm6, xmm2
shufps xmm6, xmm2, 0xe1
movaps xmmword [esi + 0x80], xmm6
movaps xmm3, xmm1
shufps xmm3, xmm1, 0x55
movaps xmmword [esp + 0x1d0], xmm3
fld dword [esp + 0x1d0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jp 0x5a9a39
fld dword [esp + 0x150]
movaps xmmword [esp + 0x1b0], xmm3
fsub dword [esp + 0x1b0]
fld dword [0x68b4fc]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5a9a2d
fstp st(0)
fld dword [0x68b4fc]
lea eax, [esp + 0x1c]
fstp dword [esp + 0x1c]
movss xmm4, dword [eax]
fld dword [0x68b4fc]
movaps xmm2, xmmword [esp + 0xa0]
movss xmm2, xmm4
movaps xmmword [esp + 0x1c0], xmm3
fcomp dword [esp + 0x1c0]
lea ecx, [esp + 0x44]
movaps xmm5, xmm1
mov dword [esp + 0x44], 0xbccccccd
movss xmm4, dword [ecx]
shufps xmm5, xmm1, 0xaa
fnstsw ax
mulss xmm5, xmm4
test ah, 0x41
lea edx, [esp + 0x70]
mov dword [esp + 0x70], 0xbccccccd
movss xmm4, dword [edx]
mulss xmm1, xmm4
movaps xmm4, xmm2
shufps xmm4, xmm2, 0x51
movaps xmm2, xmm4
movss xmm2, xmm1
shufps xmm2, xmm5, 4
jne 0x5a9aaa
fld dword [0x68b4fc]
jmp 0x5a9ab1
fld dword [esp + 0x1c0]
fmul dword [0x68b6d4]
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x90], xmm1
fstp dword [esp + 0x1c]
movss xmm1, dword [esp + 0x1c]
movss dword [esp + 0x94], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x98], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x9c], xmm1
movaps xmm1, xmmword [esp + 0x90]
subps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x100]
addps xmm1, xmm2
movaps xmmword [esp + 0x100], xmm1
movaps xmm1, xmmword [esi + 0x40]
subps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
mulps xmm1, xmm2
shufps xmm2, xmm2, 0xc9
mulps xmm0, xmm2
subps xmm0, xmm1
movaps xmm1, xmmword [esp + 0xb0]
shufps xmm0, xmm0, 0xc9
addps xmm1, xmm0
movaps xmmword [esp + 0xb0], xmm1
jmp 0x5a9b57
movaps xmm1, xmmword [esp + 0xb0]
inc ebx
cmp ebx, 8
jl 0x5a96f2
add dword [esp + 0x18], 0x30
jne 0x5a96e2
movaps xmm3, xmmword [esi + 0x10]
movaps xmm4, xmmword [esi + 0x30]
movaps xmm6, xmmword [esi + 0x20]
movaps xmm7, xmmword [esi + 0x40]
movaps xmm0, xmm3
movaps xmm5, xmm4
shufps xmm4, xmm7, 0xee
shufps xmm3, xmm6, 0xee
shufps xmm3, xmm4, 0x88
shufps xmm0, xmm6, 0x44
movaps xmm2, xmm0
movaps xmm4, xmm1
shufps xmm4, xmm1, 0xaa
mulps xmm3, xmm4
shufps xmm5, xmm7, 0x44
shufps xmm0, xmm5, 0xdd
movaps xmm4, xmm1
shufps xmm4, xmm1, 0x55
mulps xmm0, xmm4
addps xmm0, xmm3
shufps xmm2, xmm5, 0x88
movaps xmm3, xmm1
shufps xmm3, xmm1, 0
mulps xmm2, xmm3
movaps xmm3, xmmword [esp + 0xa0]
addps xmm2, xmm0
movaps xmmword [esp + 0xb0], xmm2
jmp 0x5ab472
lea eax, [esp + 0x500]
push eax
call fcn.005f1c50
mov ecx, esi
call fcn.005a09c0
fstp dword [esp + 0x120]
mov cl, byte [esi + 0x1ec]
fld dword [esi + 0x1f0]
fmul dword [0x697390]
movsx eax, cl
cdq
xor eax, edx
sub eax, edx
test cl, cl
fmul dword [eax*4 + 0x6972d0]
fmul dword [esi + 0x1f8]
fst dword [esp + 0x118]
jge 0x5a9c29
fchs
fstp dword [esp + 0x40]
mov dword [esp + 0x6c], 0x461c4000
fld dword [0x68b500]
mov dword [esp + 0x18], edi
fsub dword [esp + 0x3c]
fmul dword [0x68c5e0]
fadd dword [0x68bab8]
fmul dword [esp + 0x1c]
fstp dword [esp + 0x8c]
lea ebx, [ebx]
mov ecx, dword [esp + 0x18]
mov edi, dword [esi + ecx*4 + 0x24c]
test dword [edi + 4], 0x1000000
je 0x5a9caf
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x13c], edx
lea ecx, [esp + 0x360]
lea eax, [esp + 0x13c]
movss xmm0, dword [eax]
push ecx
lea edx, [esp + 0x494]
push edx
movaps xmmword [esp + 0x368], xmm0
call fcn.00602470
add esp, 8
jmp 0x5a9d0a
movss xmm0, dword [0x68b500]
movss dword [esp + 0x220], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x224], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x228], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x22c], xmm0
movaps xmm0, xmmword [esp + 0x220]
movaps xmmword [esp + 0x450], xmm0
lea eax, [esp + 0x450]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x90], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x94], edx
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x98], ecx
push eax
lea ecx, [esp + 0x1a4]
push ecx
mov ecx, esi
mov dword [esp + 0xa4], edx
call fcn.005a2180
movss xmm0, dword [0x68b4fc]
movaps xmm3, xmmword [esi + 0x40]
movaps xmm4, xmmword [esi + 0x30]
movss dword [esp + 0x250], xmm0
movss xmm0, dword [edi + 0x90]
movss dword [esp + 0x254], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x258], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x25c], xmm0
movaps xmm0, xmmword [esp + 0x250]
movaps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x1a0]
addps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
mulps xmm4, xmm1
addps xmm4, xmm3
movaps xmm3, xmmword [esi + 0x20]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
mulps xmm3, xmm2
addps xmm3, xmm4
movaps xmm4, xmmword [esi + 0x10]
movaps xmmword [esp + 0xe0], xmm0
shufps xmm0, xmm0, 0
mulps xmm4, xmm0
addps xmm4, xmm3
movaps xmm3, xmmword [esp + 0x530]
movaps xmmword [esp + 0x290], xmm4
movaps xmm4, xmmword [esp + 0x520]
mulps xmm4, xmm1
movaps xmm1, xmmword [esp + 0x510]
mulps xmm1, xmm2
movaps xmmword [esp + 0x430], xmm2
movaps xmm2, xmmword [esp + 0x500]
lea ebx, [edi + 0xd0]
push ebx
lea edx, [esp + 0x4d4]
mulps xmm2, xmm0
addps xmm4, xmm3
push edx
lea eax, [esp + 0x298]
addps xmm1, xmm4
movaps xmm0, xmm2
addps xmm0, xmm1
push eax
mov ecx, 0x725b20
movaps xmmword [esp + 0x23c], xmm0
call fcn.0052b4a0
fst dword [esp + 0x70]
lea ecx, [esp + 0x44]
fstp dword [esp + 0x44]
movss xmm0, dword [ecx]
movaps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x290]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
subss xmm2, xmm1
mov ecx, ebx
movaps xmmword [esp + 0x200], xmm2
mov dword [esp + 0x30], 0
call fcn.005492a0
and eax, 0xff
lea edx, [eax*8 + 0x6cc0d0]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], edx
test eax, eax
je 0x5a9eb3
mov eax, dword [edi + 0x80]
fld dword [edi + 0x84]
mov dword [esp + 0x48], eax
jmp 0x5a9ffe
mov ecx, dword [esp + 0x8c]
push ecx
mov ecx, esi
call fcn.005a2490
movss xmm0, dword [0x68b4fc]
mov eax, dword [esi + 0x25c]
movaps xmm1, xmmword [eax + 0x40]
movaps xmm3, xmmword [eax + 0x30]
movss dword [esp + 0x270], xmm0
movss xmm0, dword [edi + 0x84]
movss dword [esp + 0x274], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x278], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x27c], xmm0
movaps xmm0, xmmword [esp + 0x270]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
mulps xmm3, xmm2
movaps xmm2, xmmword [eax + 0x20]
addps xmm3, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mulps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [eax + 0x10]
mulps xmm0, xmm1
addps xmm2, xmm3
movaps xmm3, xmmword [eax + 0x30]
addps xmm0, xmm2
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x2d0], xmm0
movss xmm0, dword [edi + 0x80]
movss dword [esp + 0x2d4], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x2d8], xmm0
movss xmm0, dword [0x68b4fc]
movaps xmmword [esp + 0x470], xmm1
movaps xmm1, xmmword [eax + 0x40]
fld dword [esp + 0x470]
movss dword [esp + 0x2dc], xmm0
movaps xmm0, xmmword [esp + 0x2d0]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
mulps xmm3, xmm2
movaps xmm2, xmmword [eax + 0x20]
addps xmm3, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mulps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [eax + 0x10]
mulps xmm0, xmm1
addps xmm2, xmm3
addps xmm0, xmm2
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x4b0], xmm1
mov edx, dword [esp + 0x4b0]
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x70]
fld dword [0x68b4fc]
movaps xmm1, xmmword [esp + 0x290]
movaps xmm3, xmmword [esi + 0x10]
movaps xmm6, xmmword [esi + 0x40]
movaps xmm7, xmmword [esi + 0x20]
movaps xmm4, xmmword [esi + 0x30]
mov dword [esp + 0x128], eax
lea ecx, [esp + 0x128]
movss xmm0, dword [ecx]
unpcklps xmm0, xmm1
shufps xmm0, xmm1, 0xe1
movaps xmm1, xmm3
movaps xmm5, xmm4
shufps xmm5, xmm6, 0x44
shufps xmm1, xmm7, 0x44
shufps xmm3, xmm7, 0xee
movaps xmm2, xmm1
shufps xmm2, xmm5, 0x88
shufps xmm1, xmm5, 0xdd
shufps xmm4, xmm6, 0xee
shufps xmm3, xmm4, 0x88
movss xmm4, dword [0x68b4fc]
movaps xmmword [esp + 0x290], xmm0
subps xmm0, xmm6
movaps xmm5, xmm0
shufps xmm5, xmm0, 0xaa
mulps xmm3, xmm5
movaps xmm5, xmm0
shufps xmm5, xmm0, 0x55
mulps xmm1, xmm5
addps xmm1, xmm3
movaps xmm3, xmm0
shufps xmm3, xmm0, 0
movaps xmm0, xmmword [esp + 0x4d0]
mulps xmm2, xmm3
addps xmm2, xmm1
movaps xmm3, xmm2
movaps xmm2, xmm0
movss dword [esp + 0x2b0], xmm4
movss xmm4, dword [edi + 0x90]
shufps xmm2, xmm0, 0x55
movaps xmmword [esp + 0x340], xmm2
fld dword [esp + 0x340]
movss dword [esp + 0x2b4], xmm4
movss xmm4, dword [0x68b4fc]
fucompp
movss dword [esp + 0x2b8], xmm4
movss xmm4, dword [0x68b4fc]
movss dword [esp + 0x2bc], xmm4
movaps xmm4, xmmword [esp + 0x2b0]
fnstsw ax
subps xmm3, xmm4
test ah, 0x44
shufps xmm3, xmm3, 0x55
movaps xmmword [esp + 0x280], xmm3
mov byte [esp + 0x27], 1
jnp 0x5aa11c
mov byte [esp + 0x27], 0
fld dword [esp + 0x280]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5aafc0
movaps xmm5, xmmword [esi + 0x10]
movaps xmm4, xmmword [esi + 0x20]
movaps xmm6, xmmword [esi + 0x30]
mov al, byte [esi + 0x21d]
test al, al
movaps xmm1, xmm5
shufps xmm1, xmm4, 0x44
movaps xmm4, xmmword [esi + 0x40]
movaps xmm7, xmm6
shufps xmm7, xmm4, 0x44
movaps xmm4, xmm1
shufps xmm4, xmm7, 0x88
shufps xmm1, xmm7, 0xdd
movaps xmm7, xmmword [esi + 0x40]
shufps xmm6, xmm7, 0xee
movaps xmm7, xmm6
movaps xmm6, xmmword [esi + 0x20]
shufps xmm5, xmm6, 0xee
mulps xmm1, xmm2
movaps xmm6, xmm0
shufps xmm5, xmm7, 0x88
shufps xmm6, xmm0, 0xaa
movaps xmm2, xmm0
mulps xmm5, xmm6
shufps xmm2, xmm0, 0
addps xmm1, xmm5
mulps xmm4, xmm2
addps xmm4, xmm1
movaps xmmword [esp + 0x50], xmm4
je 0x5aa1aa
test dword [edi + 4], 0x800000
mov byte [esp + 0x17], 1
jne 0x5aa1af
mov byte [esp + 0x17], 0
fld dword [esp + 0x280]
fcomp dword [esp + 0x48]
fnstsw ax
test ah, 0x41
jne 0x5aa1ca
fld dword [esp + 0x280]
jmp 0x5aa1ce
fld dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
fsubrp st(1)
movaps xmm1, xmmword [esp + 0x260]
addps xmm1, xmm0
fld st(0)
movaps xmmword [esp + 0x260], xmm1
fstp dword [esp + ecx*4 + 0x70]
fmul dword [edi + 0x88]
fst dword [esp + 0x34]
fchs
fstp dword [esp + 0x4c]
fld dword [esp + 0x280]
fcomp dword [esp + 0x48]
fnstsw ax
test ah, 0x41
jne 0x5aa254
movaps xmm0, xmmword [esp + 0x1a0]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
subss xmm3, xmm1
movaps xmmword [esp + 0x440], xmm3
fld dword [esp + 0x440]
movaps xmmword [esp + 0x380], xmm3
fmul dword [edi + 0x8c]
mov edx, dword [esp + 0x380]
push edx
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
jmp 0x5aa30a
movaps xmm0, xmmword [esi + 0x80]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x4e0], xmm1
fld dword [esp + 0x4e0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5aa2e4
movaps xmm1, xmmword [edi + 0x40]
movaps xmm2, xmmword [esi + 0x80]
movaps xmm0, xmmword [esi + 0x80]
movaps xmm5, xmm1
shufps xmm5, xmm1, 0x55
subss xmm3, xmm5
lea eax, [esp + 0xf8]
mov dword [esp + 0xf8], 0x41000000
movss xmm4, dword [eax]
divss xmm3, xmm4
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
addss xmm1, xmm3
movaps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x140]
movaps xmm3, xmm1
shufps xmm3, xmm1, 0x55
maxss xmm3, xmm2
unpcklps xmm3, xmm0
shufps xmm3, xmm0, 0xe1
movaps xmmword [esi + 0x80], xmm3
movaps xmm0, xmmword [esp + 0x1a0]
fld dword [esp + 0x48]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x3a0], xmm1
fsub dword [esp + 0x3a0]
push ecx
fstp dword [esp]
push ecx
mov ecx, esi
call fcn.005a2390
fld dword [0x68b4fc]
movaps xmm1, xmmword [esp + 0x230]
fld dword [0x68b4fc]
movaps xmm3, xmmword [esp + 0x90]
fld dword [esi + 0x1e0]
mov ecx, dword [edi + 0x98]
fucompp
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xaa
movaps xmm4, xmm2
movaps xmm5, xmm1
fnstsw ax
movaps xmm0, xmm3
test ah, 0x44
shufps xmm0, xmm3, 0x55
mulss xmm4, xmm0
mulss xmm5, xmm3
subss xmm5, xmm4
mulss xmm2, xmm3
movaps xmm4, xmm1
mulss xmm4, xmm0
addss xmm4, xmm2
movaps xmmword [esp + 0x190], xmm4
lea edx, [esp + 0x124]
mov dword [esp + 0x124], ecx
movss xmm2, dword [edx]
movaps xmmword [esp + 0x460], xmm2
movaps xmm2, xmm1
movaps xmmword [esp + 0x390], xmm5
movaps xmm5, xmmword [esp + 0x50]
mulps xmm2, xmm5
movaps xmm4, xmm2
shufps xmm4, xmm2, 0xaa
movaps xmm6, xmm4
movaps xmm4, xmm2
shufps xmm4, xmm2, 0x55
movaps xmm7, xmm2
addss xmm7, xmm4
movaps xmm4, xmm7
addss xmm4, xmm6
movaps xmm6, xmmword [esp + 0x460]
movaps xmm7, xmm6
shufps xmm7, xmm6, 0
movaps xmmword [esp + 0x3c0], xmm0
movss xmm6, dword [esp + 0x3c0]
movss dword [esp + 0x240], xmm6
movss xmm6, dword [0x68b4fc]
movss dword [esp + 0x244], xmm6
movaps xmmword [esp + 0x4c0], xmm3
movss xmm6, dword [esp + 0x4c0]
movss dword [esp + 0x248], xmm6
movss xmm6, dword [0x68b4fc]
movss dword [esp + 0x24c], xmm6
movaps xmm6, xmmword [esp + 0x240]
mulps xmm6, xmm7
movaps xmm7, xmm4
shufps xmm7, xmm4, 0
movaps xmm4, xmm5
mulps xmm4, xmm7
subps xmm1, xmm4
subps xmm1, xmm6
movaps xmmword [esp + 0x2c0], xmm0
movaps xmmword [esp + 0x160], xmm2
movaps xmmword [esp + 0x420], xmm1
jp 0x5aa48f
mov ebx, dword [edi + 4]
mov ecx, ebx
and ecx, 0x800000
mov dword [esp + 0x70], ecx
je 0x5aa595
fld dword [0x68b4fc]
fld dword [esi + 0x1e8]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5aa595
mov ebx, dword [edi + 4]
mov ecx, ebx
and ecx, 0x800000
mov dword [esp + 0x70], ecx
je 0x5aa4d6
fld dword [0x68b4fc]
fld dword [esi + 0x1e8]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5aa4d6
fld dword [esi + 0x1e0]
fld dword [esi + 0x1e8]
fst dword [esp + 0x28]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5aa4dc
fstp st(0)
fld dword [esp + 0x28]
jmp 0x5aa4dc
fld dword [esi + 0x1e0]
fld dword [edi + 0x98]
fabs
fstp dword [esp + 0x28]
fmul dword [esi + 0x1f4]
fcom dword [esp + 0x28]
fnstsw ax
test ah, 5
jnp 0x5aa4ff
fstp st(0)
fld dword [esp + 0x28]
test ecx, ecx
je 0x5aa518
fld dword [0x68b4fc]
fld dword [esi + 0x1e8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x5aa520
test ebx, 0x2000000
jne 0x5aa593
fld dword [edi + 0x98]
fcomp dword [0x68b4fc]
fnstsw ax
fld st(0)
test ah, 1
jne 0x5aa537
fchs
test ecx, ecx
fadd dword [edi + 0x98]
fst dword [edi + 0x98]
je 0x5aa591
fabs
fcomp dword [0x68c7cc]
fnstsw ax
test ah, 5
jp 0x5aa55e
fld dword [0x68b50c]
jmp 0x5aa564
fld dword [0x68b588]
movsx eax, byte [esi + 0x1ec]
fld dword [esi + 0x1f0]
fmul dword [0x697390]
cdq
xor eax, edx
sub eax, edx
fmul dword [eax*4 + 0x6972d0]
fmul st(1)
fdivr dword [0x68b58c]
fmul st(2)
fstp dword [esp + 0x30]
fstp st(0)
fstp st(0)
test ecx, ecx
je 0x5aa833
mov cl, byte [esi + 0x1ec]
test cl, cl
jle 0x5aa5b4
fld dword [esp + 0x190]
fsub dword [esp + 0x40]
jmp 0x5aa5bf
fld dword [esp + 0x40]
fsub dword [esp + 0x190]
mov eax, dword [edi + 0xc4]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
movaps xmm7, xmmword [esp + 0xa0]
fcomp dword [0x68b4fc]
mov dword [esp + 0xfc], eax
lea edx, [esp + 0xfc]
movss xmm4, dword [edx]
movaps xmm6, xmm1
fnstsw ax
shufps xmm6, xmm1, 0xaa
subss xmm7, xmm6
test ah, 0x41
mulss xmm7, xmm4
movaps xmmword [esp + 0x3e0], xmm7
jne 0x5aa6e8
test ebx, 0x2000000
jne 0x5aa69e
fstp st(0)
fld dword [esp + 0x2c]
fmul dword [0x68c45c]
fld dword [esp + 0x4c]
fmul dword [0x697514]
fmul dword [edi + 0xbc]
fchs
fst dword [esp + 0x28]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5aa64c
fstp st(0)
fld dword [esp + 0x28]
test cl, cl
jg 0x5aa652
fchs
mov al, byte [esi + 0x21d]
test al, al
je 0x5aa664
fld dword [0x697510]
jmp 0x5aa66a
fld dword [0x68b504]
fld dword [esp + 0x2c]
movsx eax, cl
fmul st(1)
cdq
xor eax, edx
fsub st(2)
sub eax, edx
fld dword [esi + 0x1f0]
fmul dword [0x697390]
fmul dword [eax*4 + 0x6972d0]
fdivp st(1)
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
fstp st(0)
jmp 0x5aa81a
mov al, byte [esi + 0x21d]
test al, al
je 0x5aa6b0
fld dword [0x697510]
jmp 0x5aa6b6
fld dword [0x68bab8]
fld dword [esp + 0x2c]
movsx eax, cl
fmul st(1)
cdq
fld dword [esi + 0x1f0]
fmul dword [0x697390]
xor eax, edx
sub eax, edx
fmul dword [eax*4 + 0x6972d0]
fdivp st(1)
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
fstp st(0)
jmp 0x5aa81a
test ebx, 0x2000000
fld dword [esp + 0x118]
fmul dword [0x69750c]
fdivr dword [esp + 0x120]
fstp dword [esp + 0x28]
jne 0x5aa7cc
movsx edx, cl
fstp st(0)
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [esp + 0x190]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 5
jp 0x5aa76e
fld dword [0x68b4fc]
fld dword [esp + 0x28]
fucompp
fnstsw ax
test ah, 0x44
jp 0x5aa765
fld dword [esp + 0x190]
fabs
fcomp dword [0x68b7e4]
fnstsw ax
test ah, 5
jp 0x5aa765
fld dword [esp + 0x190]
fmul dword [0x697508]
jmp 0x5aa7b2
fld dword [esp + 0x3e0]
jmp 0x5aa7b2
test cl, cl
fld dword [esp + 0x4c]
fmul dword [0x697514]
fmul dword [edi + 0xbc]
jle 0x5aa797
fld dword [esp + 0x28]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5aa7b2
fstp st(0)
fld dword [esp + 0x28]
jmp 0x5aa7b2
fchs
fld dword [esp + 0x28]
fchs
fst dword [esp + 0x20]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5aa7b2
fstp st(0)
fld dword [esp + 0x20]
mov al, byte [esi + 0x21d]
test al, al
jne 0x5aa81a
fld dword [esp + 0x2c]
mov eax, edx
fmul dword [0x68b504]
fadd st(1)
jmp 0x5aa7f8
fld dword [0x68b4fc]
fld dword [esi + 0x1e0]
fucompp
fnstsw ax
test ah, 0x44
jp 0x5aa81a
mov al, byte [esi + 0x21d]
test al, al
jne 0x5aa81a
fld dword [esp + 0x2c]
movsx eax, cl
fmul dword [0x68bab8]
fld dword [esi + 0x1f0]
cdq
fmul dword [0x697390]
xor eax, edx
sub eax, edx
fmul dword [eax*4 + 0x6972d0]
fdivp st(1)
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
fld dword [esp + 0x88]
mov ecx, dword [esp + 0x70]
fadd dword [edi + 0x98]
fmul dword [0x68b504]
jmp 0x5aa861
fld dword [0x68b4fc]
fld dword [esi + 0x1e0]
fucompp
fnstsw ax
test ah, 0x44
jp 0x5aa867
fld dword [esp + 0x190]
fsub dword [edi + 0x98]
fmul dword [0x68b6d8]
fadd dword [edi + 0x98]
fstp dword [edi + 0x98]
fld dword [0x68b4fc]
movaps xmm4, xmm1
mulps xmm4, xmm1
movaps xmm6, xmm4
shufps xmm6, xmm4, 0xaa
movaps xmm7, xmm4
addss xmm7, xmm6
movaps xmmword [esp + 0x480], xmm7
fld dword [esp + 0x480]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5aa941
movaps xmm6, xmm4
shufps xmm6, xmm4, 0xaa
movaps xmm7, xmm4
addss xmm7, xmm6
movaps xmmword [esp + 0x400], xmm7
fld dword [esp + 0x400]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5aa90a
movaps xmm6, xmm4
shufps xmm6, xmm4, 0xaa
movaps xmm7, xmm6
movaps xmm6, xmm4
addss xmm6, xmm7
movaps xmmword [esp + 0x70], xmm6
rsqrtss xmm6, xmm6
movss dword [esp + 0x70], xmm6
movaps xmm6, xmmword [esp + 0x70]
movaps xmm7, xmm6
shufps xmm7, xmm6, 0
movaps xmm6, xmm1
mulps xmm6, xmm7
movaps xmmword [esp + 0x4f0], xmm6
lea eax, [esp + 0x4f0]
jmp 0x5aa911
lea eax, [esp + 0x420]
mov edx, dword [eax]
mov dword [esp + 0x2a0], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x2a4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2a8], edx
lea eax, [esp + 0x2a0]
jmp 0x5aa99c
movss xmm6, dword [0x68b4fc]
movss dword [esp + 0x1b0], xmm6
movss xmm6, dword [0x68b4fc]
movss dword [esp + 0x1b4], xmm6
movss xmm6, dword [0x68b500]
movss dword [esp + 0x1b8], xmm6
movss xmm6, dword [0x68b4fc]
movss dword [esp + 0x1bc], xmm6
movaps xmm6, xmmword [esp + 0x1b0]
movaps xmmword [esp + 0x4a0], xmm6
lea eax, [esp + 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x150], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x154], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x158], edx
movaps xmm6, xmmword [esp + 0x150]
movaps xmm7, xmm6
shufps xmm7, xmm6, 0xaa
mulss xmm6, xmm0
mulss xmm7, xmm3
addss xmm6, xmm7
movaps xmmword [esp + 0x370], xmm6
movaps xmm6, xmm1
shufps xmm6, xmm1, 0xaa
mulss xmm1, xmm3
mulss xmm6, xmm0
subss xmm1, xmm6
movaps xmmword [esp + 0x1f0], xmm1
movaps xmm1, xmm4
shufps xmm1, xmm4, 0xaa
addss xmm4, xmm1
movaps xmmword [esp + 0x70], xmm4
sqrtss xmm1, xmm4
movss dword [esp + 0x70], xmm1
movaps xmm1, xmmword [esp + 0x70]
movaps xmmword [esp + 0x350], xmm1
fld dword [esp + 0x350]
fmul dword [0x68bab8]
fld dword [esp + 0x4c]
fmul dword [0x697504]
fmul dword [edi + 0xbc]
fmul dword [0x6cc124]
fst dword [esp + 0x20]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5aaa5e
fstp st(0)
fld dword [esp + 0x20]
fld dword [esp + 0x1f0]
fcomp dword [0x68b4fc]
fld dword [esp + 0x1f0]
fnstsw ax
test ah, 1
jne 0x5aab16
fmul dword [0x68bab8]
fld st(1)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5aaa92
fstp st(0)
fld st(0)
fchs
fstp dword [esp + 0x2c]
fld dword [0x68b4fc]
fld dword [esi + 0x1e0]
fucompp
fnstsw ax
test ah, 0x44
jp 0x5aaac6
test ecx, ecx
je 0x5aaad1
fld dword [0x68b4fc]
fld dword [esi + 0x1e8]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5aaad1
fld dword [esp + 0x370]
fmul st(1)
fsubp st(2)
fstp st(0)
fld dword [edi + 0x98]
fcomp dword [0x68b4fc]
fld dword [edi + 0x98]
fmul dword [0x68b6d8]
fld dword [esp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x5aab36
mov ecx, dword [esp + 0x44]
fmul dword [ecx + 4]
fst dword [esp + 0x20]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5aab10
fstp st(0)
fld dword [esp + 0x20]
fxch st(1)
fsub st(1)
jmp 0x5aab52
fmul dword [0x68babc]
fld st(1)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5aaa94
fstp st(0)
fst dword [esp + 0x2c]
jmp 0x5aaa98
mov edx, dword [esp + 0x44]
fmul dword [edx + 4]
fst dword [esp + 0x20]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5aab50
fstp st(0)
fld dword [esp + 0x20]
fadd st(1)
mov eax, dword [edi + 0xb4]
fstp dword [esp + 0x28]
and ebx, 0xfdffffff
test eax, eax
fstp st(0)
mov dword [edi + 4], ebx
jl 0x5aaba7
push eax
call fcn.005fc6e0
mov eax, dword [edi + 0xb4]
push eax
call fcn.005fcb30
movaps xmm2, xmmword [esp + 0x168]
movaps xmm0, xmmword [esp + 0x2c8]
movaps xmm3, xmmword [esp + 0x98]
movaps xmm5, xmmword [esp + 0x58]
add esp, 8
mov dword [edi + 0xb4], 0xffffffff
mov eax, dword [edi + 0xb8]
test eax, eax
jl 0x5aabe1
push eax
call fcn.00558a20
movaps xmm2, xmmword [esp + 0x164]
movaps xmm0, xmmword [esp + 0x2c4]
movaps xmm3, xmmword [esp + 0x94]
movaps xmm5, xmmword [esp + 0x54]
add esp, 4
mov dword [edi + 0xb8], 0xffffffff
fld dword [esp + 0x68]
fcomp dword [0x68b85c]
fnstsw ax
test ah, 5
jp 0x5aac12
fld dword [esp + 0x2c]
fmul dword [esp + 0x390]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 1
jne 0x5aac12
mov dword [esp + 0x2c], 0
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
movaps xmm4, xmm0
mov dword [esp + 0x130], ecx
lea eax, [esp + 0x130]
movss xmm1, dword [eax]
mov eax, dword [esp + 0x28]
mulss xmm4, xmm1
mov dword [esp + 0x138], edx
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x138]
movss xmm1, dword [ecx]
movaps xmm6, xmm3
mulss xmm6, xmm1
mov dword [esp + 0x134], edx
lea ecx, [esp + 0x134]
movss xmm1, dword [ecx]
mov dword [esp + 0x114], eax
mov al, byte [esp + 0x17]
test al, al
mulss xmm3, xmm1
lea edx, [esp + 0x114]
movss xmm1, dword [edx]
mulss xmm0, xmm1
addss xmm0, xmm3
movaps xmmword [esp + 0x3b0], xmm0
movss xmm0, dword [esp + 0x3b0]
movss dword [esp + 0x1d0], xmm0
movss xmm0, dword [esp + 0x34]
subss xmm6, xmm4
movss dword [esp + 0x1d4], xmm0
movaps xmmword [esp + 0x3d0], xmm6
movss xmm0, dword [esp + 0x3d0]
movss dword [esp + 0x1d8], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x1dc], xmm0
movaps xmm0, xmmword [esp + 0x1d0]
movaps xmmword [esp + 0x180], xmm0
je 0x5aad5b
call fcn.005f2050
fmul dword [0x697500]
movaps xmm5, xmmword [esp + 0x50]
lea eax, [esp + 0x12c]
mov dword [esp + 0x12c], 0x3a2aaaab
movss xmm0, dword [eax]
movaps xmm1, xmm0
fstp dword [esp + 0x20]
lea ecx, [esp + 0x20]
movss xmm0, dword [ecx]
movaps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x180]
movaps xmm3, xmm0
addss xmm3, xmm2
movaps xmm2, xmmword [esp + 0x160]
subss xmm3, xmm1
movss xmm0, xmm3
movaps xmmword [esp + 0x180], xmm0
movaps xmm0, xmmword [esp + 0x180]
fld dword [esp + 0x34]
movaps xmm1, xmm5
shufps xmm1, xmm5, 0x55
movaps xmmword [esp + 0x3f0], xmm1
fdiv dword [esp + 0x3f0]
mov al, byte [esp + 0x27]
test al, al
mov edx, dword [esp + 0x18]
fstp dword [edx*4 + 0x7432c0]
jne 0x5aadf7
fld dword [esp + 0x200]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5aada5
fld dword [esp + 0x200]
jmp 0x5aadab
fld dword [0x68b4fc]
lea ecx, [esp + 0x11c]
fstp dword [esp + 0x20]
mov dword [esp + 0x11c], 0x3e4ccccd
movss xmm2, dword [ecx]
movaps xmm3, xmm2
lea eax, [esp + 0x20]
movss xmm1, dword [eax]
shufps xmm3, xmm2, 0
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
movaps xmm1, xmm0
mulps xmm5, xmm2
mulps xmm5, xmm3
addps xmm1, xmm5
shufps xmm1, xmm0, 0xd8
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xd8
jmp 0x5aaf4e
mov ecx, dword [0x76ba40]
test ecx, ecx
je 0x5aae19
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x5aae71
movsx edx, byte [eax + 0xc]
cmp edx, dword [ecx + 0xb18]
sete al
test al, al
je 0x5aae71
movaps xmm0, xmmword [edi + 0xe0]
movaps xmm1, xmmword [esp + 0xa0]
shufps xmm0, xmm0, 0xff
subss xmm1, xmm0
push 1
maxss xmm0, xmm1
movaps xmmword [esp + 0x414], xmm0
fld dword [esp + 0x414]
push 0
push ecx
fabs
lea eax, [esp + 0xec]
fstp dword [esp]
push eax
mov ecx, esi
call fcn.005a6630
movaps xmm2, xmmword [esp + 0x160]
movaps xmm0, xmmword [esp + 0x180]
movaps xmm5, xmmword [esp + 0x50]
movaps xmm1, xmmword [edi + 0xe0]
movaps xmm3, xmmword [esp + 0xa0]
shufps xmm1, xmm1, 0xff
movaps xmm4, xmm3
subss xmm4, xmm1
maxss xmm1, xmm4
movaps xmmword [esp + 0x1c0], xmm1
fld dword [esp + 0x1c0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5aaf0f
fld dword [esp + 0x1c0]
fld dword [esp + 0x1c0]
fcomp dword [0x68b6dc]
fnstsw ax
test ah, 5
jnp 0x5aaece
fstp st(0)
fld dword [0x68b6dc]
fmul dword [0x68bab8]
movaps xmm1, xmm2
movaps xmm4, xmm2
shufps xmm1, xmm2, 0xaa
shufps xmm4, xmm2, 0x55
addss xmm2, xmm4
addss xmm2, xmm1
movaps xmmword [esp + 0x210], xmm2
fld dword [esp + 0x210]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5aaf17
fld dword [esp + 0x210]
jmp 0x5aaf1d
fld dword [0x68b4fc]
jmp 0x5aaece
fld dword [0x68b4fc]
fmul dword [0x68b6d8]
lea ecx, [esp + 0x20]
fsubr st(1)
fstp dword [esp + 0x20]
movss xmm1, dword [ecx]
movaps xmm2, xmm1
fstp st(0)
shufps xmm2, xmm1, 0
mulps xmm5, xmm2
movaps xmm1, xmm3
shufps xmm1, xmm5, 0x80
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x32
addps xmm0, xmm2
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x38]
mov dword [esp + 0x38], 0x3f000000
movss xmm1, dword [edx]
movaps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x430]
mulss xmm1, xmm2
movaps xmm2, xmmword [esp + 0xe0]
shl eax, 4
unpcklps xmm1, xmm2
shufps xmm1, xmm2, 0xe1
movaps xmmword [esp + eax + 0x300], xmm1
movaps xmmword [esp + eax + 0x2e0], xmm0
test dword [edi + 4], 0x800000
je 0x5ab20e
fld dword [esp + 0x6c]
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 5
jnp 0x5ab20e
mov eax, dword [esp + 0x30]
mov dword [esp + 0x6c], eax
jmp 0x5ab20e
mov al, byte [esp + 0x27]
test al, al
je 0x5ab137
movaps xmm4, xmmword [esi + 0x10]
fstp st(0)
movaps xmm5, xmmword [esi + 0x30]
movaps xmm7, xmmword [esi + 0x20]
movaps xmm3, xmmword [esi + 0x40]
movaps xmm1, xmm4
shufps xmm1, xmm7, 0x44
movaps xmm6, xmm5
shufps xmm6, xmm3, 0x44
movaps xmm3, xmm1
shufps xmm1, xmm6, 0xdd
shufps xmm3, xmm6, 0x88
movaps xmm6, xmmword [esi + 0x40]
mulps xmm1, xmm2
shufps xmm5, xmm6, 0xee
shufps xmm4, xmm7, 0xee
shufps xmm4, xmm5, 0x88
movaps xmm5, xmm0
shufps xmm5, xmm0, 0xaa
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
movaps xmm0, xmmword [edi + 0xe0]
mulps xmm3, xmm2
mulps xmm4, xmm5
addps xmm1, xmm4
addps xmm3, xmm1
movaps xmm1, xmmword [esp + 0xa0]
shufps xmm0, xmm0, 0xff
movaps xmm2, xmm1
subss xmm2, xmm0
maxss xmm0, xmm2
movaps xmmword [esp + 0x1e0], xmm0
fld dword [esp + 0x1e0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5ab0cd
fld dword [esp + 0x1e0]
fld dword [esp + 0x1e0]
fcomp dword [0x68b6dc]
fnstsw ax
test ah, 5
jnp 0x5ab081
fstp st(0)
fld dword [0x68b6dc]
movaps xmm0, xmmword [esp + 0x230]
fmul dword [0x68bab8]
mulps xmm0, xmm3
movaps xmm2, xmm0
movaps xmm4, xmm0
shufps xmm2, xmm0, 0xaa
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm2
movaps xmmword [esp + 0xd0], xmm0
fld dword [esp + 0xd0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5ab0d5
fld dword [esp + 0xd0]
jmp 0x5ab0db
fld dword [0x68b4fc]
jmp 0x5ab081
fld dword [0x68b4fc]
fmul dword [0x68b6d8]
mov ecx, dword [esp + 0x18]
movaps xmm0, xmmword [esp + 0xe0]
mov eax, ecx
fsubr st(1)
shl eax, 4
movaps xmmword [esp + eax + 0x300], xmm0
fstp dword [esp + 0x20]
lea edx, [esp + 0x20]
movss xmm0, dword [edx]
fstp st(0)
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
movaps xmm0, xmm1
mulps xmm3, xmm2
shufps xmm0, xmm3, 0x80
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x32
movaps xmmword [esp + eax + 0x2e0], xmm1
mov dword [esp + ecx*4 + 0x70], 0
jmp 0x5ab20e
movaps xmm0, xmmword [esp + 0x1a0]
mov ebx, dword [edi + 4]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x170], xmm1
fsub dword [esp + 0x170]
or ebx, 0x2000000
push ecx
mov dword [edi + 4], ebx
fstp dword [esp]
mov ebx, dword [esp + 0x1c]
push ebx
mov ecx, esi
mov dword [esp + ebx*4 + 0x78], 0
call fcn.005a2390
test dword [edi + 4], 0x800000
je 0x5ab191
mov eax, dword [esp + 0x88]
mov dword [edi + 0x98], eax
jmp 0x5ab1a3
fld dword [edi + 0x98]
fmul dword [str.33s_]
fstp dword [edi + 0x98]
mov eax, dword [edi + 0xb4]
test eax, eax
jl 0x5ab1cc
push eax
call fcn.005fc6e0
mov ecx, dword [edi + 0xb4]
push ecx
call fcn.005fcb30
add esp, 8
mov dword [edi + 0xb4], 0xffffffff
mov eax, dword [edi + 0xb8]
test eax, eax
jl 0x5ab1e9
push eax
call fcn.00558a20
add esp, 4
mov dword [edi + 0xb8], 0xffffffff
movaps xmm0, xmmword [esp + 0xe0]
mov eax, ebx
shl eax, 4
movaps xmmword [esp + eax + 0x300], xmm0
movaps xmm0, xmmword [esp + 0x140]
movaps xmmword [esp + eax + 0x2e0], xmm0
fld dword [edi + 0x98]
push ecx
fdiv dword [edi + 0x90]
fsubr dword [edi + 0xa0]
fstp dword [esp]
call fcn.005fde00
lea edx, [esp + 0xc4]
fstp dword [edi + 0xa0]
movaps xmm0, xmmword [edi + 0xa0]
push edx
lea eax, [esp + 0x548]
push eax
movaps xmmword [esp + 0xcc], xmm0
call fcn.005fee40
movaps xmm0, xmmword [eax]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x20]
mov eax, dword [esp + 0x24]
add esp, 0xc
inc eax
cmp eax, 2
movaps xmmword [edi + 0x30], xmm0
mov dword [esp + 0x18], eax
jl 0x5a9c60
fld dword [esp + 0x6c]
fcomp dword [0x68b500]
fnstsw ax
test ah, 5
jp 0x5ab2b5
fld dword [0x68b4fc]
fld dword [esi + 0x1f8]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5ab2b5
fld dword [esp + 0x6c]
fadd dword [esi + 0x1f8]
fstp dword [esi + 0x1f8]
movaps xmm3, xmmword [esp + 0xb0]
xor eax, eax
nop
movaps xmm0, xmmword [esp + eax + 0x2e0]
movaps xmm1, xmmword [esp + 0x100]
movaps xmm2, xmmword [esp + eax + 0x2e0]
addps xmm1, xmm0
movaps xmm0, xmmword [esp + eax + 0x300]
movaps xmmword [esp + 0x100], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
mulps xmm1, xmm2
shufps xmm2, xmm2, 0xc9
mulps xmm0, xmm2
add eax, 0x10
cmp eax, 0x20
subps xmm0, xmm1
shufps xmm0, xmm0, 0xc9
addps xmm3, xmm0
jl 0x5ab2c0
movaps xmm0, xmmword [esp + 0x100]
movaps xmm2, xmmword [esi + 0x30]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
lea ecx, [esi + 0x10]
mulps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0xb0], xmm3
movaps xmm3, xmmword [ecx + 0x10]
mulps xmm3, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [ecx]
lea edx, [esp + 0x490]
addps xmm3, xmm2
mulps xmm0, xmm1
addps xmm0, xmm3
push edx
movaps xmmword [esp + 0x104], xmm0
call fcn.00605c80
movaps xmm0, xmmword [eax]
movaps xmm3, xmmword [esp + 0xa0]
mov ecx, dword [esi + 0x374]
test ecx, ecx
movaps xmm1, xmm3
shufps xmm1, xmm0, 0x20
shufps xmm0, xmm1, 0x24
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmmword [esp + 0xc0], xmm1
je 0x5ab3d9
fld dword [esp + 0x68]
fcomp dword [0x68b85c]
fnstsw ax
test ah, 5
jp 0x5ab3d9
cmp ecx, 1
jne 0x5ab3b8
fld dword [0x6974fc]
fmul dword [0x68b558]
jmp 0x5ab40c
cmp ecx, 2
jne 0x5ab3cb
fld dword [0x6974f8]
fmul dword [0x68b558]
jmp 0x5ab40c
fld dword [0x6974f4]
fmul dword [0x68b558]
jmp 0x5ab40c
fld dword [esp + 0x3c]
fcomp dword [0x68b504]
fnstsw ax
test ah, 5
jp 0x5ab3f0
fld dword [esp + 0x3c]
jmp 0x5ab3f6
fld dword [0x68b504]
fmul dword [0x68b51c]
fadd dword [0x68b6d8]
fmul dword [esp + 0x1c]
fmul dword [0x6974f0]
fsub dword [esp + 0xc0]
movaps xmm0, xmmword [esi + 0x90]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmm0, xmmword [esi + 0x90]
movaps xmmword [esp + 0x170], xmm1
movaps xmm1, xmmword [esi + 0x90]
fmul dword [0x6cc11c]
fld dword [esp + 0x170]
lea eax, [esp + 0x38]
fmul dword [0x6cc120]
movaps xmm4, xmm1
shufps xmm4, xmm1, 0xaa
fsubp st(1)
fstp dword [esp + 0x38]
movss xmm2, dword [eax]
addss xmm4, xmm2
shufps xmm4, xmm0, 0xe0
shufps xmm0, xmm4, 0xc4
movaps xmmword [esi + 0x90], xmm0
movaps xmm0, xmmword [esi + 0x40]
movaps xmm1, xmmword [esi + 0x80]
mov ecx, dword [esi + 0x248]
mov eax, dword [0x725b3c]
movaps xmmword [esp + 0x170], xmm0
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
addss xmm0, xmm2
movaps xmmword [esp + 0x140], xmm0
sqrtss xmm0, xmm0
mov dword [esp + 0x38], ecx
movss dword [esp + 0x140], xmm0
movaps xmm0, xmmword [esp + 0x140]
lea edx, [esp + 0x38]
movss xmm2, dword [edx]
movaps xmm4, xmm2
shufps xmm4, xmm2, 0
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
mulps xmm1, xmm2
mulps xmm1, xmm4
shufps xmm3, xmm1, 0x80
movaps xmm0, xmm3
movaps xmm1, xmm0
push eax
lea ecx, [esp + 0xb4]
shufps xmm1, xmm0, 0x32
movaps xmm0, xmmword [esp + 0x104]
push ecx
lea edx, [esp + 0xc8]
subps xmm0, xmm1
push edx
mov ecx, esi
movaps xmmword [esp + 0xcc], xmm0
call fcn.005f18c0
movaps xmm0, xmmword [esi + 0x80]
mulps xmm0, xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
addss xmm0, xmm1
movaps xmmword [esp + 0xc0], xmm0
fld dword [esp + 0xc0]
fcomp dword [0x6974ec]
fnstsw ax
test ah, 5
jnp 0x5ab563
fld dword [esp + 0x68]
fcomp dword [0x68b85c]
fnstsw ax
test ah, 5
jp 0x5ab592
mov eax, dword [esi + 0x374]
test eax, eax
je 0x5ab592
movaps xmm1, xmmword [esp + 0x170]
movaps xmm0, xmmword [esi + 0x40]
movss xmm2, xmm1
movss xmm0, xmm2
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x40]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xaa
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0xc4
movaps xmmword [esi + 0x40], xmm0
mov eax, dword [esi + 0x1f8]
mov dword [esp + 0x3c], eax
fld dword [esp + 0x3c]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5ab628
fld dword [esp + 0x3c]
fld dword [esp + 0x3c]
fcomp dword [0x68b500]
fnstsw ax
test ah, 5
jnp 0x5ab5ce
fstp st(0)
fld dword [0x68b500]
mov edx, dword [esi + 0x358]
fstp dword [esi + 0x1f8]
movaps xmm2, xmmword [esi + 0x90]
mov byte [esi + 0x21d], 0
mov ecx, dword [0x725b3c]
mov dword [esp + 0x38], ecx
movss xmm0, dword [esp + 0x38]
mov dword [esp + 0x38], edx
movss xmm1, dword [esp + 0x38]
shufps xmm0, xmm0, 0
shufps xmm1, xmm1, 0
mulps xmm2, xmm1
mulps xmm2, xmm0
movaps xmm0, xmmword [esi + 0x90]
pop edi
subps xmm0, xmm2
movaps xmmword [esi + 0x90], xmm0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [0x68b4fc]
jmp 0x5ab5ce