Function at 0x10102180
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 + 0x534], 0
test ebx, ebx
je 0x101022ac
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 0x10102247
mov esi, eax
cmp dword [0x101de200], 0
je 0x101024cb
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10102495
mov eax, dword [eax + 0x28]
test eax, eax
mov edi, 0xffffd004
cmovne edi, eax
cmp esi, 0xfffffffe
je 0x1010222b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x104]
test ecx, ecx
je 0x1010221e
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 0x10102247
cmp esi, 0xfffffffe
jne 0x101023b0
mov edi, 0xffffd076
mov eax, dword [ebp + 8]
cmp dword [eax + 0x60], 0
jne 0x10102481
mov dword [eax + 0x534], 1
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xc4]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x10102260
push eax
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov esi, dword [edi + 0x78]
test esi, esi
je 0x10102278
push esi
call fcn.100a2170
add esp, 4
test eax, eax
je 0x10102278
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 0x10102348
cmp eax, 0x303
ja 0x1010234f
mov dword [edi + 0x450], 4
jmp 0x10102359
movzx eax, word [edi + 0x58]
cmp eax, 0x304
jb 0x101022ed
push edi
call fcn.1012d530
add esp, 4
test eax, eax
je 0x101022ed
mov eax, dword [edi + 0x9e4]
mov dword [ebp - 0x10], eax
mov ecx, dword [eax + 0x14]
call fcn.10094ac0
test eax, eax
je 0x10102360
mov esi, eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
mov dword [edi + 0x88], eax
jmp 0x10102300
mov ecx, 0xd4
add ecx, dword [edi + 0x78]
call fcn.10094ac0
mov esi, eax
test eax, eax
je 0x10102360
push esi
push edi
call fcn.101024e0
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 0x1010236f
movzx eax, word [edi + 0x58]
cmp eax, 0x303
ja 0x1010219f
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 0x1010219f
cmp eax, 0x304
jb 0x10102398
mov dword [edi + 0x450], 0x85
xor eax, eax
jmp 0x1010248d
push 0
push 0xffffd043
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101de200], 0
je 0x101024d5
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x101024b0
mov edi, dword [eax + 0x28]
jmp 0x10102481
mov eax, dword [edi + 0x48c]
cmp dword [eax + 0x10], 0
je 0x101023e9
mov dword [edi + 0x450], 0xb
jmp 0x10102359
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x58]
cmp edi, 0xffffe01d
jg 0x1010240f
lea ecx, [edi + 0x1ff5]
cmp ecx, 0xa
ja case.default.0x101023ca
jmp dword [ecx*4 + 0x101b0b00]
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx]
add eax, 0x2e
jmp 0x10102473
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 0x1010248d
lea ecx, [edi + 0x1fa6]
cmp ecx, 2
jae 0x10102421
mov eax, 0x2e
jmp 0x10102473
cmp edi, 0xffffe01e
jne case.0x101023ca.8178
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2]
add eax, 0x2d
jmp 0x10102473
mov eax, 0x2b
cmp edi, 0xffffe001
je 0x10102473
mov eax, 0x2a
jmp 0x10102473
mov eax, 0x2d
jmp 0x10102473
mov eax, 0x2c
jmp 0x10102473
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2]
add eax, 0x2e
push eax
push 2
push dword [ebp + 8]
call fcn.100fa900
add esp, 0xc
push edi
call fcn.10111ec0
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 [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x101021e8
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10102390
call fcn.100745e0
jmp 0x101021d4
call fcn.100745e0
jmp 0x1010237c