Function at 0x10093020
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x20
mov edi, edx
mov ebx, ecx
mov esi, dword [ebp + 8]
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [esp + 0x18], eax
test esi, esi
je 0x10093048
mov dword [esi], 0
push dword [0x101dd100]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov ecx, ebx
call fcn.10090fa0
test edi, edi
jne 0x10093079
test eax, eax
je 0x10093079
cmp dword [eax + 0x18], 0
je 0x10093081
mov ecx, dword [eax + 0x1c]
dec ecx
cmp ecx, 1
ja 0x10093081
jmp 0x100935f3
test eax, eax
je 0x100931ba
test edi, edi
mov esi, eax
je 0x10093172
lea ebx, [edi + 0x18]
lea eax, [esp + 0x10]
push ebx
push eax
call sym.nss3.dll_DER_GeneralizedTimeToTime_Util
mov ecx, esi
add esp, 8
cmp byte [esi + 0x28], 0
je 0x100930c0
test eax, eax
jne 0x1009351e
mov eax, dword [ecx + 0x30]
cmp eax, dword [esp + 0x10]
mov eax, dword [ecx + 0x34]
sbb eax, dword [esp + 0x14]
jge 0x1009351e
mov dword [esp], ebx
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x100930db
xor ebx, ebx
push ebx
push eax
call sym.nss3.dll_PORT_FreeArena_Util
mov ecx, esi
add esp, 8
mov dword [esi + 0x18], ebx
mov word [ecx + 0x28], 0
push 0x800
call sym.nss3.dll_PORT_NewArena_Util
mov ecx, esi
add esp, 4
mov dword [esi + 0x18], eax
test eax, eax
je 0x10093642
mov ebx, eax
mov eax, dword [edi + 0x14]
mov edx, ecx
mov ecx, dword [eax]
mov dword [edx + 0x1c], ecx
mov ecx, dword [eax]
cmp ecx, 2
je 0x10093119
cmp ecx, 1
je 0x10093464
test ecx, ecx
push dword [eax + 4]
push ebx
call sym.nss3.dll_SECITEM_ArenaDupItem_Util
add esp, 8
mov ecx, esi
mov dword [esi + 0x20], eax
test eax, eax
je 0x1009362f
mov dword [ecx + 0x24], 0
lea eax, [ecx + 0x30]
push dword [esp]
push eax
call sym.nss3.dll_DER_GeneralizedTimeToTime_Util
add esp, 8
test eax, eax
sete byte [esi + 0x28]
mov eax, dword [edi + 0x24]
test eax, eax
je 0x10093517
lea ecx, [esi + 0x38]
push eax
push ecx
call sym.nss3.dll_DER_GeneralizedTimeToTime_Util
mov ecx, esi
add esp, 8
test eax, eax
sete al
jmp 0x1009351b
cmp dword [0x101de200], 0
je 0x10093683
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10093668
mov eax, dword [eax + 0x28]
mov ebx, esi
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x10093520
xor esi, esi
push esi
push eax
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
mov dword [ebx + 0x18], esi
jmp 0x10093520
test esi, esi
je 0x100932a3
mov dword [esi], 1
push dword [0x101dd100]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov eax, dword [ebx + 0x84]
mov esi, eax
push eax
call sym.nss3.dll_PORT_ArenaMark_Util
add esp, 4
mov dword [esp], eax
push 0x40
push dword [ebx + 0x84]
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
test eax, eax
je 0x1009328f
xorps xmm0, xmm0
movups xmmword [eax], xmm0
movups xmmword [eax + 0x30], xmm0
movups xmmword [eax + 0x20], xmm0
movups xmmword [eax + 0x10], xmm0
mov dword [eax + 8], ebx
push eax
push ebx
push dword [0x101dd118]
mov ebx, eax
call sym.nss3.dll_PL_HashTableAdd
add esp, 0xc
test eax, eax
je 0x1009328f
inc dword [0x101dd11c]
push dword [0x101dd100]
call sym.nss3.dll_PR_EnterMonitor
mov ecx, ebx
add esp, 4
cmp dword [0x101dd124], 0
jne 0x10093252
mov dword [0x101dd124], ecx
mov eax, dword [0x101dd120]
mov dword [ecx + 4], eax
mov dword [ecx], 0
test eax, eax
je 0x10093266
mov dword [eax], ecx
mov dword [0x101dd120], ecx
push dword [0x101dd100]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
push dword [0x101dd100]
call sym.nss3.dll_PR_ExitMonitor
mov eax, ebx
add esp, 4
jmp 0x10093081
mov ecx, esi
mov edx, dword [esp]
push 0
call fcn.100e37d0
add esp, 4
jmp 0x100935e5
test ebx, ebx
je 0x100934e5
mov dword [esp], edi
push 0x800
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
mov edi, eax
mov eax, 0xffffe890
test edi, edi
je 0x100934ea
push 0x88
push edi
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
test eax, eax
je 0x1009344f
push 0x88
push 0
push eax
mov esi, eax
call sub.VCRUNTIME140.dll_memset
mov ecx, esi
add esp, 0xc
cmp dword [ebx + 4], 0
je 0x1009330f
push ebx
push ecx
push edi
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, esi
add esp, 0xc
test eax, eax
jne 0x1009344f
cmp dword [ebx + 0x10], 0
je 0x10093330
lea eax, [ebx + 0xc]
lea ecx, [esi + 0xc]
push eax
push ecx
push edi
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, esi
add esp, 0xc
test eax, eax
jne 0x1009344f
cmp dword [ebx + 0x1c], 0
je 0x10093351
lea eax, [ebx + 0x18]
lea ecx, [esi + 0x18]
push eax
push ecx
push edi
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, esi
add esp, 0xc
test eax, eax
jne 0x1009344f
cmp dword [ebx + 0x28], 0
je 0x10093372
lea eax, [ebx + 0x24]
lea ecx, [esi + 0x24]
push eax
push ecx
push edi
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, esi
add esp, 0xc
test eax, eax
jne 0x1009344f
cmp dword [ebx + 0x34], 0
je 0x10093393
lea eax, [ebx + 0x30]
lea ecx, [esi + 0x30]
push eax
push ecx
push edi
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, esi
add esp, 0xc
test eax, eax
jne 0x1009344f
cmp dword [ebx + 0x40], 0
je 0x100933b4
lea eax, [ebx + 0x3c]
lea ecx, [esi + 0x3c]
push eax
push ecx
push edi
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, esi
add esp, 0xc
test eax, eax
jne 0x1009344f
cmp dword [ebx + 0x4c], 0
je 0x100933d1
lea eax, [ebx + 0x48]
lea ecx, [esi + 0x48]
push eax
push ecx
push edi
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, esi
add esp, 0xc
test eax, eax
jne 0x1009344f
cmp dword [ebx + 0x58], 0
je 0x100933ee
lea eax, [ebx + 0x54]
lea ecx, [esi + 0x54]
push eax
push ecx
push edi
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, esi
add esp, 0xc
test eax, eax
jne 0x1009344f
cmp dword [ebx + 0x64], 0
je 0x1009340b
lea eax, [ebx + 0x60]
lea ecx, [esi + 0x60]
push eax
push ecx
push edi
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, esi
add esp, 0xc
test eax, eax
jne 0x1009344f
cmp dword [ebx + 0x70], 0
je 0x10093428
lea eax, [ebx + 0x6c]
lea ecx, [esi + 0x6c]
push eax
push ecx
push edi
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, esi
add esp, 0xc
test eax, eax
jne 0x1009344f
cmp dword [ebx + 0x7c], 0
je 0x10093658
add ebx, 0x78
mov eax, ecx
add eax, 0x78
push ebx
push eax
push edi
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, esi
add esp, 0xc
test eax, eax
je 0x10093658
push 0
push edi
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
mov eax, 0xffffe890
jmp 0x100934ea
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
push ebx
call sym.nss3.dll_PORT_ArenaMark_Util
add esp, 4
mov dword [esp + 0xc], eax
push 0x10
push ebx
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
test eax, eax
je 0x10093614
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [esp + 8], esi
mov dword [esi + 0x20], eax
push dword [esp + 4]
push eax
push ebx
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
jne 0x1009361d
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10093649
push eax
push ebx
call sym.nss3.dll_SECITEM_ArenaDupItem_Util
add esp, 8
mov ecx, dword [esi + 0x20]
mov dword [ecx + 0xc], eax
mov ecx, esi
mov eax, dword [esi + 0x20]
cmp dword [eax + 0xc], 0
jne 0x10093132
jmp 0x1009361d
mov eax, 0xffffe005
xor esi, esi
push esi
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
push dword [0x101dd100]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
push esi
push 0xffffe890
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10093601
mov ecx, esi
xor eax, eax
mov byte [ecx + 0x29], al
mov ebx, ecx
push dword [0x101dd100]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
call sym.nss3.dll_PR_Now
cmp byte [ebx + 0x28], 0
je 0x10093546
mov edi, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov esi, 0x101dd110
jmp 0x1009354f
mov esi, 0x101dd10c
mov edi, eax
mov ecx, edx
imul esi, dword [esi], 0xf4240
add esi, edi
adc ecx, 0
cmp byte [ebx + 0x29], 0
je 0x1009357f
mov edi, dword [ebx + 0x38]
mov dword [esp], edi
mov edi, dword [ebx + 0x3c]
mov dword [esp + 4], edi
cmp dword [esp], esi
mov edi, dword [esp + 4]
sbb edi, ecx
cmovl ecx, dword [esp + 4]
cmovl esi, dword [esp]
imul edi, dword [0x101dd10c], 0xf4240
add eax, edi
adc edx, 0
cmp esi, eax
mov edi, ecx
sbb edi, edx
cmovge eax, esi
cmovge edx, ecx
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x10], eax
push dword [0x101dd100]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
push dword [0x101dd100]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov eax, dword [0x101dd108]
test eax, eax
jle 0x100935e5
cmp dword [0x101dd11c], eax
jbe 0x100935e5
mov ecx, dword [0x101dd124]
call fcn.1008f9e0
mov eax, dword [0x101dd11c]
cmp eax, dword [0x101dd108]
ja 0x100935cd
push dword [0x101dd100]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
push dword [0x101dd100]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
mov ecx, dword [esp + 0x18]
xor ecx, ebp
call fcn.1014dc80
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, esi
mov dword [esi + 0x20], 0
mov ecx, ebx
mov edx, dword [esp + 0xc]
push 0
call fcn.100e37d0
mov ecx, esi
add esp, 4
xor edi, edi
push edi
push dword [ecx + 0x18]
call sym.nss3.dll_PORT_FreeArena_Util
mov ecx, esi
add esp, 8
mov dword [esi + 0x18], edi
call fcn.1008f9e0
jmp 0x100935f3
mov eax, dword [ecx + 0x20]
mov dword [eax + 0xc], 0
jmp 0x10093132
mov dword [ecx + 0x84], edi
mov ebx, ecx
mov edi, dword [esp]
jmp 0x100931c8
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10093193
call fcn.100745e0
jmp 0x1009317f