Function at 0x1017dca0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
call fcn.10176fa0
mov esi, eax
test eax, eax
jne case.0x1017dccb.15
mov edi, dword [ebp + 8]
call fcn.1017db20
dec edi
cmp edi, 0x28
ja case.0x1017dccb.4
mov edx, dword [ebp + 0xc]
xor esi, esi
jmp dword [edi*4 + 0x101ab4d0]
mov eax, dword [0x101d4400]
and edx, 1
and eax, 0xfffffffe
jmp 0x1017df9c
and edx, 1
mov eax, 0xf7ffffff
shl edx, 0x1b
jmp 0x1017df96
and edx, 1
mov eax, 0xffbfffff
shl edx, 0x16
jmp 0x1017df96
shl edx, 0x1f
mov eax, bind
jmp 0x1017df96
mov eax, dword [0x101d4404]
and edx, 1
and eax, 0xfffffffb
lea eax, [eax + edx*4]
jmp 0x1017df19
and edx, 1
mov eax, 0xffdfffff
shl edx, 0x15
jmp 0x1017df96
shl edx, 0xf
mov ecx, 0xffff7fff
movzx eax, dx
jmp 0x1017df2e
mov eax, dword [0x101d4400]
bt eax, 8
jae 0x1017dd55
test edx, edx
jne case.0x1017dccb.4
mov ecx, edx
xor esi, esi
and ecx, 1
shl ecx, 0xa
cmp byte [0x101d6714], 0
mov edi, ecx
cmovne edi, esi
test edx, edx
cmove edi, ecx
and eax, 0xfffffbff
or eax, edi
mov dword [0x101d4400], eax
xor eax, eax
jmp 0x1017dfa5
and edx, 1
mov eax, 0xefffffff
shl edx, 0x1c
jmp 0x1017df96
and edx, 1
mov eax, 0xffffefff
shl edx, 0xc
jmp 0x1017df96
and edx, 1
mov eax, 0xfffeffff
shl edx, 0x10
jmp 0x1017df96
and edx, 1
mov eax, 0xffefffff
shl edx, 0x14
jmp 0x1017df96
mov eax, dword [0x101d4400]
test edx, edx
je 0x1017ddd7
mov ecx, eax
and ecx, 0x20
jne case.0x1017dccb.4
shl edx, 6
and eax, 0xffffffbf
and edx, 0x40
jmp 0x1017df9c
and edx, 1
mov eax, 0xfffbffff
shl edx, 0x12
jmp 0x1017df96
and edx, 1
mov eax, 0xff7fffff
shl edx, 0x17
jmp 0x1017df96
mov eax, dword [0x101d4400]
test edx, edx
je 0x1017de1c
mov ecx, eax
and ecx, 0x400
jne case.0x1017dccb.4
and edx, 1
and eax, 0xfffffeff
shl edx, 8
jmp 0x1017df9c
and edx, 1
mov eax, 0xfeffffff
shl edx, 0x18
jmp 0x1017df96
lea eax, [edx - 0x40]
cmp eax, 0x3fc2
jae case.0x1017dccb.4
mov word [0x101d43f8], dx
jmp case.0x1017dccb.15
mov eax, dword [0x101d4400]
and edx, 1
and eax, 0xfffffffb
lea eax, [eax + edx*4]
jmp 0x1017df9e
mov ecx, 0x101d43e4
call fcn.1017d3f0
jmp case.0x1017dccb.15
and edx, 1
mov eax, 0xfffdffff
shl edx, 0x11
jmp 0x1017df96
mov eax, dword [0x101d4400]
test edx, edx
je 0x1017de94
mov ecx, eax
and ecx, 0x40
jne case.0x1017dccb.4
shl edx, 5
and eax, 0xffffffdf
and edx, 0x20
jmp 0x1017df9c
and byte [0x101d4400], 0xfd
test edx, edx
je case.0x1017dccb.15
cmp dword [0x101d4d40], 0
je 0x1017dfbd
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1017dfa9
xor ecx, ecx
xor esi, esi
mov dword [eax + 0x28], 0xffffe005
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
dec esi
jmp case.0x1017dccb.15
and edx, 3
mov eax, 0xffff9fff
shl edx, 0xd
jmp 0x1017df96
mov eax, dword [0x101d4400]
and edx, 3
and eax, 0xffffffe7
lea eax, [eax + edx*8]
jmp 0x1017df9e
mov eax, dword [0x101d4404]
and edx, 1
and eax, 0xfffffffe
or eax, edx
mov dword [0x101d4404], eax
jmp case.0x1017dccb.15
shl edx, 7
mov ecx, 0xffffff7f
movzx eax, dl
and ecx, dword [0x101d4400]
or ecx, eax
mov dword [0x101d4400], ecx
jmp case.0x1017dccb.15
and edx, 1
mov eax, 0xfff7ffff
shl edx, 0x13
jmp 0x1017df96
and edx, 1
mov eax, 0xfbffffff
shl edx, 0x1a
jmp 0x1017df96
and edx, 1
mov eax, 0xdfffffff
shl edx, 0x1d
jmp 0x1017df96
mov ecx, 0x101d43e4
call fcn.1017d2c0
jmp case.0x1017dccb.15
and edx, 1
mov eax, 0xfffffdff
shl edx, 9
jmp 0x1017df96
and edx, 1
mov eax, 0xfffff7ff
shl edx, 0xb
jmp 0x1017df96
and edx, 1
mov eax, 0xbfffffff
shl edx, 0x1e
and eax, dword [0x101d4400]
or eax, edx
mov dword [0x101d4400], eax
mov eax, esi
pop esi
pop edi
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1017ded2
call sym.nss3.dll_PR_Init
jmp 0x1017debe