Function at 0x100f8d80
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x43c
mov eax, dword [ebp + 8]
mov ecx, dword [0x101f1014]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x430], 0
mov edi, dword [eax + 0x9c]
test edi, edi
je 0x100f8f0a
mov eax, dword [edi + 0x18]
test eax, eax
je 0x100f8f0a
mov ecx, dword [eax]
test ecx, ecx
je 0x100f8f0a
cmp dword [eax + 4], 0
je 0x100f8f0a
movzx eax, word [edi + 8]
xor edx, edx
mov esi, 0
test al, 2
jne 0x100f8e12
test al, al
js 0x100f8e0f
mov esi, 2
bt eax, 8
jb 0x100f8e12
mov esi, 3
test al, 0x10
jne 0x100f8e12
mov esi, 4
test al, 0x20
jne 0x100f8e12
mov esi, 5
test al, 0x40
jne 0x100f8e12
jmp 0x100f8f0a
xor esi, esi
inc esi
mov eax, dword [ebp + 0x10]
cmp eax, 0x330
jle 0x100f8e4e
cmp eax, 0x650
jg 0x100f8e80
cmp eax, 0x3ff
jg 0x100f8ec6
cmp eax, 0x331
je 0x100f8f32
cmp eax, 0x341
jne 0x100f8f0a
mov edx, 4
jmp 0x100f8f68
cmp eax, 0x140
jle 0x100f8ea3
cmp eax, 0x310
jg 0x100f8ee2
cmp eax, 0x141
je 0x100f8f39
cmp eax, 0x301
jne 0x100f8f0a
mov edx, 6
jmp 0x100f8f68
cmp eax, 0x1007
jg 0x100f8ef5
cmp eax, 0x651
je 0x100f8f40
cmp eax, 0x1002
jne 0x100f8f0a
mov edx, 0xb
jmp 0x100f8f68
cmp eax, 0x101
je 0x100f8f47
cmp eax, 0x121
je 0x100f8f4e
cmp eax, 0x132
je 0x100f8f68
jmp 0x100f8f0a
cmp eax, 0x400
je 0x100f8f55
cmp eax, 0x551
jne 0x100f8f0a
mov edx, 0xd
jmp 0x100f8f68
cmp eax, 0x311
je 0x100f8f5c
cmp eax, 0x321
jne 0x100f8f0a
xor edx, edx
inc edx
jmp 0x100f8f68
cmp eax, 0x1008
je 0x100f8f63
cmp eax, 0x1081
jne 0x100f8f0a
mov edx, 0xc
jmp 0x100f8f68
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, ebx
add esp, 0x43c
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, 7
jmp 0x100f8f68
mov edx, 9
jmp 0x100f8f68
mov edx, 0xe
jmp 0x100f8f68
mov edx, 8
jmp 0x100f8f68
mov edx, 2
jmp 0x100f8f68
mov edx, 3
jmp 0x100f8f68
mov edx, 5
jmp 0x100f8f68
mov edx, 0xa
mov dword [ebp - 0x438], ecx
mov eax, dword [esi*4 + 0x101c5f8c]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x440], edx
lea eax, [edx + edx*2]
lea eax, [eax*8 + 0x101f5a50]
mov dword [ebp - 0x43c], eax
push 1
call fcn.1010d290
add esp, 4
mov dword [ebp - 0x444], esi
mov esi, dword [0x101f5a4c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov ebx, eax
test eax, eax
je 0x100f9382
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [esi + 8], ebx
mov eax, dword [ebp - 0x43c]
mov esi, dword [ebp - 0x444]
mov ebx, dword [eax + esi*4]
test ebx, ebx
je 0x100f9009
push ebx
call fcn.100c6e60
add esp, 4
test eax, eax
je 0x100f8ff3
lock inc dword [ebx + 0x2c]
jmp 0x100f92ee
push ebx
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
mov eax, dword [ebp - 0x43c]
mov dword [eax + esi*4], 0
lea eax, [ebp - 0x420]
mov ecx, dword [ebp - 0x440]
mov edx, esi
push 0
push eax
call fcn.10112550
add esp, 8
test eax, eax
je 0x100f9102
mov esi, dword [ebp + 0xc]
xor ebx, ebx
test esi, esi
je 0x100f92ee
mov eax, dword [ebp + 0x10]
push eax
push esi
call fcn.100cf740
add esp, 8
push dword [ebp + 0x14]
push eax
push 0
push dword [ebp + 0x10]
push esi
call sym.nss3.dll_PK11_KeyGen
add esp, 0x14
test eax, eax
je 0x100f92ee
mov ebx, eax
xor esi, esi
push 0x410
push esi
lea eax, [ebp - 0x420]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [edi + 0x18]
mov edi, dword [eax + 4]
mov dword [ebp - 0x42c], esi
push edi
call fcn.1008eda0
add esp, 4
add eax, 7
mov ecx, eax
shr ecx, 3
mov dword [ebp - 0x424], ecx
lea ecx, [ebp - 0x420]
mov dword [ebp - 0x428], ecx
cmp eax, 0x2007
ja 0x100f92ee
mov ecx, dword [ebp - 0x434]
cmp ecx, 8
ja 0x100f92e1
mov eax, 0x70
bt eax, ecx
jb 0x100f9136
mov eax, 0x182
bt eax, ecx
jae 0x100f92e1
xor eax, eax
cmp dword [edi + 4], 1
sete al
add eax, eax
dec eax
lea ecx, [ebp - 0x42c]
xor esi, esi
inc esi
push ecx
push ebx
push 0
push eax
push edi
call fcn.100c7ea0
add esp, 0x14
mov edi, eax
jmp 0x100f92dd
lea ecx, [ebp - 0x420]
mov edx, dword [ebp - 0x438]
push dword [ebp + 0x10]
push esi
call fcn.100f93a0
add esp, 8
mov ebx, eax
test eax, eax
je 0x100f902a
lock inc dword [ebx + 0x2c]
mov eax, dword [ebp - 0x43c]
mov dword [eax + esi*4], ebx
jmp 0x100f92ee
cmp dword [edi + 4], 6
jne 0x100f919a
lea eax, [edi + 0x10]
lea esi, [ebp - 0x430]
push 0
push esi
push eax
call fcn.1008e250
add esp, 0xc
mov ecx, dword [esi]
test eax, eax
je 0x100f91ae
test ecx, ecx
je 0x100f91ae
mov dword [ebp - 0x434], eax
cmp dword [ecx + 0x1c], 0
jne 0x100f9179
push edi
call fcn.1008eda0
add esp, 4
mov ecx, dword [ebp - 0x430]
mov dword [ecx + 0x1c], eax
mov eax, dword [ecx + 0x28]
add eax, dword [ecx + 0x18]
cmp eax, 0x1f8
jb 0x100f91c0
push 0
push 0xffffe028
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100f92a6
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100f92e1
xor edi, edi
dec edi
xor esi, esi
test eax, eax
jne 0x100f92b1
jmp 0x100f92c0
sub esp, 0x30
movaps xmm0, xmmword [0x101c5720]
movups xmmword [esp + 0x1c], xmm0
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x18], eax
movaps xmm0, xmmword [0x101bd900]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x438]
mov dword [esp], eax
mov dword [esp + 0x2c], 0
call sym.nss3.dll_PK11_PubDeriveWithKDF
add esp, 0x30
test eax, eax
je 0x100f92a6
mov edi, dword [ebp - 0x430]
movzx ecx, word [edi + 0x1c]
lea edx, [ebp - 0x418]
mov word [edx - 8], cx
mov dword [ebp - 0x448], eax
mov esi, dword [edi + 0x18]
mov word [edx - 6], si
push esi
push dword [edi + 0x14]
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x28]
lea ecx, [ebp - 0x418]
mov word [ecx - 4], ax
movzx ecx, si
mov esi, dword [ebp - 0x448]
lea ecx, [ebp + ecx - 0x418]
push eax
push dword [edi + 0x24]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [ebp - 0x418]
movzx eax, word [ecx - 6]
movzx ecx, word [ecx - 4]
add ecx, eax
mov eax, 0x1f8
sub eax, ecx
lea edx, [ebp - 0x42c]
mov dword [edx + 8], eax
lea eax, [ecx + ebp]
add eax, 0xfffffbe8
mov dword [edx + 4], eax
push edx
push ebx
push esi
push 0
push dword [ebp + 0x10]
call sym.nss3.dll_PK11_WrapSymKey
add esp, 0x14
test eax, eax
je 0x100f936d
mov edi, eax
jmp 0x100f92ab
xor edi, edi
dec edi
xor esi, esi
mov eax, dword [ebp - 0x434]
push eax
call sym.nss3.dll_SECKEY_DestroyPrivateKey
add esp, 4
mov ecx, dword [ebp - 0x430]
test ecx, ecx
je 0x100f92cd
push ecx
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
test esi, esi
je 0x100f92da
push esi
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
mov esi, dword [ebp + 0x10]
test edi, edi
je 0x100f9301
push 0xffffd045
call fcn.1010c480
add esp, 4
push dword [0x101f5a4c]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x100f8f1b
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x440]
mov word [ebp - 0x18], ax
mov esi, dword [ebp - 0x444]
mov word [ebp - 0x16], si
movzx eax, word [ebp - 0x424]
mov word [ebp - 0x14], ax
lea eax, [ebp - 0x420]
push eax
call fcn.10112660
add esp, 4
test eax, eax
jne 0x100f9124
push ebx
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
lea ecx, [ebp - 0x420]
mov edx, dword [ebp - 0x438]
push edi
push esi
call fcn.100f93a0
add esp, 8
mov ebx, eax
test eax, eax
jne 0x100f9124
xor ebx, ebx
jmp 0x100f92ee
movzx eax, word [ebp - 0x424]
mov word [ebp - 0x41a], ax
xor edi, edi
jmp 0x100f92ab
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov ebx, eax
jmp 0x100f8fbd