Function at 0x1017cdb0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
push dword [0x101d6710]
push dword [ebp + 8]
call sym.nss3.dll_PR_GetIdentitiesLayer
add esp, 8
test eax, eax
je 0x1017ce4b
mov esi, dword [eax + 4]
test esi, esi
mov dword [esi], eax
je 0x1017ce7b
mov eax, dword [esi + 0x1c]
bt eax, 0xa
mov dword [ebp - 0x10], eax
jb 0x1017cdf6
push dword [esi + 0x16c]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov eax, dword [esi + 0x1c]
mov edi, dword [ebp + 0xc]
bt eax, 0xa
jb 0x1017ce0d
push dword [esi + 0x170]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
dec edi
cmp edi, 0x28
ja case.0x1017ce1f.4
mov ebx, dword [ebp + 0x10]
lea ecx, [esi + 0x1c]
xor edx, edx
jmp dword [edi*4 + 0x101ab294]
mov eax, dword [esi + 0x1c]
and ebx, 1
mov edi, 0x101aa6e0
mov ecx, 0x101aa6b0
and eax, 0xfffffffe
or eax, ebx
test ebx, ebx
cmove ecx, edi
mov dword [esi + 0x1c], eax
mov dword [esi + 4], ecx
jmp case.0x1017ce1f.15
cmp dword [0x101d4d40], 0
je 0x1017d298
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1017d248
xor ecx, ecx
mov dword [eax + 0x28], 0xffffe891
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
xor edx, edx
dec edx
jmp 0x1017d22c
lea eax, [ebx - 0x40]
cmp eax, 0x3fc2
jae case.0x1017ce1f.4
mov word [esi + 0x14], bx
jmp case.0x1017ce1f.15
mov eax, dword [esi + 0x20]
and ebx, 1
and eax, 0xfffffffb
lea eax, [eax + ebx*4]
jmp 0x1017cec3
and ebx, 1
mov eax, 0xffbfffff
shl ebx, 0x16
jmp 0x1017d1ff
mov eax, dword [esi + 0x20]
and ebx, 1
and eax, 0xfffffffe
or eax, ebx
mov dword [esi + 0x20], eax
jmp case.0x1017ce1f.15
and ebx, 1
mov eax, 0xbfffffff
shl ebx, 0x1e
jmp 0x1017d1ff
and ebx, 1
mov eax, 0xffdfffff
shl ebx, 0x15
jmp 0x1017d1ff
shl ebx, 0xf
mov edi, ecx
mov ecx, 0xffff7fff
movzx eax, bx
jmp 0x1017d17f
xor eax, eax
test ebx, ebx
mov edx, 0
je 0x1017cf4c
test byte [ecx + 1], 1
mov edx, 0
je 0x1017cf4c
cmp dword [0x101d4d40], 0
mov edi, ecx
je 0x1017d2ac
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1017d270
xor ecx, ecx
xor edx, edx
mov dword [eax + 0x28], 0xffffe005
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
dec edx
mov ecx, edi
xor eax, eax
cmp byte [0x101d6714], 0
mov edi, ecx
mov ecx, 0xfffffbff
cmove eax, ebx
test ebx, ebx
cmove eax, ebx
and ecx, dword [edi]
mov ebx, eax
and eax, 1
shl eax, 0xa
or ecx, eax
test ebx, ebx
mov dword [edi], ecx
jne case.0x1017ce1f.15
bt dword [ebp - 0x10], 0xa
jae 0x1017d20c
mov ecx, esi
call fcn.1017d4f0
test eax, eax
je 0x1017d244
or byte [edi + 1], 4
mov edx, eax
jmp 0x1017d22c
mov eax, dword [esi + 0x1c]
mov edi, 0x101aa6b0
mov ecx, eax
and ecx, 0xfffffffd
test al, 1
mov eax, 0x101aa6e0
cmove edi, eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 4], edi
jmp case.0x1017ce1f.7
and ebx, 1
mov eax, 0xf7ffffff
shl ebx, 0x1b
jmp 0x1017d1ff
and ebx, 1
mov eax, 0xffffefff
shl ebx, 0xc
jmp 0x1017d1ff
and ebx, 1
mov eax, 0xfffeffff
shl ebx, 0x10
jmp 0x1017d1ff
and ebx, 1
mov eax, 0xffefffff
shl ebx, 0x14
jmp 0x1017d1ff
and ebx, 1
mov eax, 0xff7fffff
shl ebx, 0x17
jmp 0x1017d1ff
mov eax, dword [ecx]
mov edi, ecx
test ebx, ebx
je 0x1017d022
mov ecx, eax
and ecx, 0x20
jne case.0x1017ce1f.4
shl ebx, 6
and eax, 0xffffffbf
and ebx, 0x40
jmp 0x1017d10b
and ebx, 1
mov eax, 0xfffbffff
shl ebx, 0x12
jmp 0x1017d1ff
xor edx, edx
test ebx, ebx
je 0x1017d083
test byte [ecx + 1], 4
je 0x1017d083
cmp dword [0x101d4d40], 0
mov edi, ecx
je 0x1017d2b6
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1017d284
xor ecx, ecx
xor edx, edx
mov dword [eax + 0x28], 0xffffe005
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
dec edx
mov ecx, edi
and ebx, 1
mov eax, 0xfffffeff
shl ebx, 8
jmp 0x1017d1ff
and ebx, 1
mov eax, 0xfeffffff
shl ebx, 0x18
jmp 0x1017d1ff
and ebx, 1
mov eax, 0xfbffffff
shl ebx, 0x1a
jmp 0x1017d1ff
mov eax, dword [ecx]
and ebx, 1
and eax, 0xfffffffb
lea eax, [eax + ebx*4]
jmp 0x1017d203
cmp dword [esi + 0x9f8], 1
je case.0x1017ce1f.7
lea ecx, [esi + 0x24]
mov edx, ebx
call fcn.1017d3f0
jmp 0x1017d240
and ebx, 1
mov eax, 0xfffdffff
shl ebx, 0x11
jmp 0x1017d1ff
mov eax, dword [ecx]
mov edi, ecx
test ebx, ebx
je 0x1017d102
mov ecx, eax
and ecx, 0x40
jne case.0x1017ce1f.4
shl ebx, 5
and eax, 0xffffffdf
and ebx, 0x20
or eax, ebx
mov dword [edi], eax
jmp case.0x1017ce1f.15
test ebx, ebx
je 0x1017d125
cmp dword [esi + 0x9f8], 1
je case.0x1017ce1f.4
and ebx, 3
mov eax, 0xffff9fff
shl ebx, 0xd
jmp 0x1017d1ff
shl ebx, 0x1f
mov eax, bind
jmp 0x1017d1ff
mov eax, dword [ecx]
and ebx, 3
and eax, 0xffffffe7
lea eax, [eax + ebx*8]
jmp 0x1017d203
and ebx, 1
mov eax, 0xfff7ffff
shl ebx, 0x13
jmp 0x1017d1ff
and ebx, 1
mov eax, 0xfdffffff
shl ebx, 0x19
jmp 0x1017d1ff
shl ebx, 7
mov edi, ecx
mov ecx, 0xffffff7f
movzx eax, bl
and ecx, dword [edi]
or ecx, eax
mov dword [edi], ecx
jmp case.0x1017ce1f.15
and ebx, 1
mov eax, 0xefffffff
shl ebx, 0x1c
jmp 0x1017d1ff
cmp dword [esi + 0x9f8], 1
jne 0x1017d236
test ebx, ebx
je case.0x1017ce1f.15
cmp dword [0x101d4d40], 0
je 0x1017d2a2
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1017d25c
xor ecx, ecx
xor edx, edx
mov dword [eax + 0x28], 0xffffe005
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
dec edx
jmp case.0x1017ce1f.15
and ebx, 1
mov eax, 0xfffffdff
shl ebx, 9
jmp 0x1017d1ff
and ebx, 1
mov eax, 0xfffff7ff
shl ebx, 0xb
jmp 0x1017d1ff
and ebx, 1
mov eax, 0xdfffffff
shl ebx, 0x1d
and eax, dword [ecx]
or eax, ebx
mov dword [ecx], eax
bt dword [ebp - 0x10], 0xa
jb 0x1017d22c
push dword [esi + 0x170]
mov edi, edx
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
push dword [esi + 0x16c]
call sym.nss3.dll_PR_ExitMonitor
mov edx, edi
add esp, 4
mov eax, edx
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esi + 0x24]
mov edx, ebx
call fcn.1017d2c0
xor edx, edx
jmp case.0x1017ce1f.15
xor edx, edx
jmp 0x1017d22c
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1017ce6c
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1017d1c6
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1017cf36
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1017d06f
call sym.nss3.dll_PR_Init
jmp 0x1017ce58
call sym.nss3.dll_PR_Init
jmp 0x1017d1b2
call sym.nss3.dll_PR_Init
jmp 0x1017cf22
call sym.nss3.dll_PR_Init
jmp 0x1017d05b