Function at 0x100ff0c0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x444
mov eax, dword [ebp + 8]
mov ecx, dword [0x101db014]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x430], 0
mov ebx, dword [eax + 0x9c]
test ebx, ebx
je 0x100ff24a
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x100ff24a
mov ecx, dword [eax]
test ecx, ecx
je 0x100ff24a
cmp dword [eax + 4], 0
je 0x100ff24a
movzx eax, word [ebx + 8]
xor esi, esi
mov edx, 0
test al, 2
jne 0x100ff152
test al, al
js 0x100ff14f
mov edx, 2
bt eax, 8
jb 0x100ff152
mov edx, 3
test al, 0x10
jne 0x100ff152
mov edx, 4
test al, 0x20
jne 0x100ff152
mov edx, 5
test al, 0x40
jne 0x100ff152
jmp 0x100ff24a
xor edx, edx
inc edx
mov eax, dword [ebp + 0x10]
cmp eax, 0x330
jle 0x100ff18e
cmp eax, 0x650
jg 0x100ff1c0
cmp eax, 0x3ff
jg 0x100ff206
cmp eax, 0x331
je 0x100ff272
cmp eax, 0x341
jne 0x100ff24a
mov esi, 4
jmp 0x100ff2a8
cmp eax, 0x140
jle 0x100ff1e3
cmp eax, 0x310
jg 0x100ff222
cmp eax, 0x141
je 0x100ff279
cmp eax, 0x301
jne 0x100ff24a
mov esi, 6
jmp 0x100ff2a8
cmp eax, 0x1007
jg 0x100ff235
cmp eax, 0x651
je 0x100ff280
cmp eax, 0x1002
jne 0x100ff24a
mov esi, 0xb
jmp 0x100ff2a8
cmp eax, 0x101
je 0x100ff287
cmp eax, 0x121
je 0x100ff28e
cmp eax, 0x132
je 0x100ff2a8
jmp 0x100ff24a
cmp eax, 0x400
je 0x100ff295
cmp eax, 0x551
jne 0x100ff24a
mov esi, 0xd
jmp 0x100ff2a8
cmp eax, 0x311
je 0x100ff29c
cmp eax, 0x321
jne 0x100ff24a
xor esi, esi
inc esi
jmp 0x100ff2a8
cmp eax, 0x1008
je 0x100ff2a3
cmp eax, 0x1081
jne 0x100ff24a
mov esi, 0xc
jmp 0x100ff2a8
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014dc80
mov eax, edi
add esp, 0x444
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, 7
jmp 0x100ff2a8
mov esi, 9
jmp 0x100ff2a8
mov esi, 0xe
jmp 0x100ff2a8
mov esi, 8
jmp 0x100ff2a8
mov esi, 2
jmp 0x100ff2a8
mov esi, 3
jmp 0x100ff2a8
mov esi, 5
jmp 0x100ff2a8
mov esi, 0xa
mov dword [ebp - 0x43c], ecx
mov dword [ebp - 0x440], edx
lea eax, [edx*4]
mov dword [ebp - 0x448], esi
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*8]
add eax, 0x101df658
mov dword [ebp - 0x444], eax
push 1
call fcn.10112cf0
add esp, 4
mov esi, dword [0x101df654]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100ff6f7
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [esi + 8], edi
mov eax, dword [ebp - 0x444]
mov edi, dword [eax]
test edi, edi
mov esi, dword [ebp - 0x440]
je 0x100ff342
push edi
call fcn.100cd8f0
add esp, 4
test eax, eax
je 0x100ff32d
lock inc dword [edi + 0x2c]
jmp 0x100ff65b
push edi
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
mov eax, dword [ebp - 0x444]
mov dword [eax], 0
lea eax, [ebp - 0x420]
push eax
push esi
push dword [ebp - 0x448]
call fcn.10117e60
add esp, 0xc
test eax, eax
je 0x100ff43d
mov esi, dword [ebp + 0xc]
xor edi, edi
test esi, esi
je 0x100ff65b
mov eax, dword [ebp + 0x10]
push eax
push esi
call fcn.100d5dc0
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 0x100ff65b
mov edi, 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 [ebx + 0x18]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x42c], esi
push ebx
call fcn.10095190
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 0x100ff65b
mov eax, dword [ebp - 0x440]
mov eax, dword [eax*4 + 0x101b087c]
cmp eax, 8
ja 0x100ff64e
mov ecx, 0x70
bt ecx, eax
jb 0x100ff470
mov ecx, 0x182
bt ecx, eax
jae 0x100ff64e
xor eax, eax
cmp dword [ebx + 4], 1
sete al
add eax, eax
dec eax
lea ecx, [ebp - 0x42c]
xor esi, esi
inc esi
push ecx
push edi
push 0
push eax
push ebx
call fcn.100ce8c0
add esp, 0x14
jmp 0x100ff64a
lea ecx, [ebp - 0x420]
mov edx, dword [ebp - 0x43c]
push dword [ebp + 0x10]
push esi
call fcn.100ff720
add esp, 8
mov edi, eax
test eax, eax
je 0x100ff360
lock inc dword [edi + 0x2c]
mov eax, dword [ebp - 0x444]
mov dword [eax], edi
jmp 0x100ff65b
cmp dword [ebx + 4], 6
jne 0x100ff4d7
lea eax, [ebx + 0x10]
lea esi, [ebp - 0x430]
push 0
push esi
push eax
call fcn.100946a0
add esp, 0xc
mov ecx, dword [esi]
test eax, eax
je 0x100ff4f9
test ecx, ecx
je 0x100ff4f9
mov dword [ebp - 0x438], eax
cmp dword [ecx + 0x1c], 0
mov esi, dword [ebp + 0x10]
jne 0x100ff4b6
push ebx
call fcn.10095190
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 0x100ff514
push 0
push 0xffffe028
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100ff60a
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
xor eax, eax
dec eax
mov dword [ebp - 0x434], eax
xor ebx, ebx
mov esi, dword [ebp + 0x10]
jmp 0x100ff624
xor edx, edx
dec edx
mov dword [ebp - 0x434], edx
xor ebx, ebx
test eax, eax
mov esi, dword [ebp + 0x10]
jne 0x100ff61b
jmp 0x100ff62a
sub esp, 0x30
movaps xmm0, xmmword [0x101b0010]
movups xmmword [esp + 0x1c], xmm0
mov dword [esp + 0x18], esi
movaps xmm0, xmmword [0x101a8370]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x43c]
mov dword [esp], eax
mov dword [esp + 0x2c], 0
call sym.nss3.dll_PK11_PubDeriveWithKDF
add esp, 0x30
test eax, eax
je 0x100ff60a
mov edx, dword [ebp - 0x430]
mov dword [ebp - 0x44c], edx
movzx ecx, word [edx + 0x1c]
lea esi, [ebp - 0x418]
mov word [esi - 8], cx
mov dword [ebp - 0x450], eax
mov ebx, dword [edx + 0x18]
mov word [esi - 6], bx
push ebx
push dword [edx + 0x14]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x44c]
mov esi, dword [ecx + 0x28]
lea eax, [ebp - 0x418]
mov word [eax - 4], si
mov eax, 0xffff
and ebx, eax
lea eax, [ebx + ebp]
add eax, 0xfffffbe8
mov dword [ebp - 0x434], eax
push esi
push dword [ecx + 0x24]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, 0xffff
and esi, eax
add ebx, esi
mov eax, 0x1f8
sub eax, ebx
mov ebx, dword [ebp - 0x450]
lea ecx, [ebp - 0x42c]
mov dword [ecx + 8], eax
add esi, dword [ebp - 0x434]
mov dword [ecx + 4], esi
mov esi, dword [ebp + 0x10]
push ecx
push edi
push ebx
push 0
push esi
call sym.nss3.dll_PK11_WrapSymKey
add esp, 0x14
test eax, eax
je 0x100ff6da
mov dword [ebp - 0x434], eax
jmp 0x100ff615
xor eax, eax
dec eax
mov dword [ebp - 0x434], eax
xor ebx, ebx
mov eax, dword [ebp - 0x438]
push eax
call sym.nss3.dll_SECKEY_DestroyPrivateKey
add esp, 4
mov ecx, dword [ebp - 0x430]
test ecx, ecx
je 0x100ff637
push ecx
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
test ebx, ebx
je 0x100ff644
push ebx
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
mov eax, dword [ebp - 0x434]
test eax, eax
je 0x100ff66e
push 0xffffd045
call fcn.10111ec0
add esp, 4
push dword [0x101df654]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x100ff25b
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x448]
mov word [ebp - 0x18], ax
mov esi, dword [ebp - 0x440]
mov word [ebp - 0x16], si
movzx eax, word [ebp - 0x424]
mov word [ebp - 0x14], ax
lea eax, [ebp - 0x420]
push eax
call fcn.10117f70
add esp, 4
test eax, eax
jne 0x100ff45f
push edi
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
lea ecx, [ebp - 0x420]
mov edx, dword [ebp - 0x43c]
push ebx
push esi
call fcn.100ff720
add esp, 8
mov edi, eax
test eax, eax
jne 0x100ff45f
xor edi, edi
jmp 0x100ff65b
movzx eax, word [ebp - 0x424]
mov word [ebp - 0x41a], ax
mov dword [ebp - 0x434], 0
jmp 0x100ff615
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov edi, eax
jmp 0x100ff2f8