Function at 0x100fab90
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x60]
mov dword [edi + 0x540], 0
test ebx, ebx
je 0x100facbc
mov esi, dword [edi]
mov ecx, dword [edi + 0xdc]
mov edi, dword [edi + 0xe0]
call dword [section..00cfg]
push ebx
push 1
push esi
push edi
call ecx
add esp, 0x10
test eax, eax
je 0x100fac57
mov esi, eax
cmp dword [0x101f2f50], 0
je 0x100faedb
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100faea5
mov eax, dword [eax + 0x28]
test eax, eax
mov edi, 0xffffd004
cmovne edi, eax
cmp esi, 0xfffffffe
je 0x100fac3b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x104]
test ecx, ecx
je 0x100fac2e
mov esi, dword [eax]
mov ebx, dword [eax + 0x108]
call dword [section..00cfg]
push esi
push ebx
call ecx
add esp, 8
mov esi, eax
test esi, esi
je 0x100fac57
cmp esi, 0xfffffffe
jne 0x100fadc0
mov edi, 0xffffd076
mov eax, dword [ebp + 8]
cmp dword [eax + 0x60], 0
jne 0x100fae91
mov dword [eax + 0x540], 1
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xc4]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x100fac70
push eax
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov esi, dword [edi + 0x78]
test esi, esi
je 0x100fac88
push esi
call fcn.1009a930
add esp, 4
test eax, eax
je 0x100fac88
lock inc dword [eax + 4]
mov eax, dword [edi + 0xc4]
mov dword [eax + 0x18], esi
cmp dword [edi + 0x60], 0
movzx eax, word [edi + 0x58]
movzx eax, ax
je 0x100fad58
cmp eax, 0x303
ja 0x100fad5f
mov dword [edi + 0x450], 4
jmp 0x100fad69
movzx eax, word [edi + 0x58]
cmp eax, 0x304
jb 0x100facfd
push edi
call fcn.101275a0
add esp, 4
test eax, eax
je 0x100facfd
mov eax, dword [edi + 0xa10]
mov dword [ebp - 0x10], eax
mov ecx, dword [eax + 0x14]
call fcn.1008d0f0
test eax, eax
je 0x100fad70
mov esi, eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
mov dword [edi + 0x88], eax
jmp 0x100fad10
mov ecx, 0xd4
add ecx, dword [edi + 0x78]
call fcn.1008d0f0
mov esi, eax
test eax, eax
je 0x100fad70
push esi
push edi
call fcn.100faef0
add esp, 8
mov dword [ebp - 0x10], eax
push esi
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
cmp dword [ebp - 0x10], 0
jne 0x100fad7f
movzx eax, word [edi + 0x58]
cmp eax, 0x303
ja 0x100fabaf
mov eax, dword [edi + 0x48c]
mov ecx, dword [eax + 0xc]
mov dword [edi + 0x80], ecx
mov eax, dword [eax + 4]
mov dword [edi + 0x8c], eax
jmp 0x100fabaf
cmp eax, 0x304
jb 0x100fada8
mov dword [edi + 0x450], 0x85
xor eax, eax
jmp 0x100fae9d
push 0
push 0xffffd043
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101f2f50], 0
je 0x100faee5
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100faec0
mov edi, dword [eax + 0x28]
jmp 0x100fae91
mov eax, dword [edi + 0x48c]
cmp dword [eax + 0x10], 0
je 0x100fadf9
mov dword [edi + 0x450], 0xb
jmp 0x100fad69
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x58]
cmp edi, 0xffffe01d
jg 0x100fae1f
lea ecx, [edi + 0x1ff5]
cmp ecx, 0xa
ja case.default.0x100fadda
jmp dword [ecx*4 + 0x101c3ffc]
movzx eax, ax
xor ecx, ecx
cmp eax, 0x301
setae cl
lea eax, [ecx + ecx]
add eax, 0x2e
jmp 0x100fae83
mov dword [edi + 0x450], 0xc
mov eax, dword [edi + 0x84]
mov dword [edi + 0x90], eax
xor eax, eax
mov dword [edi + 0x88], eax
mov dword [edi + 0x94], eax
jmp 0x100fae9d
lea ecx, [edi + 0x1fa6]
cmp ecx, 2
jae 0x100fae31
mov eax, 0x2e
jmp 0x100fae83
cmp edi, 0xffffe01e
jne case.0x100fadda.8178
movzx eax, ax
xor ecx, ecx
cmp eax, 0x301
setae cl
lea eax, [ecx + ecx*2]
add eax, 0x2d
jmp 0x100fae83
mov eax, 0x2b
cmp edi, 0xffffe001
je 0x100fae83
mov eax, 0x2a
jmp 0x100fae83
mov eax, 0x2d
jmp 0x100fae83
mov eax, 0x2c
jmp 0x100fae83
movzx eax, ax
xor ecx, ecx
cmp eax, 0x301
setae cl
lea eax, [ecx + ecx*2]
add eax, 0x2e
push eax
push 2
push dword [ebp + 8]
call fcn.100f2eb0
add esp, 0xc
push edi
call fcn.1010aec0
add esp, 4
xor eax, eax
dec eax
add esp, 4
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 0x100fabf8
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x100fada0
call fcn.100029d0
jmp 0x100fabe4
call fcn.100029d0
jmp 0x100fad8c