Function at 0x101051a0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c8
mov ecx, dword [ebp + 8]
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b4], eax
mov eax, dword [ecx + 0x3b4]
movzx esi, word [eax + 0x10]
lea ebx, [ebp + 0x10]
lea edx, [ebp + 0xc]
lea eax, [ebp - 0x19f]
push ebx
push edx
push 3
push eax
push ecx
call fcn.100f6ec0
add esp, 0x14
mov edi, 0xffffd01f
test eax, eax
jne 0x10105337
mov word [ebp - 0x1c0], si
mov ecx, 0x28
mov esi, 0xffffe08d
cmp byte [ebp - 0x19f], 3
jne 0x10105327
movzx eax, word [ebp - 0x19e]
rol ax, 8
movzx eax, ax
push eax
call fcn.10114b20
add esp, 4
test eax, eax
je 0x10105322
cmp dword [eax + 8], 4
jne 0x10105322
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x1bc]
push ebx
lea ecx, [ebp + 0xc]
push ecx
push 1
push eax
push dword [ebp + 8]
call fcn.100f6ff0
add esp, 0x14
test eax, eax
jne 0x10105337
cmp dword [ebp - 0x1b4], 0
mov ecx, 0x28
je 0x1010535c
mov eax, dword [ebp - 0x1cc]
cmp dword [eax], 0x1d
je 0x101052ab
mov eax, dword [ebp - 0x1b8]
mov esi, 0xffffe08e
cmp byte [eax], 4
jne 0x10105327
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x3b4]
movzx eax, word [eax + 0x10]
cmp eax, 0x303
jne 0x10105368
lea eax, [ebp - 0x1b0]
push eax
push ebx
lea eax, [ebp + 0xc]
push eax
push esi
call fcn.100f7660
add esp, 0x10
test eax, eax
jne 0x101052fc
mov eax, 0xd4
add eax, dword [esi + 0x78]
push eax
push dword [ebp - 0x1b0]
push esi
call fcn.100f7460
add esp, 0xc
test eax, eax
je 0x1010541f
cmp dword [0x101f4f80], 0
je 0x1010560d
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x101055da
mov esi, dword [eax + 0x28]
jmp 0x10105361
mov ecx, 0x28
push ecx
push 2
push dword [ebp + 8]
call fcn.100f4470
add esp, 0xc
mov edi, esi
push 0
push edi
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, 0x1c8
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, 0xffffd01f
mov ecx, 0x2f
jmp 0x10105327
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1c8], 0
lea ecx, [ebp - 0x1ac]
push ebx
lea eax, [ebp + 0xc]
push eax
push 2
push ecx
push esi
call fcn.100f6ff0
add esp, 0x14
test eax, eax
jne 0x10105337
cmp dword [ebp + 0x10], 0
je 0x101053be
movzx eax, word [ebp - 0x1c0]
xor ecx, ecx
cmp eax, 0x301
setae cl
lea ecx, [ecx + ecx*2]
add ecx, 0x2f
mov esi, 0xffffd01f
jmp 0x10105327
movzx eax, word [ebp - 0x1c0]
cmp eax, 0x301
mov eax, 0x33
mov ecx, 0x28
cmovae ecx, eax
mov dword [ebp - 0x1c0], ecx
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1d0], eax
mov ebx, dword [ebp - 0x1b4]
lea eax, [ebx + 0x44]
lea edi, [ebp - 0x153]
cmp eax, 0x144
mov dword [ebp - 0x1d4], eax
jae 0x10105438
lea eax, [ebp - 0x10f]
mov dword [ebp - 0x1c4], eax
lea ecx, [ebp - 0x113]
lea edx, [ebp - 0x133]
jmp 0x1010545c
push dword [ebp - 0x1b0]
call fcn.100f70c0
add esp, 4
mov dword [ebp - 0x1c8], eax
jmp 0x1010537c
push eax
call sym.nss3.dll_PORT_Alloc_Util
add esp, 4
test eax, eax
je 0x10105502
mov edi, eax
add eax, 0x44
mov dword [ebp - 0x1c4], eax
lea ecx, [edi + 0x40]
mov edx, edi
add edx, 0x20
lea eax, [esi + 0x410]
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
lea eax, [esi + 0x3f0]
movups xmmword [edi + 0x10], xmm1
movups xmmword [edi], xmm0
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movups xmmword [edx + 0x10], xmm1
movups xmmword [edx], xmm0
mov al, byte [ebp - 0x19d]
mov byte [ecx + 2], al
movzx eax, word [ebp - 0x19f]
mov word [ecx], ax
mov byte [edi + 0x43], bl
push ebx
push dword [ebp - 0x1d0]
push dword [ebp - 0x1c4]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ebx, [ebp - 0x19c]
push ebx
push dword [ebp - 0x1d4]
push edi
push dword [ebp - 0x1c8]
call fcn.100f4d50
add esp, 0x10
mov esi, eax
lea eax, [ebp - 0x153]
cmp edi, eax
je 0x101054e1
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
test esi, esi
lea eax, [ebp - 0x1ac]
jne 0x10105502
push eax
push ebx
push dword [ebp - 0x1b0]
push dword [ebp + 8]
call fcn.100f4cf0
add esp, 0x10
test eax, eax
je 0x1010551c
push 0xffffd044
call fcn.1010c480
add esp, 4
mov esi, eax
mov ecx, dword [ebp - 0x1c0]
jmp 0x10105327
push 0x800
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
test eax, eax
je 0x101055a8
mov esi, eax
push 0xac
push eax
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
test eax, eax
je 0x101055b2
mov edi, eax
add eax, 4
push 0xa8
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [edi], esi
push dword [ebp - 0x1cc]
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
push edi
call fcn.10105060
add esp, 0x10
test eax, eax
je 0x101055c7
cmp dword [0x101f4f80], 0
je 0x10105617
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x101055f5
mov edi, dword [eax + 0x28]
push 0x28
push 2
push dword [ebp + 8]
call fcn.100f4470
add esp, 0xc
jmp 0x101055b7
mov edi, 0xffffe013
jmp 0x10105337
mov edi, 0xffffe013
push 0
push esi
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
jmp 0x10105337
xor esi, esi
mov dword [edi + 8], esi
mov dword [edi + 0xc], esi
mov eax, dword [ebp + 8]
mov dword [eax + 0x7c], edi
jmp 0x10105345
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
jmp 0x1010531d
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
jmp 0x10105594
call fcn.1001b2e0
jmp 0x10105309
call fcn.1001b2e0
jmp 0x10105584