Function at 0x100be010
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x3c
mov edi, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x101ef014]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov ebx, dword [edi + 8]
mov dword [ebp - 0x24], eax
cmp dword [edi + 4], 1
jne 0x100be0d8
mov dword [ebp - 0x34], edx
mov eax, dword [edi + 0x18]
test al, 1
mov dword [ebp - 0x28], edi
jne 0x100be0e4
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x11]
mov byte [eax], 0
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 1
mov edi, dword [ebx + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100be43c
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov eax, dword [ebx]
mov esi, dword [ebx + 0x38]
mov ecx, dword [eax + 0x62]
call dword [section..00cfg]
lea eax, [ebp - 0x20]
push 1
push eax
push dword [ebp - 0x2c]
push esi
call ecx
add esp, 0x10
mov esi, eax
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x100be318
push esi
call fcn.100a9930
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, dword [ebp - 0x28]
jmp 0x100be0f4
push 0
push 0xffffe028
jmp 0x100be3fc
test al, 2
je 0x100be0f4
push dword [edi + 0x14]
push ebx
call fcn.100a30d0
add esp, 8
cmp dword [ebx + 0x30], 0
jne 0x100be123
mov edi, dword [ebx + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100be459
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov edi, dword [ebp - 0x28]
mov eax, dword [ebx]
mov esi, dword [ebx + 0x40]
mov ecx, dword [eax + 0x32]
call dword [section..00cfg]
lea eax, [ebp - 0x20]
push eax
push sym.nss3.dll_SECMOD_CanDeleteInternalModule
push ebx
push 4
push esi
call ecx
add esp, 0x14
mov esi, eax
test eax, eax
je 0x100be14f
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0x20], eax
cmp dword [ebx + 0x30], 0
jne 0x100be160
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], esi
test esi, esi
je 0x100be1aa
mov edi, dword [ebx + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100be41f
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov al, 1
mov dword [ebp - 0x3c], eax
xor eax, eax
inc eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x38], 0
mov edi, dword [ebp - 0x28]
jmp 0x100be1c3
cmp dword [ebx + 0x30], 0
je 0x100be16d
mov dword [ebp - 0x44], 0
mov al, 1
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x86]
mov esi, dword [edi + 0xc]
call dword [section..00cfg]
push esi
push dword [ebp + 0x18]
push dword [ebp - 0x2c]
call ecx
add esp, 0xc
test eax, eax
je 0x100be268
mov esi, eax
cmp byte [ebp - 0x3c], 0
je 0x100be1fb
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp dword [ebp - 0x30], 0
jne 0x100be3f0
cmp dword [ebx + 0x30], 0
jne 0x100be23b
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x30], eax
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100be493
mov edi, dword [ebp - 0x30]
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x28]
mov dword [edi + 8], eax
mov eax, dword [ebx]
mov ecx, dword [eax + 0x36]
call dword [section..00cfg]
push dword [ebp - 0x2c]
call ecx
add esp, 4
cmp dword [ebx + 0x30], 0
jne 0x100be3f0
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x100be3f0
mov eax, dword [edi + 0x18]
test al, 1
jne 0x100be32a
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x11]
mov byte [eax], 0
mov dword [ebp - 0x20], 0x202
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 1
cmp byte [ebp - 0x38], 0
mov dword [ebp - 0x40], ecx
je 0x100be2c8
mov edi, dword [ecx + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100be476
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx]
mov esi, dword [ecx + 0x38]
mov ecx, dword [eax + 0x62]
call dword [section..00cfg]
push 1
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x48]
push esi
call ecx
add esp, 0x10
mov esi, eax
cmp byte [ebp - 0x38], 0
je 0x100be2fb
mov eax, dword [ebp - 0x40]
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x100be32e
push esi
call fcn.100a9930
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
mov esi, dword [ebp - 0x34]
jmp 0x100be34d
cmp byte [ebp - 0x11], 0
mov edi, dword [ebp - 0x28]
jne 0x100be0e8
jmp 0x100be0f4
test al, 4
jmp 0x100be332
cmp byte [ebp - 0x11], 0
mov esi, dword [ebp - 0x34]
je 0x100be34d
push 1
push dword [ebp - 0x44]
push dword [edi + 0x14]
push 0
push dword [ebp - 0x2c]
push ebx
call fcn.100a33d0
add esp, 0x18
mov eax, dword [ebx]
mov ecx, dword [eax + 0x8a]
call dword [section..00cfg]
lea eax, [ebp - 0x24]
push eax
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x2c]
call ecx
add esp, 0x14
mov esi, eax
cmp byte [ebp - 0x3c], 0
je 0x100be381
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov edi, dword [ebp + 8]
cmp dword [ebp - 0x30], 0
jne 0x100be3e7
cmp dword [ebx + 0x30], 0
jne 0x100be3c3
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x30], eax
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100be4b1
mov edi, dword [ebp - 0x30]
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x28]
mov dword [edi + 8], eax
mov edi, dword [ebp + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x36]
call dword [section..00cfg]
push dword [ebp - 0x2c]
call ecx
add esp, 4
cmp dword [ebx + 0x30], 0
jne 0x100be3e7
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, dword [ebp - 0x24]
mov dword [edi], eax
test esi, esi
je 0x100be41b
push esi
call fcn.100a9930
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
jmp 0x100be407
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x100be186
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x100be080
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x100be113
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x100be2b5
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov dword [ebp - 0x28], eax
jmp 0x100be228
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov dword [ebp - 0x28], eax
jmp 0x100be3ad