Function at 0x100c7190
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x124
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp + 8]
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 8]
mov byte [ebp - 0x101], 1
mov dword [ebp - 0x108], 4
mov dword [ebp - 0x10c], 0x10
mov dword [ebp - 0x110], 0
cmp edx, 0x11
jb 0x100c71e5
push 0
push 0xffffe005
jmp 0x100c75a8
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 0x18]
mov ecx, eax
and ecx, 0xff000000
mov esi, eax
and esi, 0xffffff
cmp ecx, 0x82000000
cmovne esi, eax
lea ebx, [ebp - 0x100]
mov edi, ebx
test edx, edx
je 0x100c723b
lea eax, [edx*4]
lea edi, [eax + eax*2]
lea eax, [ebp - 0x100]
push edi
push dword [ebp + 0x20]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp + 0x24]
add esp, 0xc
add edi, ebp
add edi, 0xffffff00
push 0
push edx
push ebx
call fcn.100bca80
add esp, 0xc
test eax, eax
jne 0x100c7264
mov dword [edi], 0
lea eax, [ebp - 0x108]
mov dword [edi + 4], eax
mov dword [edi + 8], 4
add edi, 0xc
mov eax, dword [ebp + 8]
mov dword [ebp - 0x128], eax
mov ebx, dword [ebp + 0x1c]
lea eax, [ebp - 0x100]
push 0x100
push dword [ebp + 0x24]
push eax
call fcn.100bca80
add esp, 0xc
test eax, eax
jne 0x100c72b2
push ebx
push dword [ebp + 0x14]
call fcn.100b7390
add esp, 8
lea ecx, [ebp - 0x10c]
mov dword [ecx], eax
mov dword [edi], 0x100
mov dword [edi + 4], ecx
mov dword [edi + 8], 4
add edi, 0xc
test ebx, ebx
mov eax, dword [ebp + 0x24]
jle 0x100c72f3
push 0x161
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.100bca80
add esp, 0xc
test eax, eax
jne 0x100c72f0
lea eax, [ebp - 0x110]
mov ecx, dword [ebp + 0x1c]
mov dword [eax], ecx
mov dword [edi], 0x161
mov dword [edi + 4], eax
mov dword [edi + 8], 4
add edi, 0xc
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0xc]
test esi, esi
je 0x100c732f
push esi
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.100bca80
add esp, 0xc
test eax, eax
jne 0x100c7324
mov dword [edi], esi
lea eax, [ebp - 0x101]
mov dword [edi + 4], eax
mov dword [edi + 8], 1
add edi, 0xc
mov dword [ebp - 0x120], edi
mov ecx, dword [ebp + 0xc]
jmp 0x100c7335
mov dword [ebp - 0x120], edi
push ecx
mov ebx, dword [ebp - 0x124]
push ebx
mov edi, ecx
call sym.nss3.dll_PK11_DoesMechanism
add esp, 8
test eax, eax
je 0x100c73b0
mov dword [ebp - 0x12c], 0
mov edi, dword [ebp - 0x120]
mov edx, dword [ebp + 0x14]
xor eax, eax
cmp dword [ebp + 0x28], 0
sete al
mov dword [ebp - 0x124], ebx
mov ecx, ebx
mov esi, dword [ebp - 0x128]
push dword [esi + 0xc]
push 1
push eax
call fcn.100c55e0
add esp, 0xc
mov ebx, 0
test eax, eax
je 0x100c75b2
mov edx, eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x1c]
mov dword [edx + 0x30], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x11c], eax
test ecx, ecx
je 0x100c7427
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x100c742b
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0xc]
lea ecx, [ebp - 0x11c]
mov dword [ecx], edi
xor ebx, ebx
push eax
push 1
push ebx
push ebx
push ecx
call fcn.100cdc10
add esp, 0x14
test eax, eax
mov edi, dword [ebp - 0x120]
je 0x100c75b2
mov ecx, esi
mov esi, eax
xor ebx, ebx
push ecx
push ebx
push ebx
push 0x10c
push dword [ebp + 0xc]
push eax
call fcn.100c6000
add esp, 0x18
mov dword [ebp - 0x128], eax
lock dec dword [esi + 0x48]
jne 0x100c740b
push esi
call fcn.100c9d60
add esp, 4
mov esi, dword [ebp - 0x128]
test esi, esi
je 0x100c75b2
mov ebx, dword [esi + 8]
mov dword [ebp - 0x12c], esi
jmp 0x100c735b
xor eax, eax
xor ecx, ecx
mov esi, dword [ebp - 0x124]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], ecx
mov dword [edx + 0x34], 1
cmp dword [ebp + 0x28], 0
mov dword [ebp - 0x120], edx
je 0x100c746a
push esi
call fcn.100ca370
mov edx, dword [ebp - 0x120]
add esp, 4
mov ebx, eax
test eax, eax
jne 0x100c74b6
jmp 0x100c7571
cmp dword [edx + 0x28], 0
mov eax, dword [edx + 8]
je 0x100c7479
cmp dword [eax + 0x30], 0
jne 0x100c74a5
mov esi, dword [eax + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov ebx, eax
test eax, eax
je 0x100c75cd
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [esi + 8], ebx
mov edx, dword [ebp - 0x120]
mov ebx, dword [edx + 0x24]
test ebx, ebx
mov esi, dword [ebp - 0x124]
je 0x100c754c
lea eax, [ebp - 0x100]
sub edi, eax
sar edi, 2
imul eax, edi, 0xaaaaaaab
mov dword [ebp - 0x130], eax
mov eax, dword [esi]
mov ecx, dword [eax + 0xfa]
mov esi, edx
add esi, 4
mov eax, dword [ebp - 0x128]
mov edi, dword [eax + 4]
call dword [section..00cfg]
lea eax, [ebp - 0x11c]
push esi
push dword [ebp - 0x130]
lea edx, [ebp - 0x100]
push edx
push edi
push eax
push ebx
call ecx
add esp, 0x18
mov edi, eax
cmp dword [ebp + 0x28], 0
je 0x100c7524
push ebx
push dword [ebp - 0x124]
call fcn.100ca4a0
add esp, 8
mov edx, dword [ebp - 0x120]
jmp 0x100c7576
mov edx, dword [ebp - 0x120]
cmp dword [edx + 0x28], 0
mov eax, dword [edx + 8]
je 0x100c7539
cmp dword [eax + 0x30], 0
jne 0x100c7576
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
mov edx, dword [ebp - 0x120]
add esp, 4
jmp 0x100c7576
cmp dword [edx + 0x28], 0
mov eax, dword [edx + 8]
je 0x100c7560
mov edi, 0xb3
cmp dword [eax + 0x30], 0
jne 0x100c7576
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
mov edx, dword [ebp - 0x120]
add esp, 4
mov edi, 0xb3
mov eax, dword [ebp - 0x12c]
test eax, eax
je 0x100c758f
push eax
call sym.nss3.dll_PK11_FreeSymKey
mov edx, dword [ebp - 0x120]
add esp, 4
test edi, edi
je 0x100c75c9
push edx
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
push edi
call fcn.100a9930
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, ebx
add esp, 0x124
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, edx
jmp 0x100c75b2
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov ebx, eax
jmp 0x100c7492