Function at 0x100be530
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov dword [ebp - 0x28], edx
mov edi, ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x101ef014]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x20], eax
mov eax, dword [edx]
lea ecx, [ebp - 0x1c]
mov dword [ecx], eax
lea ebx, [ebp - 0x14]
mov dword [ebx], 0
lea eax, [ebp - 0x18]
mov dword [eax], 0x100
mov edx, dword [ebp + 0x1c]
push edx
push 1
push ebx
push eax
push ecx
call fcn.100cdc10
add esp, 0x14
test eax, eax
je 0x100be645
mov esi, eax
push 0
push edi
push eax
call sym.nss3.dll_PK11_ImportPublicKey
add esp, 0xc
test eax, eax
je 0x100be651
mov dword [ebp - 0x2c], eax
cmp dword [esi + 0x30], 0
jne 0x100be5d3
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x30], eax
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x100be82d
mov edi, dword [ebp - 0x30]
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x24]
mov dword [edi + 8], eax
mov eax, dword [esi]
mov edi, dword [esi + 0x40]
mov ecx, dword [eax + 0x32]
call dword [section..00cfg]
push ebx
push sym.nss3.dll_SECMOD_CanDeleteInternalModule
push esi
push 4
push edi
call ecx
add esp, 0x14
mov ebx, eax
test eax, eax
je 0x100be5fc
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x14], eax
cmp dword [esi + 0x30], 0
jne 0x100be60d
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x30], ebx
test ebx, ebx
mov dword [ebp - 0x24], edi
je 0x100be66c
mov edi, dword [esi + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov ebx, eax
test eax, eax
je 0x100be810
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], ebx
mov edi, dword [ebp - 0x24]
jmp 0x100be672
push 0
push 0xffffe040
jmp 0x100be7ed
lock dec dword [esi + 0x48]
jne 0x100be660
push esi
call fcn.100c9d60
add esp, 4
push 0
push 0xffffe00e
jmp 0x100be7ed
cmp dword [esi + 0x30], 0
je 0x100be61a
mov eax, dword [esi]
mov ecx, dword [eax + 0x76]
call dword [section..00cfg]
push dword [ebp - 0x2c]
push dword [ebp + 0x18]
push edi
call ecx
add esp, 0xc
test eax, eax
je 0x100be6a5
mov ebx, eax
cmp dword [ebp - 0x30], 0
je 0x100be6e4
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x100be749
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
mov eax, dword [esi]
mov ecx, dword [eax + 0x7a]
call dword [section..00cfg]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x28]
push edi
mov edi, dword [ebp - 0x24]
push ebx
push edi
call ecx
add esp, 0x14
mov ebx, eax
cmp dword [ebp - 0x30], 0
je 0x100be761
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x100be7c6
cmp dword [esi + 0x30], 0
jne 0x100be72e
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp dword [esi + 0x30], 0
jne 0x100be72e
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x2c], eax
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100be84b
mov edi, dword [ebp - 0x2c]
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 - 0x24]
mov eax, dword [esi]
mov ecx, dword [eax + 0x36]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
cmp dword [esi + 0x30], 0
je 0x100be695
lock dec dword [esi + 0x48]
jne 0x100be7e1
push esi
call fcn.100c9d60
add esp, 4
jmp 0x100be7e1
cmp dword [esi + 0x30], 0
jne 0x100be7ab
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp dword [esi + 0x30], 0
jne 0x100be7ab
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x2c], eax
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100be869
mov edi, dword [ebp - 0x2c]
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 - 0x24]
mov eax, dword [esi]
mov ecx, dword [eax + 0x36]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
cmp dword [esi + 0x30], 0
je 0x100be6d4
mov edi, dword [ebp + 8]
lock dec dword [esi + 0x48]
jne 0x100be7d8
push esi
call fcn.100c9d60
add esp, 4
mov eax, dword [ebp - 0x20]
mov dword [edi], eax
test ebx, ebx
je 0x100be80c
push ebx
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, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
jmp 0x100be7f8
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov ebx, eax
jmp 0x100be633
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov dword [ebp - 0x24], eax
jmp 0x100be5c0
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov dword [ebp - 0x28], eax
jmp 0x100be718
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov dword [ebp - 0x28], eax
jmp 0x100be795