Function at 0x10173e3d
Capabilities:
Get thread local storage value

Disassembly:
push 0x14
mov eax, 0x1032a5f5
call fcn.102790e7
push dword [0x10658524]
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x10173e67
mov eax, 0x8000ffff
jmp 0x1017404d
push 1
push 0x10669d08
lea ecx, [ebp - 0x20]
call fcn.10111f52
xor edx, edx
mov dword [ebp - 4], edx
cmp dword [esi + 0x28], edx
jne 0x10173f79
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 1
push eax
push edx
mov dword [ebp - 0x10], edx
call fcn.1018969e
mov ebx, eax
test ebx, ebx
js 0x10173f63
mov ecx, dword [ebp - 0x10]
push 0
mov eax, dword [ecx]
call dword [eax + 0x60]
mov ecx, dword [ebp - 0x10]
push 1
mov eax, dword [ecx]
call dword [eax + 0x70]
call fcn.10258270
mov esi, dword [ebp - 0x10]
mov ecx, eax
mov edx, dword [eax]
mov edi, dword [esi]
call dword [edx]
push eax
mov ecx, esi
call dword [edi + 0x54]
call fcn.10258270
mov esi, dword [ebp - 0x10]
mov ecx, eax
mov edx, dword [eax]
mov edi, dword [esi]
call dword [edx + 4]
push eax
mov ecx, esi
call dword [edi + 0x58]
mov ecx, dword [ebp - 0x10]
push 0
push 0x2c91
push 0x104cc700
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebx, eax
test ebx, ebx
js 0x10173f63
mov ecx, dword [ebp - 0x10]
push 0x104cfe74
mov eax, dword [ecx]
call dword [eax + 0x4c]
mov esi, eax
mov dword [ebp - 0x14], esi
test esi, esi
je 0x10173f18
cmp dword [esi], 0xffffffff
je 0x10173f18
lock inc dword [esi]
mov ecx, dword [ebp - 0x10]
push 0x104cfe90
mov byte [ebp - 4], 2
mov eax, dword [ecx]
call dword [eax + 0x4c]
mov edi, eax
test edi, edi
je 0x10173f37
cmp dword [edi], 0xffffffff
je 0x10173f37
lock inc dword [edi]
push esi
push 0
call fcn.1017c333
push edi
push 1
call fcn.1017c333
push esi
call fcn.1017c2c4
test edi, edi
je 0x10173f58
mov ecx, edi
call sym.osetup.dll_public:_void___thiscall_NetUI::BaseValue::Release_void_
test esi, esi
je 0x10173f63
mov ecx, esi
call sym.osetup.dll_public:_void___thiscall_NetUI::BaseValue::Release_void_
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov byte [ebp - 4], dl
mov dword [ebp - 0x10], edx
test ecx, ecx
je 0x10173f79
mov eax, dword [ecx]
call dword [eax + 4]
xor edx, edx
cmp byte [ebp + 8], 0
je 0x10174043
test ebx, ebx
js 0x10174043
lea eax, [ebp + 8]
mov byte [ebp - 4], 3
push eax
push edx
mov dword [ebp + 8], edx
call fcn.1018969e
mov ebx, eax
test ebx, ebx
js 0x1017402f
mov ecx, dword [ebp + 8]
push 1
mov eax, dword [ecx]
call dword [eax + 0x60]
mov ecx, dword [ebp + 8]
push 1
mov eax, dword [ecx]
call dword [eax + 0x70]
call fcn.10258270
mov esi, dword [ebp + 8]
mov ecx, eax
mov edx, dword [eax]
mov edi, dword [esi]
call dword [edx]
push eax
mov ecx, esi
call dword [edi + 0x54]
call fcn.10258270
mov esi, dword [ebp + 8]
mov ecx, eax
mov edx, dword [eax]
mov edi, dword [esi]
call dword [edx + 4]
push eax
mov ecx, esi
call dword [edi + 0x58]
mov ecx, dword [ebp + 8]
push 0
push 0x8d1
push 0x1049c118
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebx, eax
test ebx, ebx
js 0x1017402f
mov ecx, dword [ebp + 8]
push 0x104cfeac
mov eax, dword [ecx]
call dword [eax + 0x4c]
mov esi, eax
test esi, esi
je 0x1017401c
cmp dword [esi], 0xffffffff
je 0x1017401c
lock inc dword [esi]
push esi
push 2
call fcn.1017c333
test esi, esi
je 0x1017402f
mov ecx, esi
call sym.osetup.dll_public:_void___thiscall_NetUI::BaseValue::Release_void_
mov ecx, dword [ebp + 8]
and dword [ebp + 8], 0
mov byte [ebp - 4], 0
test ecx, ecx
je 0x10174043
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x20]
call fcn.102f3376
mov eax, ebx
call fcn.102790b8
ret 4