Function at 0x10106ff0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov ebx, dword [ebp + 8]
push ebx
call fcn.10106d10
add esp, 4
xor edi, edi
dec edi
test eax, eax
je 0x1010753b
mov esi, eax
push ebx
push eax
call fcn.101061e0
add esp, 8
test eax, eax
je 0x1010703e
mov edi, eax
push 0xc
mov ebx, dword [ebp + 0xc]
push ebx
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov ecx, ebx
jne 0x1010704f
xor edi, edi
jmp 0x1010753b
push 0xc
push dword [ebx]
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
mov ecx, dword [ebp + 0xc]
mov edi, eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x18], esi
mov dword [edi + 8], eax
movsd xmm0, qword [ecx]
movsd qword [edi], xmm0
mov ebx, dword [0x101d5784]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10107545
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [ebp + 8]
mov dword [esi + 0x160], edi
push dword [0x101d5784]
call sym.nss3.dll_PR_Unlock
add esp, 4
call fcn.100ff230
test eax, eax
je 0x10107122
mov edi, eax
push 0x3c
push eax
call fcn.100ff2b0
add esp, 8
test eax, eax
je 0x10107119
mov ebx, eax
xor eax, eax
push 1
push eax
push dword [esi + 0x11c]
push eax
push edi
call fcn.101077e0
add esp, 0x14
test eax, eax
je 0x10107119
mov esi, eax
mov ecx, 9
mov edi, ebx
mov eax, dword [ebp + 0xc]
mov edx, 3
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x18]
mov dword [ebx + 0x24], esi
mov ecx, dword [eax]
mov eax, 3
test cl, 0x30
jne 0x1010712d
mov edx, 2
test cl, 2
jne 0x1010712d
test cl, 1
jne 0x1010712a
and ecx, 8
mov edx, 5
cmp ecx, 1
sbb edx, 0
jmp 0x1010712d
push edi
call fcn.100ff520
add esp, 4
xor edi, edi
dec edi
jmp 0x1010753b
xor edx, edx
inc edx
mov ecx, dword [ebp + 0xc]
mov dword [ebx + 0x28], edx
mov ecx, dword [ecx]
test cl, cl
js 0x1010715b
mov eax, 2
test cl, 2
jne 0x1010715b
test cl, 1
jne 0x10107158
and ecx, 8
mov eax, 5
cmp ecx, 1
sbb eax, 0
jmp 0x1010715b
xor eax, eax
inc eax
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp + 0xc]
mov edx, 3
mov ecx, dword [eax + 4]
mov eax, 3
test cl, 0x30
jne 0x10107195
mov edx, 2
test cl, 2
jne 0x10107195
test cl, 1
jne 0x10107192
and ecx, 8
mov edx, 5
cmp ecx, 1
sbb edx, 0
jmp 0x10107195
xor edx, edx
inc edx
mov ecx, dword [ebp + 0xc]
mov dword [ebx + 0x30], edx
mov ecx, dword [ecx + 8]
test cl, 0x30
jne 0x101071c5
mov eax, 2
test cl, 2
jne 0x101071c5
test cl, 1
jne 0x101071c2
and ecx, 8
mov eax, 5
cmp ecx, 1
sbb eax, 0
jmp 0x101071c5
xor eax, eax
inc eax
mov ecx, dword [ebp + 0xc]
mov dword [ebx + 0x34], eax
mov eax, 0x200
mov dword [ebp - 0x28], ebx
and eax, dword [ecx]
mov dword [ebx + 0x38], eax
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1010720b
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1010752d
push ebx
push eax
call fcn.10109a70
add esp, 8
mov edi, eax
test eax, eax
jne 0x10107530
mov esi, dword [ebp - 0x18]
cmp dword [esi + 0x14], 0
je 0x1010745b
mov ebx, dword [0x101d5808]
push esi
call fcn.10107e50
add esp, 4
xor edi, edi
dec edi
test eax, eax
je 0x10107530
mov dword [ebp - 0x30], ebx
mov ebx, dword [eax]
mov dword [ebp - 0x34], eax
test ebx, ebx
je 0x101072c0
lea edi, [esi + 0x38]
lea ecx, [esi + 0x48]
lea edx, [esi + 0x30]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], edi
mov edi, eax
xor eax, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x2c], edx
add edi, 4
mov dword [ebp - 0x1c], eax
push 2
push dword [ebp - 0x14]
push dword [ebp - 0x20]
push dword [ebp - 0x2c]
push 0
push dword [ebx + 4]
call fcn.10102e90
add esp, 0x18
mov esi, dword [ebx + 4]
test eax, eax
mov ecx, dword [esi + 0x34]
mov ebx, dword [ecx + 0x20]
je 0x10107293
push eax
call fcn.10103710
add esp, 4
test ebx, ebx
jne 0x101072b3
jmp 0x101072d0
mov ecx, dword [ebp - 0x10]
test ebx, ebx
mov eax, ecx
cmovne eax, esi
test ecx, ecx
cmove ecx, eax
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x24]
or ebx, ecx
cmove ecx, esi
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov ebx, dword [edi]
add edi, 4
mov eax, esi
test ebx, ebx
jne 0x1010725c
jmp 0x101072d0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x10], 0
xor esi, esi
push dword [ebp - 0x34]
call fcn.10103830
add esp, 4
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov edi, 0xffffffff
test eax, eax
cmovne ecx, eax
test esi, esi
cmovne ecx, esi
test ecx, ecx
je 0x10107530
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
mov eax, dword [ebp - 0x18]
je 0x1010741d
mov esi, dword [ebp - 0x30]
push dword [esi + 0x18]
call fcn.1013e010
add esp, 4
push dword [esi + 0xc]
call fcn.10100560
add esp, 4
test eax, eax
je 0x10107350
mov ebx, eax
push eax
call fcn.10100750
add esp, 4
mov esi, eax
test eax, eax
je 0x10107365
mov eax, dword [esi + 0x34]
cmp dword [eax + 0x20], 0
je 0x10107360
push ebx
call fcn.101007b0
add esp, 4
test eax, eax
je 0x1010736c
mov esi, eax
jmp 0x10107336
push dword [esi + 0x18]
call fcn.1013e0d0
add esp, 4
jmp 0x10107530
mov dword [ebp - 0x10], esi
jmp 0x10107375
mov dword [ebp - 0x10], esi
xor esi, esi
jmp 0x10107375
xor esi, esi
mov dword [ebp - 0x10], 0
push ebx
call fcn.101007f0
add esp, 4
push ebx
call fcn.10100710
add esp, 4
mov eax, dword [ebp - 0x30]
push dword [eax + 0x18]
call fcn.1013e0d0
add esp, 4
test esi, esi
je 0x10107530
push 0
mov ebx, dword [ebp - 0x18]
push ebx
call fcn.10107d40
add esp, 8
mov ecx, dword [esi + 0x34]
mov dword [ebp - 0x1c], eax
cmp dword [ecx + 0x14], 0
je 0x101073bf
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x14], eax
jmp 0x101073c6
mov dword [ebp - 0x14], 0
lea eax, [ebx + 0x28]
lea esi, [ebx + 0x38]
lea ecx, [ebx + 0x48]
lea edx, [ebx + 0x40]
lea edi, [ebx + 0x30]
mov dword [ebp - 0x20], eax
xor eax, eax
inc eax
push eax
push dword [ebp - 0x14]
push ecx
push edx
push esi
push edi
mov edi, dword [ebp - 0x1c]
push edi
push dword [ebp - 0x20]
push eax
push 0
push dword [ebp - 0x10]
call fcn.101020c0
add esp, 0x2c
mov esi, eax
push edi
call fcn.100ff3c0
add esp, 4
test esi, esi
je 0x1010752d
push esi
push ebx
call fcn.101078a0
add esp, 8
mov ecx, dword [ebp - 0x10]
xor edi, edi
mov eax, ebx
dec edi
lea ebx, [eax + 0x38]
lea esi, [eax + 0x30]
mov dword [ebp - 0x10], ecx
lea edx, [eax + 0x48]
push 1
mov eax, dword [ebp - 0x28]
push dword [eax + 0x38]
push dword [eax + 0x30]
push dword [eax + 0x34]
push dword [eax + 0x2c]
push dword [eax + 0x28]
mov dword [ebp - 0x1c], edx
push edx
push ebx
push esi
push 0
push ecx
call fcn.10102bf0
add esp, 0x2c
test eax, eax
je 0x10107462
push eax
call fcn.10103710
add esp, 4
xor edi, edi
jmp 0x10107530
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], ebx
push dword [eax + 0x34]
call sym.nss3.dll_PK11_IsInternalKeySlot
add esp, 4
test eax, eax
jne 0x10107530
call sym.nss3.dll_PK11_GetInternalKeySlot
mov ebx, eax
push 0
mov edi, dword [ebp - 0x18]
push edi
call fcn.10107d40
add esp, 8
mov dword [ebp - 0x2c], eax
mov esi, dword [edi + 0x50]
mov edi, dword [ebx + 0x13c]
lock dec dword [ebx + 0x48]
jne 0x101074ae
push ebx
call fcn.10135de0
add esp, 4
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + 0x40]
add ecx, 0x28
xor edx, edx
inc edx
push edx
push esi
push dword [ebp - 0x1c]
push eax
push dword [ebp - 0x14]
mov ebx, dword [ebp - 0x20]
push ebx
mov esi, dword [ebp - 0x2c]
push esi
push ecx
push edx
push 0
push edi
call fcn.101020c0
add esp, 0x2c
mov dword [ebp - 0x10], edi
mov edi, eax
push esi
call fcn.100ff3c0
add esp, 4
test edi, edi
je 0x1010752d
push edi
push dword [ebp - 0x18]
call fcn.101078a0
add esp, 8
push 1
mov eax, dword [ebp - 0x28]
push dword [eax + 0x38]
push dword [eax + 0x30]
push dword [eax + 0x34]
push dword [eax + 0x2c]
push dword [eax + 0x28]
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push ebx
push 0
push dword [ebp - 0x10]
call fcn.10102bf0
add esp, 0x2c
test eax, eax
mov edi, 0xffffffff
jne 0x10107452
jmp 0x10107530
xor edi, edi
dec edi
push dword [ebp - 0x28]
call fcn.101079e0
add esp, 4
mov eax, edi
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x1010707c