Function at 0x4fd100
Capabilities:
Hash data using djb2

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x318
fld qword [0x738f78]
movss xmm0, dword [ebx + 0x40]
mov eax, dword [ebx + 0x684]
fcos
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [ebx + 0x44]
movss dword [esp + 0xcc], xmm0
movss xmm0, dword [ebx + 0x48]
movss dword [esp + 0xd0], xmm0
xor ecx, ecx
push esi
mov dword [esp + 0x54], ecx
push edi
imul eax, eax, 0x5a0
add eax, 0x8cf6f0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [eax + 0x34]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x88], eax
movss dword [esp + 0x34], xmm0
movss xmm0, dword [eax + 0x38]
lea eax, [ebx + 0xb30]
mov dword [eax], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 4], edx
movss dword [esp + 0x38], xmm0
mov edx, dword [esp + 0x38]
movss xmm0, dword [0x738ac8]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 0xc], edx
xor eax, eax
movss dword [ebx + 0xb44], xmm0
xorps xmm0, xmm0
mov dword [ebx + 0xb50], eax
mov dword [ebx + 0xba0], eax
mov eax, dword [ebx + 0x244]
mov dword [ebx + 0xb54], ecx
mov dword [ebx + 0xba4], ecx
movss dword [ebx + 0xb48], xmm0
mov ecx, dword [ebx + eax*8 + 0x1dc]
mov edx, dword [ebx + eax*8 + 0x1d8]
push ecx
fstp dword [esp + 0x90]
push edx
mov ecx, 0x8d68e0
call fcn.004013f0
test eax, eax
je 0x4fe65b
movss xmm0, dword [0x7b3754]
ucomiss xmm0, dword [0x738a54]
lahf
test ah, 0x44
jnp 0x4fe65b
movss xmm0, dword [0x7389bc]
mov ecx, 0x77f8a0
movss dword [esp + 0x54], xmm0
call fcn.00652f90
test eax, eax
je 0x4fd247
movss xmm0, dword [0x758980]
movss dword [esp + 0x54], xmm0
mov eax, dword [ebx + 0x244]
mov ecx, dword [ebx + eax*8 + 0x1dc]
mov edx, dword [ebx + eax*8 + 0x1d8]
xorps xmm0, xmm0
push ecx
push edx
mov ecx, 0x8d68e0
movss dword [esp + 0x8c], xmm0
call fcn.004013f0
mov esi, eax
test byte [0x95c798], 1
jne 0x4fd299
or dword [0x95c798], 1
mov dword [0x95c790], 0x71fd94
call fcn.0043fda0
mov dword [0x95c794], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
cmp eax, 0x95c790
je 0x4fd2b7
mov ecx, dword [eax + 4]
cmp eax, ecx
je 0x4fd315
mov eax, ecx
cmp eax, 0x95c790
jne 0x4fd2a7
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x50]
push eax
lea eax, [esp + 0x4c]
push str._s_SPEED
push eax
call fcn.00626a10
mov edx, dword [eax]
add esp, 0xc
call fcn.0050e6f0
and eax, 0xfffffff
or eax, 0x10000000
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
call fcn.00626990
lea ecx, [esp + 0x14]
push ecx
mov edi, 0x91a408
call fcn.0050e790
test eax, eax
je 0x4fd309
movss xmm0, dword [eax + 4]
jmp 0x4fd30c
xorps xmm0, xmm0
movss dword [esp + 0x84], xmm0
movss xmm3, dword [0x7b3754]
lea edx, [ebx + 0x25e0]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x210], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x88]
movss xmm0, dword [eax + 0x30]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [eax + 0x34]
mov dword [esp + 0x214], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x30]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [eax + 0x38]
movss dword [esp + 0x38], xmm0
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x38]
movss xmm0, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov edx, dword [eax]
movss xmm2, dword [esp + 0x28]
mulss xmm0, xmm3
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x60], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x64], ecx
mulss xmm1, xmm3
mulss xmm2, xmm3
movss xmm3, dword [esp + 0x60]
addss xmm3, xmm0
movss xmm0, dword [esp + 0x64]
addss xmm0, xmm1
mov dword [esp + 0x68], edx
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x68]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x6c], eax
addss xmm0, xmm2
movss dword [esp + 0x38], xmm0
mov eax, dword [esp + 0x38]
movss dword [esp + 0x30], xmm3
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x194], edx
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x198], eax
mov eax, dword [ebx + 8]
push edx
mov dword [esp + 0x1a0], ecx
push eax
lea esi, [esp + 0x198]
lea ecx, [esp + 0x68]
mov eax, 0x918b30
call fcn.00506e60
push 0x10800
mov eax, 1
push 0x20000000
push 0xffffffffffffffff
mov ecx, 0x918b30
mov dword [0x919b38], 4
mov dword [0x91a2a0], eax
mov dword [0x91a29c], eax
call fcn.005059c0
mov eax, dword [0x919b30]
test eax, eax
jle 0x4fd494
movss xmm0, dword [0x918b30]
mulss xmm0, dword [0x7b3754]
movss dword [ebx + 0xb58], xmm0
mov eax, dword [0x80e368]
test eax, eax
mov dword [esp + 0x50], eax
je 0x4fe555
jmp 0x4fd4b0
mov esi, dword [esp + 0x50]
mov ecx, dword [esi + 0xa0]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov edi, dword [ebx + 0xc]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 8]
cmp eax, ecx
mov dword [esp + 0x18], esi
jne 0x4fd4da
cmp edx, edi
je 0x4fe52d
test byte [0x95c920], 1
jne 0x4fd4fe
or dword [0x95c920], 1
mov dword [0x95c918], 0x70c7ec
call fcn.0042ebc0
mov dword [0x95c91c], eax
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, 0x95c918
je 0x4fd528
lea esp, [esp]
mov ecx, dword [eax + 4]
cmp eax, ecx
je 0x4fe52d
mov eax, ecx
cmp eax, 0x95c918
jne 0x4fd510
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0xc4]
test eax, eax
jne 0x4fe52d
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x524]
test ah, 8
mov eax, 0x20000
jne 0x4fd550
mov eax, dword [esi + 0xac]
mov ecx, ebx
call fcn.004b67b0
test eax, eax
je 0x4fe1cf
movss xmm1, dword [esi + 0x40]
subss xmm1, dword [esp + 0xd0]
movss xmm0, dword [esi + 0x44]
subss xmm0, dword [esp + 0xd4]
movaps xmm2, xmm1
movss xmm1, dword [esi + 0x48]
subss xmm1, dword [esp + 0xd8]
movss dword [esp + 0xe0], xmm2
fld dword [esp + 0xe0]
fmul dword [esp + 0xe0]
movss dword [esp + 0x7c], xmm0
fld dword [esp + 0x7c]
movss dword [esp + 0x80], xmm1
fmul dword [esp + 0x7c]
mulss xmm2, dword [esp + 0x20]
movss dword [esp + 0xe4], xmm0
mulss xmm0, dword [esp + 0x24]
faddp st(1)
movss dword [esp + 0xe8], xmm1
fld dword [esp + 0x80]
mulss xmm1, dword [esp + 0x28]
fmul dword [esp + 0x80]
addss xmm0, xmm1
xorps xmm1, xmm1
addss xmm0, xmm2
comiss xmm1, xmm0
faddp st(1)
fsqrt
fstp dword [esp + 0x4c]
jae 0x4fe52d
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10c], eax
lea eax, [esp + 0x100]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], edx
call fcn.00404060
movss xmm0, dword [esp + 0x4c]
comiss xmm0, dword [0x738aa4]
jbe 0x4fd6a4
movss xmm0, dword [esp + 0x104]
mulss xmm0, dword [esp + 0x24]
movss xmm1, dword [esp + 0x108]
mulss xmm1, dword [esp + 0x28]
addss xmm0, xmm1
movss xmm1, dword [esp + 0x100]
mulss xmm1, dword [esp + 0x20]
addss xmm0, xmm1
movss xmm1, dword [esp + 0x8c]
comiss xmm1, xmm0
jae 0x4fe52d
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x46c]
test eax, eax
xorps xmm0, xmm0
movaps xmm2, xmm0
movaps xmm1, xmm0
je 0x4fd702
add eax, 0x220
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x180], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
movss xmm2, dword [esp + 0x180]
mov dword [esp + 0x184], ecx
movss xmm1, dword [esp + 0x184]
mov dword [esp + 0x188], edx
movss xmm0, dword [esp + 0x188]
mov dword [esp + 0x18c], eax
subss xmm0, dword [esp + 0x218]
subss xmm1, dword [esp + 0x214]
subss xmm2, dword [esp + 0x210]
movss xmm5, dword [esp + 0x24]
movss xmm6, dword [esp + 0x28]
movss xmm7, dword [esp + 0x20]
movss dword [esp + 0x1a8], xmm0
mov eax, dword [esp + 0x1a8]
movss dword [esp + 0x1a4], xmm1
mov edx, dword [esp + 0x1a4]
movss dword [esp + 0x1a0], xmm2
mov ecx, dword [esp + 0x1a0]
mov dword [esp + 0x234], edx
movss xmm1, dword [esp + 0x234]
mov dword [esp + 0x238], eax
movss xmm2, dword [esp + 0x238]
mov dword [esp + 0x230], ecx
mov ecx, dword [esp + 0x1ac]
movaps xmm0, xmm1
mulss xmm0, xmm5
movaps xmm3, xmm2
mulss xmm3, xmm6
addss xmm0, xmm3
movss xmm3, dword [esp + 0x230]
movaps xmm4, xmm3
mulss xmm4, xmm7
addss xmm0, xmm4
movaps xmm4, xmm0
mulss xmm4, xmm7
mulss xmm6, xmm0
subss xmm3, xmm4
mov dword [esp + 0x23c], ecx
movss dword [esp + 0x1c0], xmm3
mov edx, dword [esp + 0x1c0]
subss xmm2, xmm6
mulss xmm5, xmm0
movss dword [esp + 0x1c8], xmm2
mov ecx, dword [esp + 0x1c8]
subss xmm1, xmm5
movss dword [esp + 0x1c4], xmm1
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0x120], edx
mov edx, dword [esp + 0x1cc]
mov dword [esp + 0x128], ecx
lea ecx, [esp + 0x120]
mov dword [esp + 0x124], eax
mov dword [esp + 0x12c], edx
call fcn.004040c0
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
divss xmm0, dword [0x758974]
movss xmm1, dword [0x7389bc]
comiss xmm0, xmm1
jbe 0x4fd856
movaps xmm0, xmm1
movss xmm2, dword [0x758978]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
subss xmm2, xmm1
mulss xmm2, xmm0
addss xmm2, xmm1
movss dword [esp + 0x15c], xmm2
movss xmm2, dword [0x75897c]
lea edx, [esp + 0x2f0]
push edx
subss xmm2, xmm1
lea edx, [esp + 0xf4]
mulss xmm2, xmm0
addss xmm2, xmm1
push edx
movss dword [esp + 0x144], xmm2
call dword [eax + 0x208]
movss xmm0, dword [esp + 0xf0]
lea eax, [esp + 0x158]
push eax
lea ecx, [esp + 0x120]
push ecx
movss dword [esp + 0xf8], xmm0
movss xmm0, dword [esp + 0xfc]
addss xmm0, dword [0x738a98]
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0x19c]
push eax
lea ecx, [esp + 0x70]
movss dword [esp + 0x104], xmm0
movss xmm0, dword [esp + 0x108]
push ecx
lea edi, [esp + 0xd4]
lea edx, [esp + 0x304]
lea eax, [esp + 0x104]
movss dword [esp + 0x10c], xmm0
call fcn.0062ba20
movss xmm0, dword [esp + 0x130]
mulss xmm0, dword [0x7b3754]
movss dword [esp + 0x12c], xmm0
movss xmm0, dword [esp + 0xd4]
subss xmm0, dword [esp + 0xb4]
movss dword [esp + 0x264], xmm0
movss xmm0, dword [esp + 0xd8]
subss xmm0, dword [esp + 0xb8]
mov edx, dword [esp + 0x264]
movss dword [esp + 0x268], xmm0
movss xmm0, dword [esp + 0xdc]
subss xmm0, dword [esp + 0xbc]
mov eax, dword [esp + 0x268]
movss dword [esp + 0x26c], xmm0
mov ecx, dword [esp + 0x26c]
mov dword [esp + 0x274], edx
mov edx, dword [esp + 0x270]
mov dword [esp + 0x27c], ecx
add esp, 0x14
lea ecx, [esp + 0x260]
mov dword [esp + 0x264], eax
mov dword [esp + 0x26c], edx
call fcn.004040c0
fst dword [esp + 0x1c]
mov ecx, dword [esp + 0xc4]
fstp dword [ebx + 0xb5c]
mov edx, dword [esp + 0xc8]
mov edi, dword [esp + 0xcc]
movss xmm0, dword [esp + 0x158]
lea eax, [ebx + 0xb60]
mov esi, eax
mov eax, dword [esp + 0xc0]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov dword [esi + 0xc], edi
mov edi, dword [esp + 0xa0]
lea esi, [ebx + 0xb70]
mov dword [esi], edi
mov edi, dword [esp + 0xa4]
mov dword [esi + 4], edi
mov edi, dword [esp + 0xa8]
movss dword [ebx + 0xb84], xmm0
movss xmm0, dword [esp + 0x118]
movss xmm6, dword [0x7389bc]
comiss xmm6, xmm0
mov dword [esi + 8], edi
mov edi, dword [esp + 0xac]
mov dword [esi + 0xc], edi
movss dword [ebx + 0xb88], xmm0
movaps xmm1, xmm0
jbe 0x4fda78
movaps xmm1, xmm6
jmp 0x4fda88
movss xmm2, dword [0x738ac8]
comiss xmm0, xmm2
jbe 0x4fda88
movaps xmm1, xmm2
comiss xmm0, dword [ebx + 0xb58]
movss dword [ebx + 0xb88], xmm1
ja 0x4fe52d
movss xmm5, dword [esp + 0x4c]
movss xmm0, dword [0x7b377c]
movss xmm4, dword [0x7b3760]
movss xmm1, dword [esp + 0x15c]
movaps xmm2, xmm5
subss xmm4, xmm0
subss xmm2, xmm0
divss xmm2, xmm4
xorps xmm4, xmm4
comiss xmm4, xmm2
movaps xmm3, xmm1
mulss xmm3, dword [0x7b379c]
jbe 0x4fdae3
movaps xmm2, xmm4
jmp 0x4fdaeb
comiss xmm2, xmm6
jbe 0x4fdaeb
movaps xmm2, xmm6
movaps xmm0, xmm1
mulss xmm0, dword [0x7b37a4]
subss xmm0, xmm3
mulss xmm0, xmm2
movss xmm2, dword [esp + 0x1c]
addss xmm0, xmm3
comiss xmm0, xmm2
movss dword [ebx + 0xb8c], xmm0
jb 0x4fdb1d
mov dword [esp + 0x58], 1
movss xmm0, dword [ebx + 0xb44]
comiss xmm0, xmm2
jbe 0x4fe0df
movss xmm0, dword [0x7b37a0]
movss xmm7, dword [0x7b3768]
movss xmm6, dword [esp + 0x54]
movaps xmm3, xmm5
subss xmm3, xmm0
subss xmm7, xmm0
movaps xmm2, xmm1
mulss xmm2, dword [0x7b37a8]
divss xmm3, xmm7
comiss xmm4, xmm3
mulss xmm2, xmm6
jbe 0x4fdb6c
movaps xmm3, xmm4
jmp 0x4fdb7c
movss xmm0, dword [0x7389bc]
comiss xmm3, xmm0
jbe 0x4fdb7c
movaps xmm3, xmm0
movss xmm7, dword [0x7b3788]
movaps xmm0, xmm1
mulss xmm0, dword [0x7b3764]
mulss xmm0, xmm6
subss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm2
movaps xmm3, xmm1
mulss xmm3, dword [0x7b3798]
mulss xmm3, xmm6
movss xmm6, dword [0x7b3778]
movaps xmm2, xmm5
subss xmm2, xmm6
subss xmm7, xmm6
movss xmm6, dword [0x7389bc]
divss xmm2, xmm7
comiss xmm4, xmm2
jbe 0x4fdbd7
movaps xmm2, xmm4
jmp 0x4fdbdf
comiss xmm2, xmm6
jbe 0x4fdbdf
movaps xmm2, xmm6
mulss xmm1, dword [0x7b3784]
mulss xmm1, dword [esp + 0x54]
subss xmm1, xmm3
mulss xmm1, xmm2
movss xmm2, dword [esp + 0x1c]
addss xmm1, xmm3
movss dword [ebx + 0xb90], xmm0
subss xmm0, xmm1
subss xmm2, xmm1
divss xmm2, xmm0
movaps xmm0, xmm2
comiss xmm4, xmm0
movss dword [ebx + 0xb94], xmm1
ja 0x4fe0df
comiss xmm0, xmm6
jbe 0x4fdc31
movaps xmm0, xmm6
jmp 0x4fdc3a
comiss xmm0, xmm4
jbe 0x4fe0df
movss xmm2, dword [esp + 0x84]
comiss xmm2, xmm4
mulss xmm0, dword [0x7b3758]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0xcc]
movss dword [esp + 0x48], xmm0
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
jbe 0x4fdcf3
movss xmm1, dword [esp + 0x14]
comiss xmm1, xmm4
jbe 0x4fdcf3
movaps xmm0, xmm5
divss xmm0, xmm2
movss xmm2, dword [0x7389d4]
mulss xmm0, xmm1
comiss xmm0, xmm2
jbe 0x4fdc9f
movaps xmm0, xmm2
movss xmm3, dword [esp + 0x124]
movss xmm4, dword [esp + 0x128]
movss xmm2, dword [esp + 0xb0]
divss xmm0, xmm1
movss xmm1, dword [esp + 0x120]
mulss xmm1, xmm0
mulss xmm3, xmm0
mulss xmm4, xmm0
movss xmm0, dword [esp + 0xb8]
addss xmm2, xmm1
movss xmm1, dword [esp + 0xb4]
addss xmm1, xmm3
addss xmm0, xmm4
jmp 0x4fdd0e
movss xmm0, dword [esp + 0xb8]
movss xmm1, dword [esp + 0xb4]
movss xmm2, dword [esp + 0xb0]
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x1e0], eax
mov eax, dword [edx + 8]
subss xmm2, dword [esp + 0x1e0]
mov dword [esp + 0x1e4], ecx
mov ecx, dword [edx + 0xc]
subss xmm1, dword [esp + 0x1e4]
mov dword [esp + 0x1e8], eax
subss xmm0, dword [esp + 0x1e8]
mov dword [esp + 0x1ec], ecx
lea ecx, [esp + 0x220]
lea edx, [esp + 0x20]
movss dword [esp + 0x220], xmm2
movss dword [esp + 0x224], xmm1
movss dword [esp + 0x228], xmm0
call fcn.0043ebc0
fstp dword [esp + 0x1c]
fld dword [esp + 0x48]
fld dword [esp + 0x1c]
fcompi st(1)
fstp st(0)
jbe 0x4fdda0
movss xmm0, dword [esp + 0x48]
movss dword [esp + 0x1c], xmm0
movss xmm1, dword [esp + 0x228]
movss xmm0, dword [esp + 0x224]
movss xmm2, dword [esp + 0x28]
movss xmm4, dword [esp + 0x24]
movaps xmm5, xmm0
mulss xmm5, xmm2
movaps xmm3, xmm1
mulss xmm3, xmm4
subss xmm3, xmm5
movaps xmm5, xmm2
movss xmm2, dword [esp + 0x220]
movss dword [esp + 0x270], xmm3
movss xmm3, dword [esp + 0x20]
mulss xmm5, xmm2
mulss xmm1, xmm3
mulss xmm0, xmm3
mulss xmm4, xmm2
subss xmm5, xmm1
subss xmm0, xmm4
lea eax, [esp + 0x270]
movss dword [esp + 0x274], xmm5
movss dword [esp + 0x278], xmm0
call fcn.00404060
movss xmm0, dword [esp + 0x1c]
lea edi, [esp + 0x270]
lea esi, [esp + 0x300]
call fcn.0042e340
mov edx, esi
push edx
lea ecx, [esp + 0x24]
lea eax, [esp + 0x164]
call fcn.0042e3a0
movss xmm1, dword [esp + 0x20]
movss xmm2, dword [esp + 0x24]
movss xmm3, dword [esp + 0x28]
subss xmm1, dword [esp + 0x160]
subss xmm2, dword [esp + 0x164]
subss xmm3, dword [esp + 0x168]
xor edi, edi
movss dword [esp + 0x2c0], xmm1
movss dword [esp + 0x2c4], xmm2
movss dword [esp + 0x114], xmm3
jmp 0x4fdec0
movss xmm1, dword [esp + 0x2c0]
movss xmm2, dword [esp + 0x2c4]
movss xmm3, dword [esp + 0x114]
jmp 0x4fdec0
cvtsi2ss xmm0, edi
mulss xmm0, dword [0x738a64]
mulss xmm1, xmm0
addss xmm1, dword [esp + 0x160]
mulss xmm2, xmm0
addss xmm2, dword [esp + 0x164]
mulss xmm3, xmm0
addss xmm3, dword [esp + 0x168]
lea eax, [esp + 0x200]
movss dword [esp + 0x200], xmm1
movss dword [esp + 0x204], xmm2
movss dword [esp + 0x208], xmm3
call fcn.00404060
movss xmm3, dword [ebx + 0xb88]
mov ecx, dword [ebx + 0xc]
movss xmm0, dword [esp + 0x200]
mov edx, dword [ebx + 8]
movss xmm1, dword [esp + 0x204]
movss xmm2, dword [esp + 0x208]
lea eax, [esp + 0x60]
push eax
push ecx
mulss xmm0, xmm3
addss xmm0, dword [esp + 0x68]
mulss xmm1, xmm3
addss xmm1, dword [esp + 0x6c]
mulss xmm2, xmm3
addss xmm2, dword [esp + 0x70]
push edx
lea esi, [esp + 0x2ac]
mov eax, 0x918b30
movss dword [esp + 0x2ac], xmm0
movss dword [esp + 0x2b0], xmm1
movss dword [esp + 0x2b4], xmm2
call fcn.00506fc0
push 0x10800
push 0x20000000
push 0xffffffffffffffff
mov ecx, eax
call fcn.005059c0
mov eax, dword [0x919b30]
test eax, eax
je 0x4fdfbf
inc edi
cmp edi, 4
jl 0x4fde99
jmp 0x4fe0ce
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 0xb5c]
movss xmm0, dword [esp + 0xa0]
mov dword [ebx + 0xb44], eax
mov edx, dword [ecx + 8]
mov dword [ebx + 0xb50], edx
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0xb54], eax
movss xmm1, dword [ecx + 0x40]
movss xmm2, dword [ecx + 0x44]
movss xmm3, dword [ecx + 0x48]
subss xmm0, xmm1
movss dword [esp + 0x240], xmm0
fld dword [esp + 0x240]
movss xmm0, dword [esp + 0xa4]
subss xmm0, xmm2
movss dword [esp + 0x244], xmm0
movss xmm0, dword [esp + 0xa8]
subss xmm0, xmm3
movss dword [esp + 0x248], xmm0
fld dword [esp + 0x248]
fpatan
mov edx, dword [ecx]
fstp dword [esp + 0x14]
call dword [edx + 0x1b0]
fsubr dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x244]
fstp dword [esp]
call fcn.0042e2d0
push ecx
lea ecx, [esp + 0x318]
fstp dword [esp]
call fcn.00403ff0
lea ecx, [esp + 0x240]
mov esi, eax
call fcn.004040c0
fld st(0)
fmul dword [esi]
lea eax, [ebx + 0xbb0]
fstp dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1d0]
fld st(0)
fmul dword [esi + 4]
fstp dword [esp + 0x1d4]
mov edx, dword [esp + 0x1d4]
fmul dword [esi + 8]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x1dc]
fstp dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1d8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
movss xmm5, dword [esp + 0x4c]
movss xmm6, dword [0x7389bc]
xorps xmm4, xmm4
movss xmm0, dword [0x7b3750]
movss xmm2, dword [0x7b37ac]
movaps xmm1, xmm5
subss xmm1, xmm0
subss xmm2, xmm0
divss xmm1, xmm2
comiss xmm4, xmm1
jbe 0x4fe108
movaps xmm1, xmm4
jmp 0x4fe110
comiss xmm1, xmm6
jbe 0x4fe110
movaps xmm1, xmm6
movss xmm2, dword [0x7b3794]
movss xmm0, dword [0x7b3790]
subss xmm0, xmm2
mulss xmm0, xmm1
movss xmm1, dword [0x7b375c]
addss xmm0, xmm2
movss xmm2, dword [0x7b3780]
subss xmm5, xmm1
subss xmm2, xmm1
divss xmm5, xmm2
comiss xmm4, xmm5
jbe 0x4fe152
movaps xmm5, xmm4
jmp 0x4fe15a
comiss xmm5, xmm6
jbe 0x4fe15a
movaps xmm5, xmm6
movss xmm2, dword [0x7b376c]
movss xmm1, dword [0x7b378c]
subss xmm1, xmm2
mulss xmm1, xmm5
addss xmm1, xmm2
movss xmm2, dword [ebx + 0xb5c]
movss dword [ebx + 0xb98], xmm0
subss xmm2, xmm1
subss xmm0, xmm1
divss xmm2, xmm0
comiss xmm4, xmm2
movss dword [ebx + 0xb9c], xmm1
jbe 0x4fe1a4
movaps xmm2, xmm4
jmp 0x4fe1ac
comiss xmm2, xmm6
jbe 0x4fe1ac
movaps xmm2, xmm6
mulss xmm2, dword [esp + 0x13c]
comiss xmm2, dword [ebx + 0xb48]
jbe 0x4fe52d
movss dword [ebx + 0xb48], xmm2
jmp 0x4fe52d
mov eax, dword [0x758984]
test eax, eax
je 0x4fe52d
mov eax, dword [esp + 0x18]
movss xmm0, dword [eax + 0x40]
subss xmm0, dword [esp + 0xd0]
movss xmm1, dword [eax + 0x44]
subss xmm1, dword [esp + 0xd4]
movss dword [esp + 0x90], xmm0
movss xmm0, dword [eax + 0x48]
subss xmm0, dword [esp + 0xd8]
lea ecx, [esp + 0x90]
movss dword [esp + 0x94], xmm1
movss dword [esp + 0x98], xmm0
call fcn.004040c0
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x90]
mulss xmm0, dword [esp + 0x20]
movss xmm1, dword [esp + 0x94]
mulss xmm1, dword [esp + 0x24]
addss xmm0, xmm1
movss xmm1, dword [esp + 0x98]
mulss xmm1, dword [esp + 0x28]
addss xmm0, xmm1
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x4fe52d
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x14c], eax
lea eax, [esp + 0x140]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], edx
call fcn.00404060
movss xmm0, dword [esp + 0x14]
comiss xmm0, dword [0x738aa4]
jbe 0x4fe310
movss xmm0, dword [esp + 0x140]
mulss xmm0, dword [esp + 0x20]
movss xmm1, dword [esp + 0x144]
mulss xmm1, dword [esp + 0x24]
addss xmm0, xmm1
movss xmm1, dword [esp + 0x148]
mulss xmm1, dword [esp + 0x28]
addss xmm0, xmm1
movss xmm1, dword [esp + 0x8c]
comiss xmm1, xmm0
jae 0x4fe52d
mov esi, dword [esp + 0x18]
movss xmm0, dword [esi + 0x40]
movss dword [esp + 0x1f0], xmm0
movss xmm0, dword [esi + 0x44]
mov ecx, dword [esp + 0x1f0]
movss dword [esp + 0x1f4], xmm0
movss xmm0, dword [esi + 0x48]
mov edx, dword [esp + 0x1f4]
movss dword [esp + 0x1f8], xmm0
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x30], ecx
movss xmm0, dword [esp + 0x30]
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x34], edx
movss dword [esp + 0x170], xmm0
movss xmm0, dword [esp + 0x34]
addss xmm0, dword [0x738b48]
mov edx, dword [esp + 0x170]
mov dword [esp + 0x38], eax
movss dword [esp + 0x174], xmm0
movss xmm0, dword [esp + 0x38]
mov eax, dword [esp + 0x174]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x294], eax
movss dword [esp + 0x178], xmm0
mov ecx, dword [esp + 0x178]
mov dword [esp + 0x290], edx
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x298], ecx
lea eax, [esp + 0x2ec]
push eax
mov dword [esp + 0x2a0], edx
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x2b8]
push edx
lea eax, [esp + 0x19c]
push eax
lea ecx, [esp + 0x70]
push ecx
lea edi, [esp + 0x2e4]
lea edx, [esp + 0x44]
lea eax, [esp + 0x2a4]
call fcn.0062ba20
movss xmm0, dword [esp + 0x2e4]
subss xmm0, dword [esp + 0x2c4]
movss dword [esp + 0x1c4], xmm0
movss xmm0, dword [esp + 0x2e8]
subss xmm0, dword [esp + 0x2c8]
mov edx, dword [esp + 0x1c4]
movss dword [esp + 0x1c8], xmm0
movss xmm0, dword [esp + 0x2ec]
subss xmm0, dword [esp + 0x2cc]
mov eax, dword [esp + 0x1c8]
movss dword [esp + 0x1cc], xmm0
movss xmm0, dword [esp + 0x70]
mov ecx, dword [esp + 0x1cc]
mulss xmm0, dword [0x7b3754]
mov dword [esp + 0x294], edx
mov edx, dword [esp + 0x1d0]
add esp, 0x14
comiss xmm0, dword [ebx + 0xb58]
mov dword [esp + 0x284], eax
mov dword [esp + 0x288], ecx
mov dword [esp + 0x28c], edx
jbe 0x4fe4ba
mov edi, 1
jmp 0x4fe4bc
xor edi, edi
lea ecx, [esp + 0x280]
call fcn.004040c0
fstp dword [esp + 0x1c]
test edi, edi
jne 0x4fe52d
movss xmm1, dword [0x7b377c]
movss xmm0, dword [esp + 0x14]
movss xmm2, dword [0x7b3760]
subss xmm0, xmm1
subss xmm2, xmm1
xorps xmm1, xmm1
divss xmm0, xmm2
comiss xmm1, xmm0
ja 0x4fe507
movss xmm1, dword [0x7389bc]
comiss xmm0, xmm1
jbe 0x4fe50a
movaps xmm0, xmm1
movss xmm1, dword [0x7b379c]
movss xmm2, dword [0x7b37a4]
subss xmm2, xmm1
mulss xmm2, xmm0
addss xmm2, xmm1
comiss xmm2, dword [esp + 0x1c]
jae 0x4fe53b
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x4fd4b0
jmp 0x4fe555
mov eax, dword [esi + 8]
mov dword [ebx + 0xba0], eax
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x58], 1
mov dword [ebx + 0xba4], ecx
movss xmm0, dword [ebx + 0xb48]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4fe63e
movss xmm2, dword [0x7b3770]
movss xmm0, dword [ebx + 0xb88]
movss xmm3, dword [0x7b3774]
subss xmm0, xmm2
subss xmm3, xmm2
movss xmm2, dword [0x7389bc]
divss xmm0, xmm3
comiss xmm1, xmm0
jbe 0x4fe59f
movaps xmm0, xmm1
jmp 0x4fe5a7
comiss xmm0, xmm2
jbe 0x4fe5a7
movaps xmm0, xmm2
mulss xmm0, dword [ebx + 0xb48]
movss dword [ebx + 0xb48], xmm0
mov edx, str.TurnDampeningT
mov ecx, 0x1505
mov eax, 0x54
inc edx
cmp eax, 0x61
jl 0x4fe5d4
cmp eax, 0x7a
jg 0x4fe5d4
sub eax, 0x20
imul ecx, ecx, 0x21
xor ecx, eax
movsx eax, byte [edx]
test eax, eax
jne 0x4fe5c6
and ecx, 0xfffffff
lea edx, [esp + 0x5c]
or ecx, 0x10000000
push edx
mov edi, 0x91a408
mov dword [esp + 0x60], ecx
call fcn.0050e790
test eax, eax
je 0x4fe608
movss xmm1, dword [eax + 4]
subss xmm1, xmm2
mulss xmm1, xmm0
movss xmm0, dword [ebx + 0x904]
addss xmm1, xmm2
mulss xmm0, xmm1
movss dword [ebx + 0x904], xmm0
movss xmm0, dword [ebx + 0x908]
mulss xmm0, xmm1
movss dword [ebx + 0x908], xmm0
jmp 0x4fe646
movss dword [ebx + 0xb48], xmm1
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x58]
push ecx
mov esi, ebx
mov dword [ebx + 0xb40], eax
call fcn.004fe890
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4