Function at 0x10118e90
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0xc4]
push ebx
push esi
call fcn.10121630
add esp, 8
xor ecx, ecx
dec ecx
test eax, eax
je 0x10118ec4
mov edi, ecx
jmp 0x10118ecd
mov dword [ebp - 0x20], edi
xor edi, edi
test ebx, ebx
je 0x10118ee1
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, edi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
test byte [esi + 0x20], 0x40
jne 0x10118f72
xor edi, edi
mov ebx, 0xcb
mov eax, dword [esi + ebx*4]
test eax, eax
je 0x10118f14
push eax
push esi
call fcn.10118da0
add esp, 8
test eax, eax
jne 0x101190fb
inc edi
cmp edi, dword [esi + 0x3a8]
ja 0x10118f1d
inc ebx
cmp ebx, 0xea
jne 0x10118ef2
lea eax, [esi + 0xd4]
cmp dword [esi + 0xd4], eax
je 0x10118fb0
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 4], 0
je 0x1011918d
movzx eax, word [ecx + 0x4a]
cmp eax, 0x304
jb 0x1011918d
add ecx, 0x118
push ecx
push esi
call fcn.1010d270
add esp, 8
test eax, eax
je 0x10119091
mov dword [esi + 0x718], 1
jmp 0x1011909e
cmp dword [esi + 0x6a8], 0
jne 0x10118ec0
mov ebx, ecx
push 0x10
call sym.nss3.dll_PORT_Alloc_Util
add esp, 4
mov dword [esi + 0x6a8], eax
test eax, eax
je 0x10118fa9
mov edi, eax
lea eax, [ebp - 0x18]
push 8
push eax
call sym.nss3.dll_PK11_GenerateRandom
add esp, 8
test eax, eax
je 0x10118fc4
mov edi, ebx
jmp 0x10118ecd
push 0
push 0xffffd017
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x101190fb
movzx eax, byte [ebp - 0x18]
and eax, 0xfffffff0
lea ecx, [eax + 0xa]
shl ecx, 8
add eax, ecx
add eax, 0xa
mov word [edi], ax
movzx eax, byte [ebp - 0x17]
and eax, 0xfffffff0
lea edx, [eax + 0xa]
mov dword [ebp - 0x1c], edx
shl edx, 8
lea ecx, [eax + edx]
add ecx, 0xa
mov word [edi + 2], cx
movzx ebx, byte [ebp - 0x16]
and ebx, 0xfffffff0
lea eax, [ebx + 0xa]
mov edx, eax
shl edx, 8
add edx, ebx
add edx, 0xa
mov word [edi + 4], dx
movzx edx, byte [ebp - 0x15]
and edx, 0xfffffff0
lea ebx, [edx + 0xa]
shl ebx, 8
add edx, ebx
add edx, 0xa
mov word [edi + 6], dx
movzx edx, byte [ebp - 0x14]
and edx, 0xfffffff0
lea ebx, [edx + 0xa]
shl ebx, 8
add edx, ebx
add edx, 0xa
mov word [edi + 8], dx
movzx edx, byte [ebp - 0x13]
and edx, 0xfffffff0
lea ebx, [edx + 0xa]
shl ebx, 8
add edx, ebx
add edx, 0xa
mov word [edi + 0xa], dx
movzx edx, byte [ebp - 0x12]
and edx, 0xfffffff0
lea ebx, [edx + 0xa]
shl ebx, 8
add edx, ebx
add edx, 0xa
mov word [edi + 0xc], dx
mov dl, byte [ebp - 0x11]
shr dl, 5
movzx edx, dl
mov ebx, edx
shl ebx, 5
sub ebx, edx
add bl, 0xb
mov byte [edi + 0xe], bl
cmp byte [ebp - 0x1c], al
jne 0x10118eeb
xor ecx, 0x1010
mov word [edi + 4], cx
jmp 0x10118eeb
cmp dword [esi + 0x718], 0
je 0x1011918d
mov edx, dword [esi + 0xc4]
mov ecx, esi
call fcn.10119260
test eax, eax
je 0x10119103
xor edi, edi
mov ebx, 0xffffe001
push edi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x50
push 2
push esi
call fcn.100f2eb0
add esp, 0xc
push edi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
lock inc dword [0x101f39f0]
push esi
call fcn.1010d0e0
add esp, 4
push dword [esi + 0xc4]
call fcn.1010bf40
add esp, 4
mov dword [esi + 0xc4], edi
xor edi, edi
dec edi
jmp 0x10118ecd
mov eax, dword [esi + 0xc4]
movzx eax, word [eax + 0x9a]
mov word [esi + 0x490], ax
push 0
push esi
call fcn.100f8380
add esp, 8
test eax, eax
je 0x1011918d
cmp dword [0x101f2f50], 0
je 0x1011923d
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10119207
push 0
push dword [eax + 0x28]
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101f2f50], 0
je 0x10119247
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10119222
mov edi, dword [eax + 0x28]
push 0x50
push 2
push esi
call fcn.100f2eb0
add esp, 0xc
push 0
push edi
jmp 0x10118fb7
lea ecx, [esi + 0x65c]
mov eax, dword [esi + 0x65c]
xor edi, edi
cmp eax, ecx
je 0x10118ecd
cmp dword [esi + 0x718], 0
jne 0x101191c2
cmp dword [eax + 0x10], 2
jne 0x101191c2
movzx eax, word [eax + 0x24]
test ax, ax
je 0x101191c2
mov word [esi + 0x490], ax
mov ecx, esi
call fcn.10119440
test eax, eax
mov eax, 0xffffffff
je 0x10118ecd
xor ecx, ecx
mov ebx, 0xffffe001
push ecx
push ebx
mov edi, eax
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x50
push 2
push esi
call fcn.100f2eb0
add esp, 0xc
xor eax, eax
push eax
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10118ecd
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x10119147
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x10119175
call fcn.100029d0
jmp 0x10119133
call fcn.100029d0
jmp 0x10119161