Function at 0x10002bd0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov esi, edx
mov edi, ecx
lea eax, [edx + 4]
push eax
push ecx
call fcn.10002f30
add esp, 8
cmp eax, 1
je 0x10002cf3
mov dword [esi + 4], 0
mov cl, byte [edi]
cmp cl, 0x3a
je 0x10002cfc
xor ebx, ebx
dec ebx
xor eax, eax
test cl, cl
je 0x10002c77
mov dword [ebp - 0x10], ebx
mov ebx, eax
cmp ebx, 8
je 0x10002cb8
cmp cl, 0x3a
je 0x10002da0
movzx eax, cl
movzx eax, byte [eax + 0x101a4e74]
cmp eax, 0x7f
jne 0x10002c44
xor eax, eax
mov dl, 1
test cl, cl
je 0x10002c5d
cmp cl, 0x3a
jne 0x10002caf
jmp 0x10002dcd
movzx ecx, byte [edi + 1]
movzx edx, byte [ecx + 0x101a4e74]
cmp edx, 0x7f
jne 0x10002d3c
inc edi
xor edx, edx
jmp 0x10002c36
movzx eax, ax
push eax
call sub.wsock32.dll_htons
mov word [esi + ebx*2 + 8], ax
inc ebx
mov cl, byte [edi]
test cl, cl
jne 0x10002c11
mov eax, ebx
mov ebx, dword [ebp - 0x10]
cmp ebx, 0xffffffff
je 0x10002e7a
mov ecx, 7
mov edx, eax
sub edx, ebx
je 0x10002d1b
mov dword [ebp - 0x10], ebx
mov ecx, 6
lea eax, [esi + eax*2]
lea edi, [edx + ecx]
movzx ebx, word [eax + ecx*2 - 6]
mov word [esi + ecx*2 + 0xa], bx
cmp edi, 7
je 0x10002d18
dec ecx
jmp 0x10002c9a
cmp cl, 0x2e
je 0x10002ddd
cmp dword [0x101de200], 0
je 0x10002e70
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10002d85
mov dword [eax + 0x28], 0xffffe89d
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
xor eax, eax
dec eax
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
mov word [esi], 2
xor eax, eax
jmp 0x10002ceb
cmp byte [edi + 1], 0x3a
jne 0x10002cb8
mov word [esi + 8], 0
mov cl, byte [edi + 2]
add edi, 2
xor eax, eax
inc eax
mov ebx, eax
jmp 0x10002c08
mov ebx, dword [ebp - 0x10]
sub ecx, ebx
jl 0x10002d35
lea eax, [esi + ebx*2]
add eax, 8
lea ecx, [ecx + ecx + 2]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov word [esi], 0x17
jmp 0x10002cf8
shl eax, 4
add eax, edx
movzx ecx, byte [edi + 2]
movzx edx, byte [ecx + 0x101a4e74]
cmp edx, 0x7f
jne 0x10002d59
add edi, 2
jmp 0x10002c59
shl eax, 4
add eax, edx
movzx ecx, byte [edi + 3]
movzx edx, byte [ecx + 0x101a4e74]
cmp edx, 0x7f
jne 0x10002d76
add edi, 3
jmp 0x10002c59
add edi, 4
shl eax, 4
add eax, edx
mov cl, byte [edi]
jmp 0x10002c59
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10002cd9
cmp dword [ebp - 0x10], 0xffffffff
jne 0x10002cb8
lea eax, [ebx + 1]
mov word [esi + ebx*2 + 8], 0
mov cl, byte [edi + 1]
inc edi
mov dword [ebp - 0x10], eax
test cl, cl
jne 0x10002c0f
inc ebx
mov ecx, ebx
mov eax, ebx
jmp 0x10002c77
cmp byte [edi + 1], 0
je 0x10002cb8
inc edi
jmp 0x10002c5d
cmp ebx, 6
setg cl
or cl, dl
jne 0x10002cb8
mov ecx, eax
and ecx, 0xf
cmp ecx, 9
ja 0x10002cb8
cmp eax, 0x255
ja 0x10002cb8
mov edx, eax
and edx, 0xf0
cmp edx, 0x90
ja 0x10002cb8
mov edx, eax
shr edx, 8
imul edx, edx, 0x64
add edx, ecx
shr eax, 4
and eax, 0xf
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
mov byte [esi + ebx*2 + 8], al
movzx eax, byte [edi + 1]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x10002cb8
movzx eax, byte [eax + 0x101a4e74]
add edi, 6
movzx ecx, byte [edi - 4]
mov edx, ecx
add dl, 0xd0
cmp dl, 9
ja 0x10002e88
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
add eax, 0xffffffd0
inc edi
cmp eax, 0xff
jbe 0x10002e4c
jmp 0x10002cb8
call fcn.100745f0
jmp 0x10002cc5
cmp eax, 8
jne 0x10002cb8
jmp 0x10002d35
cmp cl, 0x2e
jne 0x10002cb8
mov byte [esi + ebx*2 + 9], al
movzx eax, byte [edi - 3]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x10002cb8
movzx eax, byte [eax + 0x101a4e74]
movzx ecx, byte [edi - 2]
mov edx, ecx
add dl, 0xd0
cmp dl, 9
ja 0x10002ed0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
add eax, 0xffffffd0
inc edi
cmp eax, 0xff
jbe 0x10002eac
jmp 0x10002cb8
cmp cl, 0x2e
jne 0x10002cb8
mov byte [esi + ebx*2 + 0xa], al
movzx eax, byte [edi - 1]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x10002cb8
movzx eax, byte [eax + 0x101a4e74]
movzx ecx, byte [edi]
mov edx, ecx
add dl, 0xd0
cmp dl, 9
ja 0x10002f17
lea eax, [eax + eax*4]
inc edi
lea eax, [ecx + eax*2]
add eax, 0xffffffd0
cmp eax, 0xff
jbe 0x10002ef4
jmp 0x10002cb8
test cl, cl
jne 0x10002cb8
mov byte [esi + ebx*2 + 0xb], al
add ebx, 2
jmp 0x10002c72