Function at 0x100dc050
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.100ca260
add esp, 8
cmp eax, 1
je 0x100dc137
mov dword [esi + 4], 0
mov cl, byte [edi]
cmp cl, 0x3a
je 0x100dc140
xor ebx, ebx
xor eax, eax
dec ebx
test cl, cl
je 0x100dc330
mov dword [ebp - 0x10], ebx
mov ebx, eax
cmp ebx, 8
je 0x100dc0fc
cmp cl, 0x3a
je 0x100dc1b9
movzx eax, cl
movzx eax, byte [eax + 0x1019c69c]
cmp eax, 0x7f
jne 0x100dc0de
xor eax, eax
mov dl, 1
test cl, cl
je 0x100dc0c4
cmp cl, 0x3a
jne 0x100dc0f3
jmp 0x100dc1e6
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 0x100dc095
jmp 0x100dc32b
movzx ecx, byte [edi + 1]
movzx edx, byte [ecx + 0x1019c69c]
cmp edx, 0x7f
jne 0x100dc15c
inc edi
xor edx, edx
jmp 0x100dc0b6
cmp cl, 0x2e
je 0x100dc1f6
cmp dword [0x101d4d40], 0
je 0x100dc287
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100dc1a5
xor ecx, ecx
mov dword [eax + 0x28], 0xffffe89d
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 0x100dc12f
cmp byte [edi + 1], 0x3a
jne 0x100dc0fc
mov word [esi + 8], 0
mov cl, byte [edi + 2]
add edi, 2
xor eax, eax
inc eax
mov ebx, eax
jmp 0x100dc088
movzx ecx, byte [edi + 2]
shl eax, 4
add eax, edx
movzx edx, byte [ecx + 0x1019c69c]
cmp edx, 0x7f
jne 0x100dc179
add edi, 2
jmp 0x100dc0ef
movzx ecx, byte [edi + 3]
shl eax, 4
add eax, edx
movzx edx, byte [ecx + 0x1019c69c]
cmp edx, 0x7f
jne 0x100dc196
add edi, 3
jmp 0x100dc0ef
add edi, 4
shl eax, 4
mov cl, byte [edi]
add eax, edx
jmp 0x100dc0ef
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x100dc11d
cmp dword [ebp - 0x10], 0xffffffff
jne 0x100dc0fc
mov word [esi + ebx*2 + 8], 0
lea eax, [ebx + 1]
mov cl, byte [edi + 1]
inc edi
mov dword [ebp - 0x10], eax
test cl, cl
jne 0x100dc093
inc ebx
mov eax, ebx
mov ecx, ebx
jmp 0x100dc330
cmp byte [edi + 1], 0
je 0x100dc0fc
inc edi
jmp 0x100dc0c4
cmp ebx, 6
setg cl
or cl, dl
jne 0x100dc0fc
cmp eax, 0x255
ja 0x100dc0fc
mov ecx, eax
and ecx, 0xf0
cmp ecx, 0x90
ja 0x100dc0fc
mov ecx, eax
and ecx, 0xf
cmp ecx, 9
ja 0x100dc0fc
mov edx, eax
shr eax, 4
shr edx, 8
and eax, 0xf
imul edx, edx, 0x64
lea eax, [eax + eax*4]
add edx, ecx
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 0x100dc0fc
movzx eax, byte [eax + 0x1019c69c]
add edi, 6
movzx ecx, byte [edi - 4]
mov edx, ecx
add dl, 0xd0
cmp dl, 9
ja 0x100dc291
lea eax, [eax + eax*4]
inc edi
lea eax, [ecx + eax*2 - 0x30]
cmp eax, 0xff
jbe 0x100dc265
jmp 0x100dc0fc
call fcn.100da0a0
jmp 0x100dc109
cmp cl, 0x2e
jne 0x100dc0fc
mov byte [esi + ebx*2 + 9], al
movzx eax, byte [edi - 3]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x100dc0fc
movzx eax, byte [eax + 0x1019c69c]
movzx ecx, byte [edi - 2]
mov edx, ecx
add dl, 0xd0
cmp dl, 9
ja 0x100dc2d7
lea eax, [eax + eax*4]
inc edi
lea eax, [ecx + eax*2 - 0x30]
cmp eax, 0xff
jbe 0x100dc2b5
jmp 0x100dc0fc
cmp cl, 0x2e
jne 0x100dc0fc
mov byte [esi + ebx*2 + 0xa], al
movzx eax, byte [edi - 1]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x100dc0fc
movzx eax, byte [eax + 0x1019c69c]
movzx ecx, byte [edi]
mov edx, ecx
add dl, 0xd0
cmp dl, 9
ja 0x100dc31c
lea eax, [eax + eax*4]
inc edi
lea eax, [ecx + eax*2 - 0x30]
cmp eax, 0xff
jbe 0x100dc2fb
jmp 0x100dc0fc
test cl, cl
jne 0x100dc0fc
mov byte [esi + ebx*2 + 0xb], al
add ebx, 2
mov eax, ebx
mov ebx, dword [ebp - 0x10]
cmp ebx, 0xffffffff
je 0x100dc390
mov edx, eax
mov ecx, 7
sub edx, ebx
je 0x100dc363
mov ecx, 6
lea eax, [esi + eax*2]
mov dword [ebp - 0x10], ebx
movzx ebx, word [eax + ecx*2 - 6]
lea edi, [edx + ecx]
cmp edi, 7
mov word [esi + ecx*2 + 0xa], bx
je 0x100dc360
dec ecx
jmp 0x100dc34b
mov ebx, dword [ebp - 0x10]
cmp ecx, ebx
jl 0x100dc386
mov eax, ebx
mov edx, ebx
cmp eax, ecx
cmovg edx, ecx
sub ecx, edx
lea eax, [esi + edx*2 + 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 0x100dc13c
cmp eax, 8
jne 0x100dc0fc
jmp 0x100dc386