Function at 0x10166a60
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 0x10166b8c
mov ecx, dword [edi + 0xdc]
mov esi, dword [edi]
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 0x10166b27
cmp dword [0x101d4d40], 0
mov esi, eax
je 0x10166d97
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10166d6f
mov eax, dword [eax + 0x28]
mov edi, 0xffffd004
test eax, eax
cmovne edi, eax
cmp esi, 0xfffffffe
je 0x10166b0b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x104]
test ecx, ecx
je 0x10166afe
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 0x10166b27
cmp esi, 0xfffffffe
jne 0x10166c90
mov eax, dword [ebp + 8]
mov edi, 0xffffd076
cmp dword [eax + 0x60], 0
jne 0x10166d5b
mov dword [eax + 0x534], 1
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xc4]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x10166b40
push eax
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov esi, dword [edi + 0x78]
test esi, esi
je 0x10166b58
push esi
call fcn.10106d10
add esp, 4
test eax, eax
je 0x10166b58
lock inc dword [eax + 4]
mov eax, dword [edi + 0xc4]
mov dword [eax + 0x18], esi
movzx eax, word [edi + 0x58]
cmp dword [edi + 0x60], 0
movzx eax, ax
je 0x10166c28
cmp eax, 0x303
ja 0x10166c2f
mov dword [edi + 0x450], 4
jmp 0x10166c39
movzx eax, word [edi + 0x58]
cmp eax, 0x304
jb 0x10166bcd
push edi
call fcn.10191470
add esp, 4
test eax, eax
je 0x10166bcd
mov eax, dword [edi + 0x9e4]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x10], eax
call fcn.100f9910
test eax, eax
je 0x10166c40
mov esi, eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
mov dword [edi + 0x88], eax
jmp 0x10166be0
mov ecx, 0xd4
add ecx, dword [edi + 0x78]
call fcn.100f9910
mov esi, eax
test eax, eax
je 0x10166c40
push esi
push edi
call fcn.10166db0
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 0x10166c4f
movzx eax, word [edi + 0x58]
cmp eax, 0x303
ja 0x10166a7f
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 0x10166a7f
cmp eax, 0x304
jb 0x10166c78
mov dword [edi + 0x450], 0x85
xor eax, eax
jmp 0x10166d67
push 0
push 0xffffd043
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101d4d40], 0
je 0x10166da1
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10166d83
mov edi, dword [eax + 0x28]
jmp 0x10166d5b
mov eax, dword [edi + 0x48c]
cmp dword [eax + 0x10], 0
je 0x10166cc7
mov dword [edi + 0x450], 0xb
jmp 0x10166c39
mov eax, dword [ebp + 8]
cmp edi, 0xffffe01d
movzx eax, word [eax + 0x58]
jg 0x10166ced
lea ecx, [edi + 0x1ff5]
cmp ecx, 0xa
ja case.default.0x10166caa
jmp dword [ecx*4 + 0x101a82a0]
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx + 0x2e]
jmp 0x10166d4d
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 0x10166d67
lea ecx, [edi + 0x1fa6]
cmp ecx, 2
jae 0x10166cff
mov eax, 0x2e
jmp 0x10166d4d
cmp edi, 0xffffe01e
jne case.0x10166caa.8178
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2d]
jmp 0x10166d4d
mov eax, 0x2b
cmp edi, 0xffffe001
je 0x10166d4d
mov eax, 0x2a
jmp 0x10166d4d
mov eax, 0x2d
jmp 0x10166d4d
mov eax, 0x2c
jmp 0x10166d4d
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2e]
push eax
push 2
push dword [ebp + 8]
call fcn.1015f2c0
add esp, 0xc
push edi
call fcn.10176550
add esp, 4
xor eax, eax
dec eax
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10166ac8
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10166c70
call sym.nss3.dll_PR_Init
jmp 0x10166ab4
call sym.nss3.dll_PR_Init
jmp 0x10166c5c