Function at 0x1010abf0
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.10112950
add esp, 4
xor ebx, ebx
dec ebx
test eax, eax
je 0x1010ae6c
mov esi, eax
mov edx, dword [ebp + 0xc]
test edx, edx
sete al
cmp dword [ebp + 0x14], 0
setne cl
xor cl, al
je 0x1010ac40
mov eax, dword [ebp + 0x18]
cmp eax, 1
je 0x1010ac5a
cmp eax, 4
je 0x1010ac54
cmp eax, 2
jne 0x1010ad08
mov bx, 4
jmp 0x1010ac5e
push 0
push 0xffffe005
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x1010ae6c
mov bx, 0x70
jmp 0x1010ac5e
mov bx, 0x82
test edx, edx
je 0x1010aca2
xor edi, edi
dec edi
cmp dword [edx + 0xdc], 0
je 0x1010ad38
lea eax, [edx + 0xd8]
push eax
call sym.nss3.dll_SECOID_FindOIDTag
add esp, 4
cmp eax, 0x7b
jg 0x1010ad20
cmp eax, 0x10
je 0x1010ac98
cmp eax, 0x61
jne 0x1010ad38
mov edi, 0xffffff7d
jmp 0x1010ad38
add esi, 0x208
mov edi, esi
mov edi, dword [edi]
cmp edi, esi
je 0x1010ae6a
cmp word [edi + 8], bx
jne 0x1010acaa
mov eax, dword [edi + 0x10]
test eax, eax
je 0x1010acca
push eax
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov eax, dword [edi + 0x14]
test eax, eax
je 0x1010acde
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 0x1010acfd
push eax
call fcn.101169f0
add esp, 4
mov dword [edi + 0x18], 0
mov dword [edi + 0x18], ebx
mov dword [edi + 0xc], ebx
jmp 0x1010ae6c
xor esi, esi
mov edi, 0xffffe005
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
push esi
push edi
jmp 0x1010ac47
cmp eax, 0x7c
je 0x1010ad33
cmp eax, 0xc8
jne 0x1010ad38
mov edi, 0xffffff8f
jmp 0x1010ad38
mov edi, 0xfffffffb
movzx edx, bx
test edi, edx
je 0x1010ad4b
push 0
push 0xffffe005
jmp 0x1010ae3a
mov ecx, esi
call fcn.1010b060
mov ebx, eax
test eax, eax
je 0x1010adb3
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x1010ad68
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 0x1010ad83
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.1009bef0
add esp, 4
test eax, eax
je 0x1010ad99
lock inc dword [eax + 4]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x10], ebx
mov dword [ebx + 0x10], ecx
test edi, edi
je 0x1010adbc
mov ebx, ecx
push edi
call fcn.100866a0
add esp, 4
jmp 0x1010adcc
mov dword [ebp - 0x14], 0xffffe013
jmp 0x1010ae2c
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 0x1010ae29
mov edx, ebx
call fcn.1010aaa0
test eax, eax
mov ebx, dword [ebp - 0x10]
je 0x1010ae2c
mov edi, eax
mov ecx, ebx
mov edx, eax
call fcn.1010aea0
mov ebx, eax
push edi
call fcn.101169f0
add esp, 4
test ebx, ebx
je 0x1010ae47
cmp dword [0x101f4f80], 0
je 0x1010ae8e
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
mov ebx, dword [ebp - 0x10]
je 0x1010ae76
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x14], eax
jmp 0x1010ae2c
mov ebx, dword [ebp - 0x10]
push ebx
call fcn.1010a4a0
add esp, 4
push 0
push dword [ebp - 0x14]
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
jmp 0x1010ae6c
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 [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
jmp 0x1010ae21
call fcn.1001b2e0
jmp 0x1010ae0e