Function at 0x100bf5c0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x3c
mov edi, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x101f1014]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov ebx, dword [edi + 8]
mov dword [ebp - 0x24], eax
cmp dword [edi + 4], 1
jne 0x100bf688
mov dword [ebp - 0x38], edx
mov eax, dword [edi + 0x18]
test al, 1
mov dword [ebp - 0x28], edi
jne 0x100bf694
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x11]
mov byte [eax], 0
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 1
mov edi, dword [ebx + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100bf9ec
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov eax, dword [ebx]
mov esi, dword [ebx + 0x38]
mov ecx, dword [eax + 0x62]
call dword [section..00cfg]
lea eax, [ebp - 0x20]
push 1
push eax
push dword [ebp - 0x2c]
push esi
call ecx
add esp, 0x10
mov esi, eax
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x100bf8c8
push esi
call fcn.100aaef0
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, dword [ebp - 0x28]
jmp 0x100bf6a4
push 0
push 0xffffe028
jmp 0x100bf9ac
test al, 2
je 0x100bf6a4
push dword [edi + 0x14]
push ebx
call fcn.100a4690
add esp, 8
cmp dword [ebx + 0x30], 0
jne 0x100bf6d3
mov edi, dword [ebx + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100bfa09
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov edi, dword [ebp - 0x28]
mov eax, dword [ebx]
mov esi, dword [ebx + 0x40]
mov ecx, dword [eax + 0x32]
call dword [section..00cfg]
lea eax, [ebp - 0x20]
push eax
push sym.nss3.dll_SECMOD_CanDeleteInternalModule
push ebx
push 4
push esi
call ecx
add esp, 0x14
mov esi, eax
test eax, eax
je 0x100bf6ff
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0x20], eax
cmp dword [ebx + 0x30], 0
jne 0x100bf710
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], esi
test esi, esi
je 0x100bf75a
mov edi, dword [ebx + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100bf9cf
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov al, 1
mov dword [ebp - 0x3c], eax
xor eax, eax
inc eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x34], 0
mov edi, dword [ebp - 0x28]
jmp 0x100bf773
cmp dword [ebx + 0x30], 0
je 0x100bf71d
mov dword [ebp - 0x44], 0
mov al, 1
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], 0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x86]
mov esi, dword [edi + 0xc]
call dword [section..00cfg]
push esi
push dword [ebp + 0x18]
push dword [ebp - 0x2c]
call ecx
add esp, 0xc
test eax, eax
je 0x100bf818
mov esi, eax
cmp byte [ebp - 0x3c], 0
je 0x100bf7ab
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp dword [ebp - 0x30], 0
jne 0x100bf9a0
cmp dword [ebx + 0x30], 0
jne 0x100bf7eb
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x30], eax
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100bfa43
mov edi, dword [ebp - 0x30]
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x28]
mov dword [edi + 8], eax
mov eax, dword [ebx]
mov ecx, dword [eax + 0x36]
call dword [section..00cfg]
push dword [ebp - 0x2c]
call ecx
add esp, 4
cmp dword [ebx + 0x30], 0
jne 0x100bf9a0
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x100bf9a0
mov eax, dword [edi + 0x18]
test al, 1
jne 0x100bf8da
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x11]
mov byte [eax], 0
mov dword [ebp - 0x20], 0x202
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 1
cmp byte [ebp - 0x34], 0
mov dword [ebp - 0x40], ecx
je 0x100bf878
mov edi, dword [ecx + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100bfa26
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx]
mov esi, dword [ecx + 0x38]
mov ecx, dword [eax + 0x62]
call dword [section..00cfg]
push 1
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x48]
push esi
call ecx
add esp, 0x10
mov esi, eax
cmp byte [ebp - 0x34], 0
je 0x100bf8ab
mov eax, dword [ebp - 0x40]
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x100bf8de
push esi
call fcn.100aaef0
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
mov esi, dword [ebp - 0x38]
jmp 0x100bf8fd
cmp byte [ebp - 0x11], 0
mov edi, dword [ebp - 0x28]
jne 0x100bf698
jmp 0x100bf6a4
test al, 4
jmp 0x100bf8e2
cmp byte [ebp - 0x11], 0
mov esi, dword [ebp - 0x38]
je 0x100bf8fd
push 1
push dword [ebp - 0x44]
push dword [edi + 0x14]
push 0
push dword [ebp - 0x2c]
push ebx
call fcn.100a4990
add esp, 0x18
mov eax, dword [ebx]
mov ecx, dword [eax + 0x8a]
call dword [section..00cfg]
lea eax, [ebp - 0x24]
push eax
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x2c]
call ecx
add esp, 0x14
mov esi, eax
cmp byte [ebp - 0x3c], 0
je 0x100bf931
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov edi, dword [ebp + 8]
cmp dword [ebp - 0x30], 0
jne 0x100bf997
cmp dword [ebx + 0x30], 0
jne 0x100bf973
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x30], eax
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100bfa61
mov edi, dword [ebp - 0x30]
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x28]
mov dword [edi + 8], eax
mov edi, dword [ebp + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x36]
call dword [section..00cfg]
push dword [ebp - 0x2c]
call ecx
add esp, 4
cmp dword [ebx + 0x30], 0
jne 0x100bf997
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, dword [ebp - 0x24]
mov dword [edi], eax
test esi, esi
je 0x100bf9cb
push esi
call fcn.100aaef0
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
jmp 0x100bf9b7
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x100bf736
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x100bf630
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x100bf6c3
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x100bf865
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov dword [ebp - 0x28], eax
jmp 0x100bf7d8
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov dword [ebp - 0x28], eax
jmp 0x100bf95d