Function at 0x10115f50
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov esi, dword [ebp + 8]
test byte [esi + 0x180], 2
jne 0x10115f74
cmp dword [ebp + 0x14], 0
je 0x10115f90
push 0
push 0xffffe89d
jmp 0x10115f7b
push 0
push 0xffffe8d7
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
mov eax, edi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
test byte [esi + 0x1d], 4
jne 0x10115fa4
push dword [esi + 0x168]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov eax, dword [esi + 0x1fc]
test eax, eax
je 0x1011600f
push 0
push eax
push dword [esi + 0x1f8]
push esi
call fcn.10111050
add esp, 0x10
mov edi, eax
test eax, eax
js 0x10116011
mov eax, dword [esi + 0x1fc]
sub eax, edi
mov dword [esi + 0x1fc], eax
test edi, edi
je 0x10115ff7
test eax, eax
je 0x10115ff7
mov ecx, dword [esi + 0x1f8]
mov edx, edi
add edx, ecx
push eax
push edx
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esi + 0x1fc]
test eax, eax
je 0x10116011
push 0
push 0xffffe892
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x10116011
xor edi, edi
test byte [esi + 0x1d], 4
jne 0x10116025
push dword [esi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
test edi, edi
js 0x10115f86
cmp dword [ebp + 0x10], 0
jle 0x1011605a
cmp dword [0x101de200], 0
je 0x101162d1
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x101162b6
mov dword [esi + 0x17c], eax
xor ebx, ebx
cmp dword [esi + 0x38], 0
je 0x1011607b
mov ecx, esi
mov edx, 2
call fcn.10115e00
test eax, eax
jne 0x10115f83
jmp 0x101161e2
test byte [esi + 0x1d], 4
jne 0x1011608f
push dword [esi + 0x16c]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
xor ebx, ebx
cmp dword [esi + 0x60], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
jne 0x1011611e
mov eax, dword [esi + 0x1c]
test eax, 0x4010000
je 0x10116105
bt eax, 0xa
jb 0x101160c6
push dword [esi + 0x170]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x600]
dec ecx
cmp ecx, 2
setb cl
cmp dword [esi + 0x53c], 0
setne bl
mov dword [ebp - 0x10], ecx
or bl, cl
cmp dword [esi + 0x450], 0
sete cl
mov dword [ebp - 0x14], ecx
bt eax, 0xa
jb 0x10116115
push dword [esi + 0x170]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
jmp 0x10116115
mov dword [ebp - 0x10], 0
xor ebx, ebx
mov dword [ebp - 0x14], 0
movzx ebx, bl
cmp dword [esi + 0x60], 0
je 0x1011616d
movzx eax, word [esi + 0x58]
cmp eax, 0x304
jb 0x1011616d
push esi
call fcn.10124340
add esp, 4
test eax, eax
jne 0x1011616d
test byte [esi + 0x1d], 4
jne 0x1011614a
push dword [esi + 0x170]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
push 0x10
push 7
push esi
call fcn.1011f8b0
add esp, 0xc
mov ebx, eax
test byte [esi + 0x1d], 4
jne 0x1011616d
push dword [esi + 0x170]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
test ebx, ebx
je 0x10116280
mov ebx, dword [ebp - 0x10]
cmp byte [ebp - 0x14], 0
je 0x101161b9
mov eax, dword [esi + 0x1c]
bt eax, 0xa
jb 0x10116198
push dword [esi + 0x170]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x600]
dec ecx
cmp ecx, 2
setb bl
bt eax, 0xa
jb 0x101161b9
push dword [esi + 0x170]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
test byte [esi + 0x1d], 4
jne 0x101161cd
push dword [esi + 0x16c]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
test edi, edi
js 0x1011626a
movzx ebx, bl
cmp dword [esi + 0x38], 0
jne 0x10116062
test ebx, ebx
je 0x10116221
test byte [esi + 0x1d], 4
mov edi, dword [ebp + 0x10]
jne 0x101161fd
push dword [esi + 0x174]
call fcn.100da9f0
add esp, 4
push edi
push 0x17
push esi
call fcn.10125800
add esp, 0xc
mov ebx, eax
test byte [esi + 0x1d], 4
jne 0x10116224
push dword [esi + 0x174]
call fcn.100daad0
add esp, 4
jmp 0x10116224
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x10116279
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x10115f6b
test byte [esi + 0x1d], 4
jne 0x10116247
push dword [esi + 0x168]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
push 0
push ebx
push edi
push esi
call fcn.100fc700
add esp, 0x10
mov edi, eax
test byte [esi + 0x1d], 4
jne 0x1011626a
push dword [esi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
mov dword [esi + 0x17c], 0
jmp 0x10115f86
xor edi, edi
jmp 0x10115f86
mov ecx, dword [esi + 0xcc]
test ecx, ecx
mov ebx, dword [ebp - 0x10]
je 0x10116178
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov edi, eax
test eax, eax
jne 0x10116178
mov ecx, dword [esi + 0xcc]
test ecx, ecx
jne 0x10116291
jmp 0x10116178
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10116054
call fcn.100745e0
jmp 0x10116040