Function at 0x604010
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x6c]
mov dword [esi], vtable.hkbClientCharacterState.0
test edi, edi
je 0x60404b
push 0x7d8954
mov ecx, edi
call fcn.0046b3e0
mov ecx, edi
call fcn.0046b110
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0xc
push edi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [esi + 0xc4]
mov dword [esi + 0xc0], 0
test eax, eax
js 0x60407e
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 4
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0xbc]
call dword [eax + 0x10]
mov dword [esi + 0xbc], 0
mov dword [esi + 0xc4], connect
mov eax, dword [esi + 0xb8]
mov dword [esi + 0xb4], 0
test eax, eax
js 0x6040c5
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 4
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0xb0]
call dword [eax + 0x10]
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb8], connect
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x6040e5
call fcn.0045c160
mov dword [esi + 0x68], 0
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x6040f8
call fcn.0045c160
lea ecx, [esi + 0x60]
mov dword [esi + 0x64], 0
call fcn.0045d990
lea ecx, [esi + 0x5c]
call fcn.0045d990
lea ecx, [esi + 0x58]
call fcn.0045d990
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x48], 0
test eax, eax
js 0x60413d
and eax, 0x3fffffff
mov ecx, 0x7d8954
add eax, eax
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x44]
call dword [eax + 0x10]
mov dword [esi + 0x44], 0
mov dword [esi + 0x4c], connect
mov eax, dword [esi + 0x40]
mov dword [esi + 0x3c], 0
test eax, eax
js 0x604171
and eax, 0x3fffffff
mov ecx, 0x7d8954
add eax, eax
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x38]
call dword [eax + 0x10]
mov dword [esi + 0x38], 0
mov dword [esi + 0x40], connect
mov edi, dword [esi + 0x30]
sub edi, 1
push ebx
mov ebx, dword [esi + 0x2c]
js 0x6041a8
nop dword [eax + eax]
mov ecx, dword [ebx + edi*4]
test ecx, ecx
je 0x60419c
call fcn.0045c160
mov dword [ebx + edi*4], 0
sub edi, 1
jns 0x604190
mov eax, dword [esi + 0x34]
mov dword [esi + 0x30], 0
pop ebx
test eax, eax
js 0x6041d0
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 2
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x2c]
call dword [eax + 0x10]
mov dword [esi + 0x2c], 0
mov dword [esi + 0x34], connect
mov eax, dword [esi + 0x28]
mov dword [esi + 0x24], 0
test eax, eax
js 0x604204
and eax, 0x3fffffff
mov ecx, 0x7d8954
add eax, eax
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x20]
call dword [eax + 0x10]
mov dword [esi + 0x20], 0
mov dword [esi + 0x28], connect
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x18], 0
test eax, eax
js 0x604239
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 3
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x14]
call dword [eax + 0x10]
mov dword [esi + 0x14], 0
mov dword [esi + 0x1c], connect
mov eax, dword [esi + 0x10]
mov dword [esi + 0xc], 0
test eax, eax
js 0x60426e
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 3
push eax
mov eax, dword [0x7d8954]
push dword [esi + 8]
call dword [eax + 0x10]
mov dword [esi + 8], 0
mov dword [esi + 0x10], connect
pop edi
mov dword [esi], vtable.hkBaseObject.0
pop esi
ret