Function at 0x1010f5c0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov esi, dword [ebp + 8]
push esi
call sym.nss3.dll_PK11_NeedUserInit
add esp, 4
test eax, eax
je 0x1010f5e5
push 0
push 0xffffe000
jmp 0x1010f7ff
push 0
push esi
call sym.nss3.dll_PK11_IsLoggedIn
add esp, 8
mov ecx, dword [0x101d5814]
test ecx, ecx
je 0x1010f7f8
cmp dword [ebp + 0x1c], 1
mov edi, dword [ebp + 0x14]
mov eax, 2
sbb eax, 0
mov dword [ebp - 0x2c], eax
call dword [section..00cfg]
push edi
push 0
push esi
call ecx
add esp, 0xc
test eax, eax
je 0x1010f7f8
mov dword [ebp - 0x10], eax
cmp dword [esi + 0x12c], 0
mov esi, dword [ebp - 0x10]
je 0x1010f662
push str.RETRY
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x1010f7c0
push 0x101b7a2e
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x1010f855
call sym.nss3.dll_PR_Now
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
cmp dword [ecx + 0x12c], 0
jne 0x1010f699
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ecx, dword [ebp + 8]
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], esi
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x18]
xor ebx, ebx
test esi, esi
jne 0x1010f6db
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0x28], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
mov dword [ebp - 0x14], eax
je 0x1010f76d
mov esi, dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov dword [esi + 8], eax
mov esi, dword [ebp + 0x18]
mov eax, dword [ecx]
mov ecx, dword [eax + 0x4a]
call dword [section..00cfg]
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
push dword [ebp - 0x2c]
push edi
call ecx
mov ecx, dword [ebp + 8]
add esp, 0x10
test esi, esi
mov dword [ecx + 0x134], 0
mov dword [ebp - 0x14], eax
jne 0x1010f71a
push dword [ecx + 0x3c]
call sym.nss3.dll_PR_Unlock
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
add esp, 4
cmp eax, 0xb2
jg 0x1010f72a
cmp eax, 0xb0
je 0x1010f735
jmp 0x1010f79c
cmp eax, 0xb3
jne 0x1010f814
cmp edi, dword [ecx + 0x38]
setne al
or al, bl
test al, 1
jne 0x1010f81b
push 0
push ecx
mov esi, ecx
call fcn.10137be0
add esp, 8
test eax, eax
jne 0x1010f784
mov edi, dword [esi + 0x38]
mov ecx, esi
mov esi, dword [ebp + 0x18]
mov bl, 1
test edi, edi
jne 0x1010f6a1
jmp 0x1010f81b
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov dword [ebp - 0x14], eax
jmp 0x1010f6c2
mov ebx, eax
push dword [ebp - 0x10]
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp + 0x14]
cmp ebx, 0xfffffffe
je 0x1010f7ca
jmp 0x1010f80a
test eax, eax
je 0x1010f83f
cmp eax, 0xa0
jne 0x1010f81b
push 0
push 0xffffe00f
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp - 0x10]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [0x101d5814]
mov ebx, 0xfffffffe
test ecx, ecx
je 0x1010f80a
call dword [section..00cfg]
push edi
push 1
mov esi, dword [ebp + 8]
push esi
call ecx
add esp, 0xc
test eax, eax
mov dword [ebp - 0x10], eax
jne 0x1010f62a
jmp 0x1010f80a
push 0
push 0xffffe00f
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
mov eax, ebx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
cmp eax, 0x100
je 0x1010f846
push dword [ebp - 0x14]
call fcn.10115520
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
push dword [ebp - 0x10]
call dword [sym.imp.mozglue.dll_free]
add esp, 4
jmp 0x1010f807
mov dword [ecx + 0x68], 1
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x70], eax
mov dword [ecx + 0x74], edx
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
xor ebx, ebx
cmp dword [ebp + 0x1c], 0
jne 0x1010f80a
mov esi, dword [ebp + 8]
push esi
call sym.nss3.dll_PK11_IsFriendly
add esp, 4
test eax, eax
jne 0x1010f80a
mov eax, dword [esi + 0x13c]
push eax
push dword [eax + 0x28]
call fcn.1010a4a0
add esp, 8
jmp 0x1010f80a