Function at 0x10114b50
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov esi, dword [ebp + 0xc]
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
test esi, esi
je 0x10114cbf
mov eax, dword [ebp + 8]
mov ecx, dword [0x101f3f98]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sym.nss3.dll_PR_GetIdentitiesLayer
test eax, eax
je 0x10114cf1
mov edi, dword [eax + 4]
mov dword [edi], eax
mov ebx, dword [esi]
mov esi, ebx
shr esi, 0x10
cmp bx, si
ja 0x10114d52
mov ecx, dword [edi + 0xa24]
test ecx, ecx
je 0x10114d20
cmp ecx, 1
jne 0x10114d52
mov eax, 0xfffffcfe
lea edx, [ebx + eax]
cmp dx, 2
ja 0x10114d52
add eax, esi
cmp ax, 3
jae 0x10114d52
lea edx, [ebp - 0x14]
call fcn.10114290
cmp eax, 0xffffffff
je 0x10114d83
mov eax, dword [ebp - 0x14]
cmp bx, ax
cmovbe ebx, eax
movzx eax, word [ebp - 0x12]
cmp si, ax
cmovae esi, eax
cmp si, bx
jb 0x10114d83
movzx eax, si
movzx ecx, bx
cmp ecx, 0x302
mov ecx, 0x301
cmovae ecx, ebx
cmp eax, 0x304
cmovb ecx, ebx
mov ebx, ecx
mov eax, dword [edi + 0x1c]
bt eax, 0xa
jb 0x10114c3a
mov eax, dword [edi + 0x16c]
mov dword [esp], eax
call sym.nss3.dll_PR_EnterMonitor
mov eax, dword [edi + 0x1c]
bt eax, 0xa
jb 0x10114c4e
mov eax, dword [edi + 0x170]
mov dword [esp], eax
call sym.nss3.dll_PR_EnterMonitor
movzx eax, word [edi + 0x714]
test ax, ax
je 0x10114d9a
cmp word [edi + 0x26], ax
jbe 0x10114d9a
cmp dword [0x101f2f50], 0
je 0x10114e49
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x10114e16
mov dword [eax + 0x28], 0xffffd078
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
mov eax, dword [edi + 0x1c]
bt eax, 0xa
jb 0x10114cb7
mov eax, dword [edi + 0x170]
mov dword [esp], eax
call sym.nss3.dll_PR_ExitMonitor
mov eax, dword [edi + 0x1c]
xor esi, esi
dec esi
jmp 0x10114dc1
cmp dword [0x101f2f50], 0
je 0x10114e2b
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x10114dd7
mov dword [eax + 0x28], 0xffffe005
jmp 0x10114d7b
cmp dword [0x101f2f50], 0
je 0x10114e3f
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x10114e01
mov dword [eax + 0x28], 0xffffe891
jmp 0x10114d7b
mov eax, 0xfffffd00
lea edx, [ebx + eax]
cmp dx, 4
ja 0x10114d52
add eax, esi
cmp ax, 4
ja 0x10114d52
movzx eax, bx
cmp eax, 0x300
ja 0x10114bd5
movzx eax, si
cmp eax, 0x304
jb 0x10114bd5
cmp dword [0x101f2f50], 0
je 0x10114e35
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x10114dec
mov dword [eax + 0x28], 0xffffd078
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
xor esi, esi
dec esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, esi
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
shl esi, 0x10
movzx eax, bx
or eax, esi
mov dword [edi + 0x24], eax
mov eax, dword [edi + 0x1c]
bt eax, 0xa
jb 0x10114dbf
mov eax, dword [edi + 0x170]
mov dword [esp], eax
call sym.nss3.dll_PR_ExitMonitor
mov eax, dword [edi + 0x1c]
xor esi, esi
bt eax, 0xa
jb 0x10114d86
mov eax, dword [edi + 0x16c]
mov dword [esp], eax
call sym.nss3.dll_PR_ExitMonitor
jmp 0x10114d86
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
jmp 0x10114ce5
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
jmp 0x10114d74
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
jmp 0x10114d17
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
jmp 0x10114c8e
call fcn.100029d0
jmp 0x10114ccc
call fcn.100029d0
jmp 0x10114d5f
call fcn.100029d0
jmp 0x10114cfe
call fcn.100029d0
jmp 0x10114c75