Function at 0x5fbc90
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1f8
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [esp + 0x28], edi
mov eax, dword [esi]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x5fcad8
call fcn.005cca00
test eax, eax
je 0x5fcad8
cmp byte [edi + 0xe5], 0
je 0x5fbcdc
mov dword [edi + 0xd8], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esi]
movaps xmm0, xmmword [0x717f30]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x14]
movups xmmword [esp + 0x6c], xmm0
mov dword [esp + 0x68], eax
movaps xmm0, xmmword [0x71ac40]
movups xmmword [esp + 0x7c], xmm0
mov dword [esp + 0x8c], inet_addr
mov word [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], inet_addr
mov esi, dword [eax + 0x1c]
mov dword [esp + 0x38], eax
lea ecx, [esi + 3]
and ecx, 0xfffffffc
mov dword [esp + 0x24], ecx
jle 0x5fbd65
push 0x30
push ecx
lea eax, [esp + 0x80]
push eax
push 0x7d8954
call fcn.00467b80
mov ecx, dword [esp + 0x34]
add esp, 0x10
mov eax, dword [esp + 0x74]
and eax, 0x3fffffff
cmp eax, ecx
jge 0x5fbd8b
push 0x30
push ecx
lea eax, [esp + 0x74]
push eax
push 0x7d8954
call fcn.00467b80
mov ecx, dword [esp + 0x34]
add esp, 0x10
mov eax, dword [esp + 0x8c]
and eax, 0x3fffffff
cmp eax, ecx
jge 0x5fbdb3
push 4
push ecx
lea eax, [esp + 0x8c]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov ecx, dword [esp + 0x80]
and ecx, 0x3fffffff
cmp ecx, esi
jge 0x5fbde5
add ecx, ecx
mov eax, esi
cmp esi, ecx
push 0x30
cmovl eax, ecx
push eax
lea eax, [esp + 0x80]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov ecx, dword [esp + 0x74]
and ecx, 0x3fffffff
mov dword [esp + 0x7c], esi
cmp ecx, esi
jge 0x5fbe15
add ecx, ecx
mov eax, esi
cmp esi, ecx
push 0x30
cmovl eax, ecx
push eax
lea eax, [esp + 0x74]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov ecx, dword [esp + 0x8c]
and ecx, 0x3fffffff
mov dword [esp + 0x70], esi
cmp ecx, esi
jge 0x5fbe4b
add ecx, ecx
mov eax, esi
cmp esi, ecx
push 4
cmovl eax, ecx
push eax
lea eax, [esp + 0x8c]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov eax, dword [esp + 0x68]
mov dword [esp + 0x88], esi
mov esi, dword [eax + 0x40]
mov eax, dword [esp + 0x9c]
and eax, 0x3fffffff
lea ecx, [esi + 3]
and ecx, 0xfffffffc
cmp eax, ecx
jge 0x5fbe87
push 4
push ecx
lea eax, [esp + 0x9c]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov ecx, dword [esp + 0x9c]
and ecx, 0x3fffffff
cmp ecx, esi
jge 0x5fbeb9
add ecx, ecx
mov eax, esi
cmp esi, ecx
push 4
cmovl eax, ecx
push eax
lea eax, [esp + 0x9c]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov edx, dword [esp + 0x98]
mov ecx, esi
mov eax, dword [esp + 0x94]
sub ecx, edx
lea edx, [eax + edx*4]
test ecx, ecx
jle 0x5fbedc
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x98], esi
mov esi, dword [ebp + 0xc]
mov edx, dword [edx + 0x1c]
mov eax, dword [esi]
movsx ecx, word [eax + 0x34]
add ecx, eax
mov dword [esp + 0x60], edx
lea eax, [esp + 0x5c]
mov dword [esp + 0x5c], ecx
or edx, 0x80000000
lea ecx, [esp + 0x68]
push eax
mov dword [esp + 0x68], edx
call fcn.0057fe70
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
jne 0x5fbf25
xor eax, eax
jmp 0x5fbf2a
call fcn.005cca00
movsx edx, word [edi + 0xa6]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x3c], eax
mov ecx, dword [ecx + edx*4]
test ecx, ecx
jns 0x5fc094
xor eax, eax
mov byte [edi + 0xe4], 1
xorps xmm0, xmm0
movss dword [esp + 0x28], xmm0
test eax, eax
je 0x5fc1d9
movaps xmm0, xmmword [eax + 0x120]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x130], 0x3f800000
mov dword [esp + 0x138], 0xffffffff
mov dword [esp + 0x134], 0xffffffff
mov dword [esp + 0x160], 0
mov dword [esp + 0x140], 0xffffffff
mov dword [esp + 0x170], 0
mov byte [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
movaps xmmword [esp + 0xa0], xmm0
call fcn.005c60d0
movaps xmm0, xmmword [0x7b2f40]
mov ecx, dword [ebp + 8]
mulps xmm0, xmmword [eax]
movsx eax, word [edi + 0xa4]
mov dword [esp + 0xc4], eax
addps xmm0, xmmword [esp + 0xa0]
movaps xmmword [esp + 0xb0], xmm0
call fcn.005c60b0
mov ecx, eax
call fcn.0050d7e0
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.005c60b0
mov ecx, eax
call fcn.0050e2e0
mov ecx, dword [ebp + 8]
call fcn.005c60b0
mov ecx, eax
call fcn.0050d800
movaps xmm1, xmmword [esp + 0xa0]
movaps xmm2, xmmword [esp + 0xb0]
movss xmm0, dword [esp + 0x130]
subps xmm2, xmm1
shufps xmm0, xmm0, 0
mulps xmm2, xmm0
addps xmm2, xmm1
subps xmm2, xmm1
mulps xmm2, xmm2
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x55
addss xmm0, xmm2
shufps xmm2, xmm2, 0xaa
addss xmm2, xmm0
movss xmm0, dword [0x7b2f2c]
sqrtss xmm2, xmm2
comiss xmm0, xmm2
jbe 0x5fc0f0
mov byte [edi + 0xe5], 1
mov dword [edi + 0xd8], 0
jmp 0x5fca92
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x5fbf45
movaps xmm1, xmmword [eax + 0x1b0]
mulps xmm1, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
shufps xmm1, xmm1, 0xaa
addss xmm1, xmm0
movss xmm0, dword [0x7b2f2c]
sqrtss xmm1, xmm1
comiss xmm0, xmm1
jbe 0x5fbf45
cmp byte [edi + 0xe4], 0
jne 0x5fbf4c
mov dword [edi + 0xd8], 0
jmp 0x5fca92
cmp byte [edi + 0xaa], 0
je 0x5fc1d9
mov ecx, dword [esi]
movsx eax, word [ecx + 0x14]
movaps xmm0, xmmword [eax + ecx + 0x10]
mov ecx, dword [ebp + 8]
movaps xmmword [esp + 0x100], xmm0
call fcn.005c60d0
movaps xmm5, xmmword [esp + 0x100]
movaps xmm6, xmm5
movaps xmm1, xmm5
shufps xmm6, xmm5, 0xc9
movaps xmm4, xmm5
movaps xmm2, xmmword [eax]
movaps xmm3, xmm2
shufps xmm1, xmm5, 0xd2
mulps xmm3, xmm5
push ecx
shufps xmm4, xmm5, 0xff
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
addss xmm0, xmm3
shufps xmm3, xmm3, 0xaa
addss xmm3, xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xd2
mulps xmm6, xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xc9
mulps xmm1, xmm0
shufps xmm3, xmm3, 0
mulps xmm3, xmm5
subps xmm6, xmm1
mulps xmm6, xmm4
mulps xmm4, xmm4
addps xmm4, xmmword [0x7195c0]
mulps xmm4, xmm2
addps xmm4, xmm3
addps xmm6, xmm4
addps xmm6, xmm6
mulps xmm6, xmmword [esp + 0x124]
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
addss xmm0, xmm6
shufps xmm6, xmm6, 0xaa
addss xmm6, xmm0
movss dword [esp], xmm6
call fcn.005d82a0
movss xmm0, dword [0x785c54]
add esp, 4
fstp dword [esp + 0x28]
movss xmm1, dword [esp + 0x28]
comiss xmm0, xmm1
ja 0x5fc1cb
movaps xmm1, xmm0
mulss xmm1, dword [0x7b2f30]
movss dword [esp + 0x28], xmm1
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x1b0]
push eax
movsx eax, word [edi + 0xa8]
push eax
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
mov byte [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov byte [esp + 0x1f], 0
call fcn.0058aba0
lea eax, [esp + 0x1b0]
mov ecx, edi
push eax
push esi
push dword [ebp + 8]
lea eax, [esp + 0x23]
push eax
lea eax, [esp + 0x1a0]
push eax
lea eax, [esp + 0x194]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.005fcc00
push dword [ebp + 8]
lea eax, [esp + 0x6c]
mov ecx, edi
push eax
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.005fd070
push esi
push dword [ebp + 8]
lea eax, [esp + 0x70]
mov ecx, edi
push eax
lea eax, [esp + 0x1ec]
push eax
call fcn.005fd260
mov eax, dword [edi + 0x64]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x114], eax
movzx eax, word [edi + 0x68]
mov word [esp + 0x118], ax
mov eax, dword [edi + 0x6a]
mov dword [esp + 0x11a], eax
movzx eax, word [edi + 0x6e]
mov word [esp + 0x11e], ax
mov dword [esp + 0x18], ecx
cmp ecx, dword [esp + 0x24]
jge 0x5fca53
mov eax, ecx
lea edx, [esp + 0x1e0]
shl eax, 4
lea esi, [esp + 0x118]
add edx, eax
lea eax, [ecx + ecx*2]
lea eax, [esi + eax*2]
mov dword [esp + 0x2c], edx
lea esi, [ecx + 0xb]
mov dword [esp + 0x20], eax
shl esi, 4
lea eax, [ecx + 0x34]
add esi, edi
lea eax, [edi + eax*4]
mov dword [esp + 0x30], esi
mov esi, 0x20
sub esi, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0xfc], esi
mov esi, dword [esp + 0x30]
nop dword [eax + eax]
cmp byte [edi + ecx + 0xe6], 0
jne 0x5fc88c
cmp byte [0x87a1e1], 0
mov byte [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0x130], 0x3f800000
mov dword [esp + 0x138], 0xffffffff
mov dword [esp + 0x134], 0xffffffff
mov dword [esp + 0x160], 0
mov dword [esp + 0x140], 0xffffffff
mov dword [esp + 0x170], 0
je 0x5fc3a8
movss xmm0, dword [edi + 0x7c]
movaps xmm1, xmmword [edx]
shufps xmm0, xmm0, 0
mulps xmm0, xmmword [esp + 0x180]
movaps xmmword [esp + 0xa0], xmm1
addps xmm0, xmm1
movaps xmmword [esp + 0xb0], xmm0
jmp 0x5fc566
mov eax, dword [esp + 0x38]
push dword [0x884adc]
mov esi, dword [eax + 0x1c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
lea esi, [esi + esi*2]
mov ecx, eax
shl esi, 4
add esi, 0x7f
and esi, 0xffffff80
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x34], eax
lea edx, [eax + esi]
cmp esi, dword [ecx + 8]
jg 0x5fc3e2
cmp edx, dword [ecx + 0x10]
ja 0x5fc3e2
mov dword [ecx + 0xc], edx
jmp 0x5fc3ec
push esi
call fcn.0046a3c0
mov dword [esp + 0x34], eax
push eax
mov eax, dword [esp + 0x3c]
push dword [eax + 0x24]
push dword [eax + 0xc]
push dword [eax + 0x1c]
call fcn.0057e2a0
mov eax, dword [esp + 0x3c]
add esp, 0x10
mov ecx, dword [ebp + 8]
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0xa0], xmm0
call fcn.005c60d0
mov ecx, dword [ebp + 8]
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0x100], xmm0
call fcn.005c60d0
movaps xmm1, xmmword [esp + 0x190]
movaps xmm5, xmmword [esp + 0x190]
mov edx, dword [esp + 0x20]
mulps xmm1, xmmword [eax]
mov ecx, dword [esp + 0x34]
movsx eax, word [edx - 4]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
shufps xmm1, xmm1, 0xaa
lea eax, [eax + eax*2]
add eax, eax
addss xmm1, xmm0
shufps xmm1, xmm1, 0
mulps xmm1, xmmword [esp + 0x100]
subps xmm5, xmm1
xorps xmm1, xmm1
movaps xmm3, xmm5
mulps xmm3, xmm5
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
addss xmm0, xmm3
shufps xmm3, xmm3, 0xaa
addss xmm3, xmm0
movaps xmm0, xmm1
shufps xmm3, xmm3, 0
movaps xmm2, xmm3
movaps xmm4, xmm3
rsqrtss xmm2, xmm2
cmpeqss xmm4, xmm0
mulss xmm3, xmm2
movss xmm0, dword [0x719764]
movaps xmm1, xmm0
mulss xmm3, xmm2
subss xmm1, xmm3
movss xmm3, dword [0x719760]
movaps xmm0, xmm3
mulss xmm0, xmm2
mulss xmm0, xmm1
andnps xmm4, xmm0
shufps xmm4, xmm4, 0
mulps xmm4, xmm5
movaps xmmword [esp + 0xb0], xmm4
movss xmm1, dword [ecx + eax*8 + 8]
movsx ecx, word [edx]
mov edx, dword [esp + 0x3c]
shufps xmm1, xmm1, 0
mulps xmm1, xmm4
mov eax, dword [edx + 0x20]
movaps xmmword [esp + 0xb0], xmm1
mov ecx, dword [eax + ecx*4]
test ecx, ecx
js 0x5fc522
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x5fc522
movaps xmm0, xmmword [eax + 0x120]
addps xmm0, xmm1
movaps xmmword [esp + 0xb0], xmm0
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edx, eax
lea eax, [esi + 0xf]
and eax, 0xfffffff0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x34]
cmp esi, dword [edx + 8]
mov esi, dword [esp + 0x58]
jg 0x5fc559
lea ecx, [esi + eax]
cmp ecx, dword [edx + 0xc]
jne 0x5fc559
cmp dword [edx + 0x14], eax
je 0x5fc559
mov dword [edx + 0xc], eax
jmp 0x5fc562
push esi
push eax
mov ecx, edx
call fcn.0046a590
mov esi, dword [esp + 0x30]
movsx eax, word [edi + 0xa4]
mov ecx, dword [ebp + 8]
mov dword [esp + 0xc4], eax
call fcn.005c60b0
mov ecx, eax
call fcn.0050d7e0
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.005c60b0
mov ecx, eax
call fcn.0050e2e0
mov ecx, dword [ebp + 8]
call fcn.005c60b0
mov ecx, eax
call fcn.0050d800
cmp dword [esp + 0x170], 0
je 0x5fc5ed
movss xmm4, dword [0x718824]
movss xmm0, dword [esp + 0x130]
subss xmm4, xmm0
shufps xmm0, xmm0, 0
mulps xmm0, xmmword [esp + 0xb0]
shufps xmm4, xmm4, 0
mulps xmm4, xmmword [esp + 0xa0]
addps xmm4, xmm0
jmp 0x5fc5f5
movaps xmm4, xmmword [esp + 0xb0]
cmp byte [esp + 0x17], 0
movss xmm5, dword [edi + 0x88]
movaps xmmword [esp + 0x100], xmm4
je 0x5fc614
movss xmm5, dword [edi + 0x8c]
mov eax, dword [esp + 0x2c]
movaps xmm6, xmm4
movaps xmm7, xmmword [eax]
subps xmm6, xmm7
movaps xmm2, xmm6
mulps xmm2, xmm6
movaps xmm0, xmm2
movaps xmmword [esp + 0x1a0], xmm2
shufps xmm0, xmm2, 0x55
movaps xmm1, xmm2
addss xmm0, xmm2
shufps xmm1, xmm2, 0xaa
addss xmm1, xmm0
sqrtss xmm1, xmm1
comiss xmm1, xmm5
jbe 0x5fc6c3
movaps xmm0, xmm2
shufps xmm5, xmm5, 0
shufps xmm0, xmm2, 0x55
movaps xmm3, xmm2
addss xmm0, xmm2
shufps xmm3, xmm2, 0xaa
xorps xmm1, xmm1
addss xmm3, xmm0
movaps xmm0, xmm1
shufps xmm3, xmm3, 0
movaps xmm2, xmm3
movaps xmm4, xmm3
rsqrtss xmm2, xmm2
cmpeqss xmm4, xmm0
mulss xmm3, xmm2
movss xmm0, dword [0x719764]
movaps xmm1, xmm0
mulss xmm3, xmm2
subss xmm1, xmm3
movss xmm3, dword [0x719760]
movaps xmm0, xmm3
mulss xmm0, xmm2
mulss xmm0, xmm1
andnps xmm4, xmm0
shufps xmm4, xmm4, 0
mulps xmm4, xmm6
mulps xmm4, xmm5
addps xmm4, xmm7
movaps xmmword [esp + 0x100], xmm4
mov ecx, dword [esp + 0x18]
cmp byte [ecx + edi + 0xe2], 0
je 0x5fc72c
cmp byte [0x87a1e3], 0
push esi
jne 0x5fc6e8
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
movsx eax, word [ecx + 0x14]
add eax, ecx
jmp 0x5fc6ef
lea eax, [esp + 0x1b4]
push eax
lea ecx, [esp + 0x48]
call fcn.0046eb90
movss xmm1, dword [edi + 0x80]
movss xmm0, dword [0x718824]
subss xmm0, xmm1
shufps xmm1, xmm1, 0
mulps xmm1, xmmword [esp + 0x40]
shufps xmm0, xmm0, 0
mulps xmm0, xmmword [esp + 0x100]
addps xmm0, xmm1
movaps xmmword [esp + 0x40], xmm0
jmp 0x5fc739
movaps xmmword [esp + 0x40], xmm4
mov byte [ecx + edi + 0xe2], 1
cmp byte [0x87a1e3], 0
jne 0x5fc754
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
lea eax, [esp + 0x40]
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
jmp 0x5fc760
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x1b4]
push eax
mov ecx, esi
call fcn.0046ec20
movaps xmm2, xmmword [esp + 0x1a0]
movaps xmm0, xmm2
movss xmm3, dword [edi + 0x88]
shufps xmm0, xmm2, 0x55
movaps xmm1, xmm2
addss xmm0, xmm2
shufps xmm1, xmm2, 0xaa
movss xmm7, dword [edi + 0x84]
addss xmm1, xmm0
sqrtss xmm1, xmm1
comiss xmm3, xmm1
jbe 0x5fc7c9
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x55
addss xmm0, xmm2
shufps xmm2, xmm2, 0xaa
addss xmm2, xmm0
xorps xmm0, xmm0
sqrtss xmm2, xmm2
subss xmm3, xmm2
subss xmm7, xmm3
comiss xmm0, xmm7
jbe 0x5fc7c9
movaps xmm7, xmm0
movaps xmm6, xmmword [esp + 0x40]
xorps xmm1, xmm1
mov eax, dword [esp + 0x2c]
movaps xmm5, xmm6
shufps xmm7, xmm7, 0
subps xmm5, xmmword [eax]
mov eax, dword [esp + 0x1c]
movaps xmm4, xmm5
mulps xmm4, xmm5
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
addss xmm0, xmm4
shufps xmm4, xmm4, 0xaa
addss xmm4, xmm0
movaps xmm0, xmm1
shufps xmm4, xmm4, 0
movaps xmm2, xmm4
movaps xmm3, xmm4
rsqrtss xmm2, xmm2
cmpeqss xmm3, xmm0
mulss xmm4, xmm2
movss xmm0, dword [0x719764]
movaps xmm1, xmm0
mulss xmm4, xmm2
subss xmm1, xmm4
movss xmm4, dword [0x719760]
movaps xmm0, xmm4
mulss xmm0, xmm2
movss xmm2, dword [0x718824]
mulss xmm0, xmm1
movss xmm1, dword [eax]
comiss xmm2, xmm1
andnps xmm3, xmm0
shufps xmm3, xmm3, 0
mulps xmm3, xmm5
mulps xmm3, xmm7
subps xmm6, xmm3
movaps xmmword [esp + 0x40], xmm6
jbe 0x5fc906
movss xmm0, dword [edi + 0xd8]
mulss xmm0, dword [edi + 0x90]
addss xmm0, xmm1
comiss xmm2, xmm0
movss dword [eax], xmm0
ja 0x5fc886
movaps xmm0, xmm2
movss dword [eax], xmm0
jmp 0x5fc906
movss xmm0, dword [eax]
comiss xmm0, dword [0x718814]
jbe 0x5fc901
cmp byte [0x87a1e3], 0
push esi
jne 0x5fc8b0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx eax, word [ecx + 0x14]
add eax, ecx
jmp 0x5fc8b7
lea eax, [esp + 0x1b4]
push eax
lea ecx, [esp + 0x48]
call fcn.0046eb90
movss xmm0, dword [edi + 0xd8]
mov eax, dword [esp + 0x1c]
mulss xmm0, dword [edi + 0x94]
movss xmm1, dword [eax]
subss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm1, xmm0
movss dword [eax], xmm1
ja 0x5fc8ec
movaps xmm1, xmm0
comiss xmm0, xmm1
movss dword [eax], xmm1
jb 0x5fc901
mov ecx, dword [esp + 0x18]
mov byte [ecx + edi + 0xe2], 0
movaps xmm6, xmmword [esp + 0x40]
cmp byte [edi + 0xaa], 0
movaps xmm0, xmmword [0x7194c0]
movaps xmm1, xmmword [0x719320]
movaps xmmword [esp + 0xb0], xmm0
movss xmm0, dword [eax]
movss dword [esp + 0xd4], xmm0
movss xmm0, dword [edi + 0x98]
movaps xmmword [esp + 0xa0], xmm1
movss dword [esp + 0xe0], xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
movss dword [esp + 0xa0], xmm6
shufps xmm6, xmm6, 0xaa
movaps xmmword [esp + 0xc0], xmm1
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0x3f800000
mov word [esp + 0xec], 0
movss dword [esp + 0xa4], xmm0
movss dword [esp + 0xa8], xmm6
mov dword [esp + 0xac], 0x3f800000
je 0x5fc9e7
mov ecx, dword [ebp + 8]
call fcn.005c60d0
movss xmm0, dword [esp + 0x28]
movss dword [esp + 0xd8], xmm0
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0xc0], xmm0
mov eax, dword [ebp + 0xc]
add esi, dword [esp + 0xfc]
push 0x50
mov ecx, dword [eax]
lea eax, [esp + 0xa4]
push eax
movsx eax, word [ecx + esi + 0x14]
add eax, ecx
push eax
call fcn.0045d810
mov eax, dword [ebp + 0xc]
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
inc ecx
add dword [esp + 0x20], 6
add edx, 0x10
mov eax, dword [eax]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], edx
mov dword [eax + esi + 0x18], 0x3f800000
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
add eax, 4
add esi, 0x10
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], esi
cmp ecx, dword [esp + 0x24]
jl 0x5fc310
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x68]
mov dword [edi + 0xd8], 0
mov esi, dword [eax + 0x1c]
call fcn.0057fe50
mov ecx, dword [ebp + 0xc]
lea edx, [esi + esi*2]
shl edx, 4
push edx
push dword [eax]
mov edi, dword [ecx]
movsx eax, word [edi + 0x34]
add eax, edi
push eax
call fcn.0045d810
mov ecx, dword [ebp + 0xc]
add esp, 0xc
call fcn.005dd090
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], 0
test eax, eax
js 0x5fcabf
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 4
push eax
mov eax, dword [0x7d8954]
push dword [esp + 0x60]
call dword [eax + 0x10]
lea ecx, [esp + 0x68]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x64], connect
call fcn.005ac3a0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8