Function at 0x100e3c90
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov edi, ecx
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ecx + 0x28], 1
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x100e3d3c
mov ebx, edx
xor ecx, ecx
mov dword [edi + 0x24], ecx
mov dword [edi + 0x30], ecx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x38], ecx
add eax, 0xc
push ecx
push ecx
push eax
call fcn.1007a6c0
add esp, 0xc
test eax, eax
je 0x100e3d51
mov esi, eax
mov dword [ebp - 0x18], 0
cmp dword [edi + 0x2c], 0
je 0x100e3d86
test ebx, ebx
je 0x100e3d8f
mov ecx, edi
call fcn.100e21b0
test eax, eax
mov dword [ebp - 0x24], esi
jne 0x100e3db0
mov ecx, ebx
call fcn.100e21b0
mov esi, eax
xor eax, eax
test esi, esi
je 0x100e3dad
mov ecx, edi
mov edx, esi
call fcn.100e2350
test eax, eax
je 0x100e3dab
push 1
push esi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov esi, dword [ebp - 0x24]
xor eax, eax
jmp 0x100e3db0
xor eax, eax
inc eax
mov dword [edi + 0x24], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x38], 0xffffe052
jmp 0x100e4127
xor eax, eax
inc eax
mov dword [edi + 0x24], eax
mov dword [edi + 0x20], eax
cmp dword [0x101f2f50], 0
je 0x100e4009
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100e3fee
mov eax, dword [eax + 0x28]
mov dword [edi + 0x38], eax
jmp 0x100e4127
push 0
push 0xffffe005
jmp 0x100e3da1
mov dword [edi + 0x20], 1
mov eax, 0xffffe005
mov dword [edi + 0x38], eax
push 0
push eax
call sym.nss3.dll_PR_SetError
jmp 0x100e411b
mov eax, esi
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], ebx
push edi
call sym.nss3.dll_SECOID_FindOID_Util
add esp, 4
test eax, eax
je 0x100e3f27
cmp dword [eax + 0xc], 0xa4
jne 0x100e3f27
push dword [edi + 0xc]
call sym.nss3.dll_SECOID_FindOID_Util
add esp, 4
test eax, eax
je 0x100e3f27
cmp dword [eax + 0xc], 0xa8
jne 0x100e3f27
mov eax, dword [edi + 0xc]
add eax, 0xc
push eax
call sym.nss3.dll_SECITEM_DupItem_Util
add esp, 4
test eax, eax
je 0x100e3f27
mov ebx, eax
xor eax, eax
push eax
mov dword [ebp - 0x20], 0
push eax
push ebx
call fcn.1007a6c0
add esp, 0xc
test eax, eax
je 0x100e3ecd
mov dword [ebp - 0x30], eax
push 0x400
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
test eax, eax
je 0x100e3ea1
push 0x10
push eax
mov dword [ebp - 0x28], eax
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
test eax, eax
je 0x100e3eaa
mov esi, eax
xor eax, eax
mov dword [esi + 8], eax
mov dword [esi + 4], eax
mov dword [ebp - 0x20], 0
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [esi], eax
push esi
push 0x100e4160
push dword [edi + 0x40]
push dword [ebp - 0x30]
call fcn.100a64e0
add esp, 0x10
test eax, eax
jne 0x100e3eb1
cmp dword [esi + 0xc], 0
jne 0x100e3eb1
cmp dword [esi + 4], 0
mov eax, dword [ebp - 0x28]
je 0x100e3eb4
mov eax, dword [esi + 8]
push dword [eax]
call sym.nss3.dll_SECITEM_DupItem_Util
add esp, 4
mov dword [ebp - 0x20], eax
jmp 0x100e3eb1
mov dword [ebp - 0x20], 0
jmp 0x100e3ec2
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x28]
push 1
push eax
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
mov esi, dword [ebp - 0x24]
push dword [ebp - 0x30]
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
push 1
push ebx
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov eax, dword [ebp - 0x1c]
test eax, eax
mov ebx, dword [ebp - 0x20]
je 0x100e3f06
test ebx, ebx
je 0x100e3f06
push ebx
push eax
call sym.nss3.dll_SECITEM_CompareItem_Util
add esp, 8
test eax, eax
jne 0x100e3f0a
push 1
push dword [ebp - 0x1c]
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
jmp 0x100e4111
test ebx, ebx
je 0x100e3f27
mov ecx, edi
mov edx, ebx
call fcn.100e2350
mov edx, ebx
mov bl, 1
test eax, eax
je 0x100e3fc7
mov eax, dword [ebp - 0x1c]
jmp 0x100e40fe
mov edx, dword [ebp - 0x1c]
test edx, edx
je 0x100e3f7a
cmp dword [edx + 4], 0
je 0x100e3f7a
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x14], 0
test eax, eax
je 0x100e3f68
lea esi, [ebp - 0x14]
push esi
push 0x100e4310
push eax
push edx
call fcn.100a6760
mov edx, dword [ebp - 0x1c]
add esp, 0x10
cmp dword [esi], 0
mov esi, dword [ebp - 0x24]
jne 0x100e3f7a
push 1
push edx
jmp 0x100e4116
push 0
push 0xffffe005
call sym.nss3.dll_PR_SetError
mov edx, dword [ebp - 0x1c]
add esp, 8
mov ecx, dword [ebp + 8]
mov ebx, esi
mov esi, edx
call dword [section..00cfg]
lea eax, [ebp - 0x18]
push ebx
push eax
push esi
call dword [ebp + 8]
add esp, 0xc
mov ebx, eax
lea eax, [ebp - 0x18]
cmp dword [eax], 0
je 0x100e3fb0
mov dword [edi + 0x20], 1
xor ebx, ebx
mov eax, 0xffffe057
jmp 0x100e40ef
test ebx, ebx
je 0x100e3fbf
mov esi, ebx
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x100e4013
jmp 0x100e4020
mov esi, dword [ebp - 0x1c]
jmp 0x100e40ca
mov ecx, dword [ebp - 0x2c]
call fcn.100e2350
test eax, eax
je 0x100e3f1f
mov dword [edi + 0x20], 1
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x38]
mov bl, 1
mov esi, dword [ebp - 0x1c]
jmp 0x100e40f6
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x100e3d7b
call fcn.100029d0
jmp 0x100e3d67
push 1
push eax
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov esi, ebx
cmp dword [esi + 4], 0
mov ebx, dword [ebp + 8]
je 0x100e409f
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x14], 0
test eax, eax
je 0x100e4090
lea ebx, [ebp - 0x14]
push ebx
push 0x100e4310
push eax
push esi
call fcn.100a6760
add esp, 0x10
cmp dword [ebx], 0
mov ebx, dword [ebp + 8]
jne 0x100e409f
mov ecx, edi
mov edx, esi
call fcn.100e2350
test eax, eax
jne 0x100e407d
mov ecx, dword [ebp - 0x2c]
mov edx, esi
call fcn.100e2350
test eax, eax
je 0x100e407d
mov dword [edi + 0x20], 1
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x38]
mov dword [edi + 0x38], eax
push 1
push esi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov esi, dword [ebp - 0x24]
jmp 0x100e411e
push 0
push 0xffffe005
call sym.nss3.dll_PR_SetError
add esp, 8
mov ecx, ebx
call dword [section..00cfg]
push dword [ebp - 0x24]
lea eax, [ebp - 0x18]
push eax
push esi
call ebx
add esp, 0xc
cmp dword [ebp - 0x18], 0
jne 0x100e3f9d
mov ebx, eax
mov eax, esi
test ebx, ebx
jne 0x100e4013
mov dword [edi + 0x20], 1
cmp dword [0x101f2f50], 0
je 0x100e4151
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100e4139
mov eax, dword [eax + 0x28]
xor ebx, ebx
mov dword [ebp - 0x20], 0
mov dword [edi + 0x38], eax
mov eax, esi
mov esi, dword [ebp - 0x24]
test eax, eax
je 0x100e410d
push 1
push eax
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
test bl, bl
je 0x100e411e
push 1
push dword [ebp - 0x20]
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
push esi
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
add esp, 0x24
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 0x100e40ea
call fcn.100029d0
jmp 0x100e40da