Function at 0x100ef5f0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov esi, dword [ebp + 8]
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor edi, edi
dec edi
test esi, esi
je 0x100ef969
mov ebx, dword [esi + 0x5c]
test ebx, ebx
je 0x100ef66e
lea ecx, [ebx + 0xd4]
call fcn.1008d0f0
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100ef678
lea eax, [esi + 0x14]
push eax
call sym.nss3.dll_SECOID_FindOID_Util
add esp, 4
xor ecx, ecx
mov esi, 0
test eax, eax
je case.0x100ef667.197
mov esi, dword [eax + 0xc]
cmp esi, 0xc1
jle 0x100ef682
cmp esi, 0x115
jg 0x100ef698
lea eax, [esi - 0xc2]
cmp eax, 7
ja case.0x100ef667.197
jmp dword [eax*4 + 0x101c3330]
mov ebx, 4
jmp 0x100ef957
mov ebx, 9
jmp 0x100ef957
cmp esi, 0x13
jg 0x100ef6b7
cmp esi, 0x11
je 0x100ef6d6
cmp esi, 0x13
jne case.0x100ef667.197
mov eax, 3
jmp 0x100ef6d9
cmp esi, 0x116
je case.0x100ef667.194
cmp esi, 0x117
je case.0x100ef667.195
cmp esi, 0x118
jne case.0x100ef667.197
mov eax, 0xc1
jmp 0x100ef6d9
cmp esi, 0x14
je case.0x100ef667.201
cmp esi, 0x7d
jne case.0x100ef667.197
mov eax, 4
jmp 0x100ef6d9
mov eax, 0xc0
jmp 0x100ef6d9
mov eax, 0xbf
jmp 0x100ef6d9
xor eax, eax
inc eax
cmp eax, esi
je case.0x100ef667.197
push eax
call sym.nss3.dll_SECOID_FindOIDByTag_Util
xor ecx, ecx
add esp, 4
mov esi, 0
test eax, eax
je case.0x100ef667.197
mov esi, dword [eax + 0xc]
cmp dword [ebx + 0xdc], 0
je 0x100ef70e
add ebx, 0xd8
push ebx
call sym.nss3.dll_SECOID_FindOIDTag
add esp, 4
mov ecx, eax
mov ebx, 6
mov eax, dword [ebp + 8]
cmp dword [eax + 0x34], 0
je 0x100ef949
add eax, 0x30
mov dword [ebp - 0x2c], eax
push eax
mov dword [ebp - 0x30], ecx
call sym.nss3.dll_SECOID_FindOIDTag
mov edx, dword [ebp - 0x30]
add esp, 4
test edx, edx
je 0x100ef949
test esi, esi
je 0x100ef949
mov ecx, eax
test eax, eax
je 0x100ef949
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x100ef877
cmp dword [eax], 0
je 0x100ef877
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp + 8]
add ecx, 0x2c
mov dword [ebp - 0x24], ecx
cmp dword [ebp + 0x10], 0
je 0x100ef7b1
push 1
push 0x21
push eax
call fcn.100eb2f0
add esp, 0xc
mov ebx, 8
test eax, eax
je 0x100ef949
push dword [ebp + 0x10]
push eax
call fcn.100eb2a0
add esp, 8
test eax, eax
je 0x100ef949
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ebx, dword [ebp + 0xc]
push 1
push 0x22
push eax
call fcn.100eb2f0
add esp, 0xc
test eax, eax
je 0x100ef944
mov ecx, ebx
mov ebx, 3
test ecx, ecx
je 0x100ef949
push ecx
push eax
call fcn.100eb2a0
add esp, 8
test eax, eax
je 0x100ef949
push 0x400
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
mov ebx, 9
test eax, eax
je 0x100ef949
xor edx, edx
lea ecx, [ebp - 0x1c]
mov dword [ecx + 4], edx
mov dword [ecx + 8], edx
push 0x101c3198
push dword [ebp - 0x24]
push ecx
mov dword [ebp - 0x24], eax
push eax
call sym.nss3.dll_SEC_ASN1EncodeItem_Util
add esp, 0x10
test eax, eax
je 0x100ef97d
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x100ef97d
mov edx, dword [ebp - 0x14]
test edx, edx
je 0x100ef97d
mov edi, dword [ebp + 8]
lea eax, [edi + 0x48]
mov edi, dword [edi + 0x58]
mov edi, dword [edi + 0x58]
mov ebx, dword [ebp - 0x30]
cmp dword [ebp - 0x34], ebx
jne 0x100ef98c
push edi
xor edi, edi
push edi
push edi
push esi
push ebx
push eax
push dword [ebp - 0x28]
call fcn.10090c90
add esp, 0x1c
test eax, eax
jne 0x100ef9df
jmp 0x100ef9ab
mov eax, dword [ebp + 8]
cmp dword [eax + 0x50], 0
je 0x100ef8a8
add eax, 0x48
cmp ecx, edx
jne 0x100ef8af
test ebx, ebx
je 0x100ef8d5
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x58]
mov ecx, ebx
mov ebx, edx
mov edx, dword [ebp - 0x28]
push dword [edi + 0x58]
push esi
push ebx
push eax
call fcn.10090a20
add esp, 0x10
jmp 0x100ef8cd
xor ebx, ebx
jmp 0x100ef949
test ebx, ebx
je 0x100ef8d5
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x58]
push dword [ecx + 0x58]
push esi
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x28]
push ebx
call fcn.10090be0
add esp, 0x18
test eax, eax
je 0x100ef9b8
cmp dword [0x101f2f50], 0
je 0x100efa0c
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100ef9f1
mov eax, dword [eax + 0x28]
xor edi, edi
dec edi
cmp eax, 0xffffe006
je 0x100ef92e
cmp eax, 0xffffe02e
je 0x100ef92e
mov esi, 2
cmp eax, 0xffffe00a
jne 0x100ef9bd
push 0
push 0xffffe02f
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100ef9bd
push 0
push 0xffffe02f
call sym.nss3.dll_PR_SetError
add esp, 8
mov esi, 7
jmp 0x100ef9bd
mov ebx, 8
push dword [ebp - 0x28]
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
mov esi, dword [ebp + 8]
mov dword [esi + 0x70], ebx
push 0
push 0xffffe02f
call sym.nss3.dll_PR_SetError
add esp, 8
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, edi
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
push dword [ebp - 0x24]
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
jmp 0x100ef949
lea ebx, [ebp - 0x20]
push edi
push ebx
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x28]
push edx
push ecx
call sym.nss3.dll_VFY_VerifyDataWithAlgorithmID
add esp, 0x1c
test eax, eax
jne 0x100ef9df
cmp dword [ebp - 0x20], esi
jne 0x100ef9d0
push 0
push dword [ebp - 0x24]
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
xor esi, esi
inc esi
xor edi, edi
push dword [ebp - 0x28]
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0x70], esi
jmp 0x100ef969
push 0
push 0xffffe00a
call sym.nss3.dll_PR_SetError
add esp, 8
push 0
push dword [ebp - 0x24]
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
jmp 0x100ef8d5
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x100ef8f6
call fcn.100029d0
jmp 0x100ef8e2