Function at 0x466e10
Capabilities:
Get thread local storage value

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [esp + 0x18]
push ebp
push esi
push edi
mov esi, dword [ebx + 0x64]
mov edi, dword [esp + 0x28]
mov ecx, edi
push 0
push esi
call fcn.0046ab90
mov ebp, eax
mov dword [esp + 0x14], ebp
test ebp, ebp
jne 0x466eaa
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0x88
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx]
call dword [eax + 4]
mov ebp, eax
mov dword [esp + 0x14], eax
test ebp, ebp
je 0x466e98
push 0
push 0
push 0
mov ecx, ebp
call fcn.004645d0
mov dword [ebp + 0x70], 0
mov dword [ebp + 0x74], 0
mov dword [ebp + 0x78], connect
mov dword [ebp + 0x7c], 0
mov dword [ebp + 0x80], 0
mov dword [ebp + 0x84], connect
jmp 0x466e9e
xor ebp, ebp
mov dword [esp + 0x14], ebp
push ebp
push esi
mov ecx, edi
mov dword [ebp + 0x64], esi
call fcn.0046abd0
mov esi, ebx
lea edx, [ebp + 0x30]
mov ecx, ebp
sub esi, ebp
mov edi, 0xc
nop dword [eax + eax]
movss xmm0, dword [esi + ecx]
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
add ecx, 4
mov ax, word [esi + edx]
add word [edx], ax
add edx, 2
sub edi, 1
jne 0x466ec0
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [ebx + 0x4c], ecx
jle 0x466ffd
lea esi, [ebp + 0x7c]
mov dword [esp + 0x10], esi
mov eax, dword [ebx + 0x48]
push dword [esp + 0x28]
mov ebp, dword [eax + ecx*4]
push ebp
call fcn.00466e10
mov eax, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [ebp + 0x64]
mov dword [esp + 0x18], ecx
mov edi, dword [eax + 0x80]
sub edi, 1
js 0x466f4f
imul ebx, edi, 0x70
mov esi, dword [esi]
add esi, ebx
push dword [esi + 0x64]
push ecx
call fcn.0045d370
add esp, 8
test eax, eax
je 0x466f47
mov esi, dword [esp + 0x10]
sub ebx, 0x70
sub edi, 1
mov ecx, dword [esp + 0x18]
jns 0x466f21
jmp 0x466f4b
test edi, edi
jns 0x466fb3
mov esi, dword [esp + 0x10]
mov edi, dword [esi + 4]
mov eax, dword [esi + 8]
and eax, 0x3fffffff
lea ecx, [edi + 1]
cmp eax, ecx
jge 0x466f79
add eax, eax
cmp ecx, eax
push 0x70
cmovl ecx, eax
push ecx
push esi
push 0x7d8958
call fcn.00467b80
add esp, 0x10
imul eax, dword [esi + 4], 0x70
add eax, dword [esi]
je 0x466f96
mov dword [eax + 0x48], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x50], connect
inc dword [esi + 4]
imul ecx, edi, 0x70
add ecx, dword [esi]
je 0x466fb1
push 0
push dword [esp + 0x1c]
push 0
call fcn.004645d0
mov esi, eax
jmp 0x466fb3
xor esi, esi
lea ecx, [esi + 0x30]
sub ebp, esi
mov edx, 0xc
nop dword [eax]
movss xmm0, dword [esi + ebp]
addss xmm0, dword [esi]
movss dword [esi], xmm0
add esi, 4
mov ax, word [ecx + ebp]
add word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x466fc0
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
inc ecx
mov esi, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
cmp ecx, dword [ebx + 0x4c]
jl 0x466ef5
mov ebp, dword [esp + 0x14]
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x4670e0
mov edi, dword [ebp + 0x74]
sub edi, 1
mov eax, dword [eax + 0x64]
mov dword [esp + 0x28], eax
js 0x467047
imul ebx, edi, 0x70
nop word [eax + eax]
mov esi, dword [ebp + 0x70]
add esi, ebx
push dword [esi + 0x64]
push eax
call fcn.0045d370
add esp, 8
test eax, eax
je 0x467043
mov eax, dword [esp + 0x28]
sub ebx, 0x70
sub edi, 1
jns 0x467020
jmp 0x467047
test edi, edi
jns 0x4670b0
mov esi, dword [ebp + 0x74]
add ebp, 0x70
mov eax, dword [ebp + 8]
lea ecx, [esi + 1]
and eax, 0x3fffffff
cmp eax, ecx
jge 0x467074
add eax, eax
cmp ecx, eax
push 0x70
cmovl ecx, eax
push ecx
push ebp
push 0x7d8958
call fcn.00467b80
add esp, 0x10
imul eax, dword [ebp + 4], 0x70
add eax, dword [ebp]
je 0x467092
mov dword [eax + 0x48], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x50], connect
inc dword [ebp + 4]
imul ecx, esi, 0x70
add ecx, dword [ebp]
je 0x4670ae
push 0
push dword [esp + 0x2c]
push 0
call fcn.004645d0
mov esi, eax
jmp 0x4670b0
xor esi, esi
mov edx, dword [esp + 0x24]
lea ecx, [esi + 0x30]
mov edi, 0xc
mov edx, dword [edx + 0x60]
sub edx, esi
movss xmm0, dword [edx + esi]
addss xmm0, dword [esi]
movss dword [esi], xmm0
add esi, 4
mov ax, word [edx + ecx]
add word [ecx], ax
add ecx, 2
sub edi, 1
jne 0x4670c1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret