Function at 0x100fb070
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xa0
mov esi, ecx
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ecx
call fcn.100fba40
add esp, 4
xor ebx, ebx
dec ebx
test eax, eax
je 0x100fb09c
mov edi, ebx
jmp 0x100fb0a9
mov ecx, esi
call fcn.10103a10
mov edi, eax
test eax, eax
je 0x100fb0c0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, edi
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
push 5
push esi
call fcn.10105f30
add esp, 8
test eax, eax
je 0x100fb141
mov eax, dword [esi + 0x9c]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x100fb141
cmp dword [eax + 4], 0
je 0x100fb141
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax]
mov eax, dword [eax + 8]
add eax, 4
push eax
push 0x16
push esi
call fcn.100f6e20
add esp, 0xc
mov edi, eax
test eax, eax
jne 0x100fb0a9
xor eax, eax
inc eax
push eax
push 0
push eax
push esi
call fcn.1010c2b0
add esp, 0x10
mov edi, eax
mov eax, dword [ebp - 0xa8]
test edi, edi
jne 0x100fb0a9
mov eax, dword [eax]
push 3
push dword [eax + 8]
push dword [eax + 4]
push esi
call fcn.1010c330
add esp, 0x10
mov edi, eax
test eax, eax
jne 0x100fb0a9
mov eax, dword [esi + 0x48c]
cmp dword [eax + 0x10], 0
mov dword [ebp - 0xa8], esi
je 0x100fb487
mov ecx, dword [eax + 4]
cmp ecx, 4
je 0x100fb26a
cmp ecx, 2
mov edi, dword [ebp - 0xa8]
jne 0x100fb27f
xor ecx, ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x9c], ecx
xorps xmm0, xmm0
movups xmmword [ebp - 0x80], xmm0
mov eax, dword [eax]
and eax, 0xfffffffe
cmp eax, 4
jne 0x100fb293
lea eax, [ebp - 0x88]
push eax
push edi
call fcn.10114d40
add esp, 8
cmp eax, 0xffffffff
je 0x100fb29c
mov eax, dword [ebp - 0x88]
mov dword [edi + 0x94], eax
push eax
call fcn.10114b80
add esp, 4
lea ecx, [ebp - 0x84]
push ecx
push eax
push dword [ebp - 0x88]
call fcn.100fbb30
add esp, 0xc
cmp eax, 0xffffffff
je 0x100fb2b0
lea eax, [edi + 0xd4]
mov esi, dword [ebp - 0x84]
mov dword [esi], eax
mov eax, dword [edi + 0xd8]
mov dword [esi + 4], eax
mov eax, dword [edi + 0xd8]
mov dword [eax], esi
mov dword [edi + 0xd8], esi
movzx eax, word [edi + 0x58]
xor edx, edx
cmp eax, 0x303
jne 0x100fb22a
push dword [edi + 0x488]
call fcn.100f70c0
add esp, 4
mov edx, eax
mov eax, dword [esi + 0xc]
mov ebx, edi
mov edi, dword [eax + 4]
lea esi, [ebp - 0x58]
mov ecx, ebx
push 1
push dword [edi + 0x34]
push dword [edi + 0x30]
push dword [edi + 0x28]
push dword [edi + 0x24]
push dword [edi + 0x1c]
push dword [edi + 0x18]
push esi
call fcn.10103b80
add esp, 0x20
test eax, eax
je 0x100fb2bf
push 0xffffd044
call fcn.1010c480
add esp, 4
jmp 0x100fb456
push dword [ebp - 0xa8]
call fcn.10105630
add esp, 4
mov edi, eax
jmp 0x100fb479
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100fb098
push 0
push 0xffffd044
jmp 0x100fb2a3
push 0
push 0xffffd002
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100fb476
push 0xffffe064
call fcn.1010c480
jmp 0x100fb473
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x18]
movzx edx, word [ebx + 0x58]
xor ecx, ecx
cmp edx, 0x301
setae cl
mov ebx, dword [ebx + 0x488]
lea edx, [ebp - 0xa4]
push edx
push ecx
push ebx
push dword [eax]
push esi
call fcn.100f46a0
add esp, 0x14
test eax, eax
jne 0x100fb456
mov esi, dword [ebp - 0xa8]
cmp dword [esi + 0x60], 0
je 0x100fb31a
mov dword [esi + 0x88], ebx
push ebx
call fcn.100f4970
add esp, 4
mov dword [esi + 0x80], eax
mov eax, dword [edi + 0x1c]
add eax, eax
add eax, dword [edi + 0x28]
add eax, dword [ebp - 0x9c]
movzx ecx, word [esi + 0x58]
xor edx, edx
cmp ecx, 0x303
setae dl
lea eax, [eax + edx*2]
add eax, 8
push eax
push 0xc
push esi
call fcn.100f6e20
add esp, 0xc
test eax, eax
jne 0x100fb456
push 2
push dword [edi + 0x1c]
push dword [edi + 0x18]
push dword [ebp - 0xa8]
call fcn.1010c330
add esp, 0x10
test eax, eax
jne 0x100fb456
push 2
push dword [edi + 0x28]
push dword [edi + 0x24]
push dword [ebp - 0xa8]
call fcn.1010c330
add esp, 0x10
test eax, eax
jne 0x100fb456
mov esi, dword [edi + 0x1c]
mov ebx, dword [edi + 0x34]
lea eax, [ebp - 0x80]
push 2
push 0
push esi
push eax
call fcn.1010ba80
add esp, 0x10
test eax, eax
jne 0x100fb456
cmp esi, ebx
je 0x100fb3cf
sub ebx, esi
xor esi, esi
push 1
push esi
push esi
lea eax, [ebp - 0x80]
push eax
call fcn.1010ba80
add esp, 0x10
test eax, eax
jne 0x100fb456
inc ebx
jne 0x100fb3b4
push dword [edi + 0x34]
push dword [edi + 0x30]
lea eax, [ebp - 0x80]
push eax
call fcn.1010b9e0
add esp, 0xc
test eax, eax
jne 0x100fb456
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xa8]
push 0
push dword [ebp - 0x7c]
call fcn.1010c110
add esp, 8
test eax, eax
jne 0x100fb456
mov eax, dword [ebp - 0xa8]
movzx eax, word [eax + 0x58]
cmp eax, 0x303
jb 0x100fb432
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx + 0x488]
mov ecx, eax
sar ecx, 0x1f
push 2
push ecx
push eax
push edx
call fcn.1010c2b0
add esp, 0x10
test eax, eax
jne 0x100fb456
push 2
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
push dword [ebp - 0xa8]
call fcn.1010c330
add esp, 0x10
test eax, eax
je 0x100fb7b6
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x100fb46a
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea eax, [ebp - 0x80]
push eax
call fcn.1010bf00
add esp, 4
xor edi, edi
dec edi
test edi, edi
mov esi, dword [ebp - 0xa8]
jne 0x100fb0a9
test byte [esi + 0x1c], 4
mov edi, esi
jne 0x100fb4c7
push 0
push 0xe
push edi
call fcn.100f6e20
add esp, 0xc
mov esi, edi
mov edi, eax
test eax, eax
jne 0x100fb0a9
cmp dword [esi + 0xa24], 1
jne 0x100fb587
push 0
push esi
call fcn.100f27c0
add esp, 8
mov edi, eax
jmp 0x100fb76f
lea eax, [ebp - 0x80]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0x26
mov dword [ebp - 0x98], 1
movzx esi, word [edi + 0x58]
lea eax, [ebp - 0x94]
lea ecx, [ebp - 0x8c]
lea edx, [ebp - 0x90]
push eax
push ecx
push edx
push edi
call fcn.1010a2f0
add esp, 0x10
mov edi, eax
test eax, eax
jne 0x100fb0a9
movzx eax, si
mov ebx, dword [ebp - 0x90]
add ebx, 6
mov dword [ebp - 0xac], eax
cmp eax, 0x303
jb 0x100fb5cd
mov edi, dword [ebp - 0xa8]
movzx eax, word [edi + 0x58]
xor ecx, ecx
lea edx, [ebp - 0x58]
mov dword [edx + 0x44], ecx
mov dword [edx + 0x40], ecx
xorps xmm0, xmm0
movups xmmword [edx + 0x30], xmm0
movups xmmword [edx + 0x20], xmm0
movups xmmword [edx + 0x10], xmm0
movups xmmword [edx], xmm0
lea esi, [ebp - 0x88]
mov dword [esi], ecx
push esi
push edx
push 0x12
push 1
push ecx
push eax
push edi
call fcn.100fbc60
add esp, 0x1c
test eax, eax
je 0x100fb698
xor edi, edi
dec edi
jmp 0x100fb0a9
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x100fb77d
mov ecx, dword [esi + 0xa4]
test ecx, ecx
je 0x100fb77d
xor edi, edi
push edi
push ecx
push eax
push 0x16
push edi
push esi
call fcn.100f5910
add esp, 0x18
test eax, eax
js 0x100fb723
cmp eax, dword [esi + 0xa4]
jb 0x100fb74d
jmp 0x100fb75f
mov esi, dword [ebp - 0xa8]
push ebx
push 0xd
push esi
call fcn.100f6e20
add esp, 0xc
mov edi, eax
test eax, eax
jne 0x100fb0a9
push 1
push 3
push 0x101c5fe8
push esi
call fcn.1010c330
add esp, 0x10
mov edi, eax
test eax, eax
jne 0x100fb0a9
cmp dword [ebp - 0xac], 0x303
jb 0x100fb633
mov edx, dword [ebp - 0xa4]
mov ecx, esi
push 0
push dword [ebp - 0xa0]
call fcn.1010c110
add esp, 8
mov edi, eax
test eax, eax
jne 0x100fb0a9
push 2
push 0
push dword [ebp - 0x90]
push esi
call fcn.1010c2b0
add esp, 0x10
mov edi, eax
test eax, eax
jne 0x100fb0a9
cmp dword [ebp - 0x94], 0
je 0x100fb68d
mov esi, dword [ebp - 0x8c]
add esi, 8
xor ebx, ebx
push 2
push dword [esi]
push dword [esi - 4]
push dword [ebp - 0xa8]
call fcn.1010c330
add esp, 0x10
test eax, eax
jne 0x100fb7af
inc ebx
add esi, 0xc
cmp ebx, dword [ebp - 0x94]
jb 0x100fb664
mov edi, dword [ebp - 0xa8]
jmp 0x100fb48f
mov edi, dword [ebp - 0x88]
test edi, edi
je 0x100fb79b
lea eax, [ebp - 0x84]
lea ecx, [ebp - 0xa4]
push eax
push 2
push ecx
call fcn.1010bd30
add esp, 0xc
test eax, eax
jne 0x100fb57f
xor esi, esi
mov eax, dword [ebp + esi*4 - 0x58]
mov ecx, eax
sar ecx, 0x1f
push 2
push ecx
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.1010ba80
add esp, 0x10
test eax, eax
jne 0x100fb57f
inc esi
cmp edi, esi
jne 0x100fb6c8
push 2
push dword [ebp - 0x84]
lea eax, [ebp - 0xa4]
push eax
call fcn.1010bdc0
add esp, 0xc
mov edi, eax
test eax, eax
mov esi, dword [ebp - 0xa8]
jne 0x100fb0a9
add ebx, dword [ebp - 0xa0]
jmp 0x100fb5d3
cmp dword [0x101f4f80], 0
je 0x100fb7fc
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100fb7e1
cmp dword [eax + 0x28], 0xffffe892
jne 0x100fb75c
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
mov eax, dword [ebp - 0xa8]
mov dword [eax + 0xa4], 0
test edi, edi
mov esi, dword [ebp - 0xa8]
jne 0x100fb0a9
mov eax, dword [esi + 0x1c]
and eax, 4
xor edi, edi
cmp eax, 1
mov eax, 0
adc eax, 3
mov dword [esi + 0x450], eax
jmp 0x100fb0a9
push 0
push 0xffffd086
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100fb57f
mov edi, eax
jmp 0x100fb0a9
lea eax, [ebp - 0x80]
push eax
call fcn.1010bf00
add esp, 4
mov eax, dword [ebp - 0xa0]
xor edi, edi
test eax, eax
je 0x100fb479
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
jmp 0x100fb479
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
jmp 0x100fb744
call fcn.1001b2e0
jmp 0x100fb730