Function at 0x100c5d90
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 [0x101db014]
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.100d5860
add esp, 0x14
test eax, eax
je 0x100c5ea5
mov esi, eax
push 0
push edi
push eax
call sym.nss3.dll_PK11_ImportPublicKey
add esp, 0xc
test eax, eax
je 0x100c5eb1
mov dword [ebp - 0x2c], eax
cmp dword [esi + 0x30], 0
jne 0x100c5e33
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x30], eax
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x100c608d
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 0x100c5e5c
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x14], eax
cmp dword [esi + 0x30], 0
jne 0x100c5e6d
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 0x100c5ecc
mov edi, dword [esi + 0x3c]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov ebx, eax
test eax, eax
je 0x100c6070
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], ebx
mov edi, dword [ebp - 0x24]
jmp 0x100c5ed2
push 0
push 0xffffe040
jmp 0x100c604d
lock dec dword [esi + 0x48]
jne 0x100c5ec0
push esi
call fcn.100d1c70
add esp, 4
push 0
push 0xffffe00e
jmp 0x100c604d
cmp dword [esi + 0x30], 0
je 0x100c5e7a
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 0x100c5f05
mov ebx, eax
cmp dword [ebp - 0x30], 0
je 0x100c5f44
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x100c5fa9
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 0x100c5fc1
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x100c6026
cmp dword [esi + 0x30], 0
jne 0x100c5f8e
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp dword [esi + 0x30], 0
jne 0x100c5f8e
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x2c], eax
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100c60ab
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 0x100c5ef5
lock dec dword [esi + 0x48]
jne 0x100c6041
push esi
call fcn.100d1c70
add esp, 4
jmp 0x100c6041
cmp dword [esi + 0x30], 0
jne 0x100c600b
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp dword [esi + 0x30], 0
jne 0x100c600b
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x2c], eax
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100c60c9
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 0x100c5f34
mov edi, dword [ebp + 8]
lock dec dword [esi + 0x48]
jne 0x100c6038
push esi
call fcn.100d1c70
add esp, 4
mov eax, dword [ebp - 0x20]
mov dword [edi], eax
test ebx, ebx
je 0x100c606c
push ebx
call fcn.100b1140
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.1014dc80
mov eax, esi
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
jmp 0x100c6058
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov ebx, eax
jmp 0x100c5e93
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov dword [ebp - 0x24], eax
jmp 0x100c5e20
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov dword [ebp - 0x28], eax
jmp 0x100c5f78
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov dword [ebp - 0x28], eax
jmp 0x100c5ff5