Function at 0x10075d70
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov ebx, dword [ebp + 8]
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x10075f3b
lea eax, [ebx + 0x20]
mov dword [ebp - 0x20], eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 0xc], esi
mov eax, dword [ebx + 0x88]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x194]
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebx + 0x194], eax
mov dword [ebx + 0x88], eax
mov edx, dword [ebx + 0x198]
test edx, edx
jne 0x10075fb5
lea esi, [ebx + 0x8c]
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov ecx, eax
test eax, eax
je 0x10075f52
mov dword [ebp - 0x14], esi
mov eax, dword [esi]
cmp dword [eax + 8], ecx
jne 0x10075e2d
lea edi, [ebx + 0x100]
mov ecx, dword [eax + 0x34]
add eax, 0x34
xor esi, esi
test ecx, ecx
jg 0x10075f11
lea edx, [esi + esi*2]
mov dword [eax + edx*4 + 8], 1
mov dword [eax + edx*4 + 4], edi
inc ecx
mov dword [eax], ecx
lea esi, [ebx + 0x110]
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov edi, eax
test eax, eax
je 0x10075f69
mov ebx, dword [esi]
cmp dword [ebx + 8], edi
jne 0x10075eb1
mov ecx, esi
mov esi, 0x1002
mov eax, dword [edi + 0xe0]
and eax, esi
cmp eax, 2
je 0x10075f95
mov eax, dword [ebp + 0xc]
mov dword [edi + 0xd8], ecx
xor ecx, ecx
mov dword [ebx + 8], ecx
lea ecx, [ebx + 0x1c]
mov edx, dword [ebp + 8]
add edx, 0x184
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym.nss3.dll__PR_MD_WAIT_CV
xor eax, eax
mov dword [edi + 0xd8], eax
mov dword [ebx + 8], edi
and esi, dword [edi + 0xe0]
cmp esi, 2
je 0x10075f95
mov esi, dword [ebp + 8]
cmp dword [esi + 0x194], 0
jne 0x10075fcf
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x194], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x88], eax
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x10075f80
cmp dword [esi + 0xc], eax
jne 0x10075ffc
mov dword [esi + 0xc], 0
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym.nss3.dll__PR_MD_UNLOCK
xor eax, eax
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x10], eax
add eax, 8
mov edx, ecx
cmp dword [eax - 4], edi
je 0x10076004
add eax, 0xc
dec edx
jne 0x10075f19
cmp ecx, 6
jge 0x10076014
mov eax, dword [ebp - 0x10]
mov esi, ecx
jmp 0x10075e1b
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov esi, eax
jmp 0x10075d97
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov ecx, eax
jmp 0x10075dfb
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov edi, eax
jmp 0x10075e4e
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
jmp 0x10075eec
mov dword [esp + 4], 0
mov dword [esp], 0xffffe897
call sym.nss3.dll_PR_SetError
and byte [edi + 0xe0], 0xfd
jmp 0x10075eb1
lea ecx, [ebx + 0x110]
call fcn.101ae790
mov dword [ebx + 0x198], 0
jmp 0x10075dda
call fcn.10156040
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
cmp dword [ecx + 8], eax
jne 0x10075eb1
mov dword [esp], ecx
mov dword [esp + 4], 0xffffffff
mov ecx, eax
mov edx, dword [ebp - 0x14]
call fcn.101ad260
jmp 0x10075eb1
xor eax, eax
dec eax
jmp 0x10075f09
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jne 0x10075e2a
jmp 0x10075e2d
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x4c]
test eax, eax
jne 0x10076039
mov dword [esp + 4], 0x50
mov dword [esp], 1
call dword [sym.imp.mozglue.dll_calloc]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x4c], eax
mov ecx, dword [eax]
jmp 0x10075e13