Function at 0x10109630
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
push dword [ebp + 8]
call fcn.10111390
add esp, 4
xor ebx, ebx
dec ebx
test eax, eax
je 0x101098ac
mov esi, eax
mov edx, dword [ebp + 0xc]
test edx, edx
sete al
cmp dword [ebp + 0x14], 0
setne cl
xor cl, al
je 0x10109680
mov eax, dword [ebp + 0x18]
cmp eax, 1
je 0x1010969a
cmp eax, 4
je 0x10109694
cmp eax, 2
jne 0x10109748
mov bx, 4
jmp 0x1010969e
push 0
push 0xffffe005
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x101098ac
mov bx, 0x70
jmp 0x1010969e
mov bx, 0x82
test edx, edx
je 0x101096e2
xor edi, edi
dec edi
cmp dword [edx + 0xdc], 0
je 0x10109778
lea eax, [edx + 0xd8]
push eax
call sym.nss3.dll_SECOID_FindOIDTag
add esp, 4
cmp eax, 0x7b
jg 0x10109760
cmp eax, 0x10
je 0x101096d8
cmp eax, 0x61
jne 0x10109778
mov edi, 0xffffff7d
jmp 0x10109778
add esi, 0x208
mov edi, esi
mov edi, dword [edi]
cmp edi, esi
je 0x101098aa
cmp word [edi + 8], bx
jne 0x101096ea
mov eax, dword [edi + 0x10]
test eax, eax
je 0x1010970a
push eax
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov eax, dword [edi + 0x14]
test eax, eax
je 0x1010971e
push 0
push dword [eax + 8]
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
xor ebx, ebx
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
mov eax, dword [edi + 0x18]
test eax, eax
je 0x1010973d
push eax
call fcn.10115430
add esp, 4
mov dword [edi + 0x18], 0
mov dword [edi + 0x18], ebx
mov dword [edi + 0xc], ebx
jmp 0x101098ac
xor esi, esi
mov edi, 0xffffe005
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
push esi
push edi
jmp 0x10109687
cmp eax, 0x7c
je 0x10109773
cmp eax, 0xc8
jne 0x10109778
mov edi, 0xffffff8f
jmp 0x10109778
mov edi, 0xfffffffb
movzx edx, bx
test edi, edx
je 0x1010978b
push 0
push 0xffffe005
jmp 0x1010987a
mov ecx, esi
call fcn.10109aa0
mov ebx, eax
test eax, eax
je 0x101097f3
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x101097a8
push eax
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov dword [ebp - 0x14], 0xffffe013
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x101097c3
push 0
push dword [eax + 8]
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
mov edi, dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.1009a930
add esp, 4
test eax, eax
je 0x101097d9
lock inc dword [eax + 4]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x10], ebx
mov dword [ebx + 0x10], ecx
test edi, edi
je 0x101097fc
mov ebx, ecx
push edi
call fcn.10085100
add esp, 4
jmp 0x1010980c
mov dword [ebp - 0x14], 0xffffe013
jmp 0x1010986c
xor eax, eax
inc eax
push eax
push eax
mov ebx, ecx
push ecx
call sym.nss3.dll_CERT_CertChainFromCert
add esp, 0xc
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x14], eax
test eax, eax
je 0x10109869
mov edx, ebx
call fcn.101094e0
test eax, eax
mov ebx, dword [ebp - 0x10]
je 0x1010986c
mov edi, eax
mov ecx, ebx
mov edx, eax
call fcn.101098e0
mov ebx, eax
push edi
call fcn.10115430
add esp, 4
test ebx, ebx
je 0x10109887
cmp dword [0x101f2f50], 0
je 0x101098ce
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
mov ebx, dword [ebp - 0x10]
je 0x101098b6
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x14], eax
jmp 0x1010986c
mov ebx, dword [ebp - 0x10]
push ebx
call fcn.10108ee0
add esp, 4
push 0
push dword [ebp - 0x14]
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
jmp 0x101098ac
mov eax, esi
add eax, 0x208
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [esi + 0x20c]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x20c]
mov dword [eax], ecx
mov dword [esi + 0x20c], ecx
xor ebx, ebx
mov eax, ebx
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x10109861
call fcn.100029d0
jmp 0x1010984e