Function at 0x100e4290
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov ebx, dword [ebp + 8]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100e4451
lea eax, [ebx + 0x20]
mov dword [ebp - 0x24], eax
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 0xc], esi
mov ecx, dword [ebx + 0x194]
mov eax, dword [ebx + 0x88]
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov dword [ebx + 0x194], ecx
mov dword [ebx + 0x88], ecx
mov esi, dword [ebx + 0x198]
test esi, esi
jne 0x100e44c0
lea esi, [ebx + 0x8c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100e4467
mov dword [ebp - 0x14], esi
mov esi, dword [esi]
cmp dword [esi + 8], eax
jne 0x100e433c
mov ecx, dword [esi + 0x34]
lea edx, [ebx + 0x100]
add esi, 0x34
xor edi, edi
test ecx, ecx
jg 0x100e4411
lea eax, [edi + edi*2]
inc ecx
mov dword [esi + eax*4 + 8], 1
mov dword [esi + eax*4 + 4], edx
mov dword [esi], ecx
lea esi, [ebx + 0x110]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100e447b
mov ebx, dword [esi]
cmp dword [ebx + 8], edi
jne 0x100e43b6
mov eax, dword [edi + 0xe0]
mov ecx, esi
mov esi, 0x1002
and eax, esi
cmp eax, 2
je 0x100e44a5
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [edi + 0xd8], ecx
xor ecx, ecx
mov dword [ebx + 8], ecx
lea ecx, [ebx + 0x1c]
add edx, 0x184
push eax
push ecx
push edx
call sym.nss3.dll__PR_MD_WAIT_CV
add esp, 0xc
xor eax, eax
mov dword [edi + 0xd8], eax
mov dword [ebx + 8], edi
and esi, dword [edi + 0xe0]
cmp esi, 2
je 0x100e44a5
mov esi, dword [ebp + 8]
cmp dword [esi + 0x194], 0
jne 0x100e4502
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x194], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x88], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100e4491
cmp dword [esi + 0xc], eax
jne 0x100e452a
mov dword [esi + 0xc], 0
push dword [ebp - 0x24]
call sym.nss3.dll__PR_MD_UNLOCK
add esp, 4
xor eax, eax
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x10], edx
xor edx, edx
mov eax, esi
inc edx
mov ebx, edx
test ecx, ecx
mov esi, eax
lea edx, [eax + 8]
cmovg ebx, ecx
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x10]
cmp dword [edx - 4], eax
je 0x100e4557
add edx, 0xc
dec ebx
jne 0x100e4428
cmp ecx, 6
jge 0x100e456d
mov edi, dword [ebp - 0x18]
mov ebx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
jmp 0x100e432a
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x100e42b2
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x100e430a
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov edi, eax
jmp 0x100e4358
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x100e43ec
push 0
push 0xffffe897
call sym.nss3.dll_PR_SetError
add esp, 8
and byte [edi + 0xe0], 0xfd
jmp 0x100e43b6
cmp esi, 0xffffffff
je 0x100e4532
test esi, esi
jle 0x100e44f3
lea edi, [ebx + 0x184]
inc esi
call fcn.100d5280
mov ecx, dword [ebx + 0x110]
cmp dword [ecx + 8], eax
jne 0x100e44ed
add ecx, 0x1c
push ecx
push edi
call sym.nss3.dll__PR_MD_NOTIFY_CV
add esp, 8
dec esi
cmp esi, 1
jg 0x100e44d0
mov dword [ebx + 0x198], 0
jmp 0x100e42f0
call fcn.100d5280
mov ecx, dword [ebp - 0x14]
mov esi, dword [ecx]
cmp dword [esi + 8], eax
jne 0x100e43b6
mov edx, dword [ebp - 0x14]
mov ecx, eax
push 0xffffffffffffffff
push esi
call fcn.100e12c0
add esp, 8
jmp 0x100e43b6
xor eax, eax
dec eax
jmp 0x100e4409
call fcn.100d5280
mov ecx, dword [ebx + 0x110]
cmp dword [ecx + 8], eax
jne 0x100e44f3
add ecx, 0x1c
lea eax, [ebx + 0x184]
push ecx
push eax
call sym.nss3.dll__PR_MD_NOTIFYALL_CV
add esp, 8
jmp 0x100e44f3
mov eax, dword [edx]
mov ebx, dword [ebp + 8]
cmp eax, 0xffffffff
je 0x100e433c
inc eax
mov dword [edx], eax
jmp 0x100e433c
mov eax, dword [esi + 0x4c]
test eax, eax
jne 0x100e4584
push 0x50
push 1
call dword [sym.imp.mozglue.dll_calloc]
add esp, 8
mov dword [esi + 0x4c], eax
mov ecx, dword [eax]
mov edx, 1
test ecx, ecx
jg 0x100e4419
mov esi, eax
jmp 0x100e4446