Function at 0x1011a450
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 [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, dword [esi + 0xc4]
push ebx
push esi
call fcn.10122bf0
add esp, 8
xor ecx, ecx
dec ecx
test eax, eax
je 0x1011a484
mov edi, ecx
jmp 0x1011a48d
mov dword [ebp - 0x20], edi
xor edi, edi
test ebx, ebx
je 0x1011a4a1
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, edi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
test byte [esi + 0x20], 0x40
jne 0x1011a532
xor edi, edi
mov ebx, 0xcb
mov eax, dword [esi + ebx*4]
test eax, eax
je 0x1011a4d4
push eax
push esi
call fcn.1011a360
add esp, 8
test eax, eax
jne 0x1011a6bb
inc edi
cmp edi, dword [esi + 0x3a8]
ja 0x1011a4dd
inc ebx
cmp ebx, 0xea
jne 0x1011a4b2
lea eax, [esi + 0xd4]
cmp dword [esi + 0xd4], eax
je 0x1011a570
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 4], 0
je 0x1011a74d
movzx eax, word [ecx + 0x4a]
cmp eax, 0x304
jb 0x1011a74d
add ecx, 0x118
push ecx
push esi
call fcn.1010e830
add esp, 8
test eax, eax
je 0x1011a651
mov dword [esi + 0x718], 1
jmp 0x1011a65e
cmp dword [esi + 0x6a8], 0
jne 0x1011a480
mov ebx, ecx
push 0x10
call sym.nss3.dll_PORT_Alloc_Util
add esp, 4
mov dword [esi + 0x6a8], eax
test eax, eax
je 0x1011a569
mov edi, eax
lea eax, [ebp - 0x18]
push 8
push eax
call sym.nss3.dll_PK11_GenerateRandom
add esp, 8
test eax, eax
je 0x1011a584
mov edi, ebx
jmp 0x1011a48d
push 0
push 0xffffd017
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x1011a6bb
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 0x1011a4ab
xor ecx, 0x1010
mov word [edi + 4], cx
jmp 0x1011a4ab
cmp dword [esi + 0x718], 0
je 0x1011a74d
mov edx, dword [esi + 0xc4]
mov ecx, esi
call fcn.1011a820
test eax, eax
je 0x1011a6c3
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.100f4470
add esp, 0xc
push edi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
lock inc dword [0x101f5a20]
push esi
call fcn.1010e6a0
add esp, 4
push dword [esi + 0xc4]
call fcn.1010d500
add esp, 4
mov dword [esi + 0xc4], edi
xor edi, edi
dec edi
jmp 0x1011a48d
mov eax, dword [esi + 0xc4]
movzx eax, word [eax + 0x9a]
mov word [esi + 0x490], ax
push 0
push esi
call fcn.100f9940
add esp, 8
test eax, eax
je 0x1011a74d
cmp dword [0x101f4f80], 0
je 0x1011a7fd
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1011a7c7
push 0
push dword [eax + 0x28]
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101f4f80], 0
je 0x1011a807
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1011a7e2
mov edi, dword [eax + 0x28]
push 0x50
push 2
push esi
call fcn.100f4470
add esp, 0xc
push 0
push edi
jmp 0x1011a577
lea ecx, [esi + 0x65c]
mov eax, dword [esi + 0x65c]
xor edi, edi
cmp eax, ecx
je 0x1011a48d
cmp dword [esi + 0x718], 0
jne 0x1011a782
cmp dword [eax + 0x10], 2
jne 0x1011a782
movzx eax, word [eax + 0x24]
test ax, ax
je 0x1011a782
mov word [esi + 0x490], ax
mov ecx, esi
call fcn.1011aa00
test eax, eax
mov eax, 0xffffffff
je 0x1011a48d
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.100f4470
add esp, 0xc
xor eax, eax
push eax
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x1011a48d
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
jmp 0x1011a707
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
jmp 0x1011a735
call fcn.1001b2e0
jmp 0x1011a6f3
call fcn.1001b2e0
jmp 0x1011a721