Function at 0x1009bef0
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 + 8]
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, dword [0x101f5020]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1009c1ad
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov ebx, dword [ebx + 0x15c]
push dword [0x101f5020]
call sym.nss3.dll_PR_Unlock
add esp, 4
test ebx, ebx
je 0x1009bf5b
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, ebx
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.10094aa0
call fcn.100941c0
xor ebx, ebx
test eax, eax
je 0x1009bf47
mov edi, eax
push 0x58
push eax
call fcn.10094240
add esp, 8
test eax, eax
je 0x1009c18f
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x40]
mov dword [eax + 0x30], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x34], ecx
mov dword [eax + 0x24], 1
xor ebx, ebx
push 2
push ebx
push dword [esi + 0x11c]
push ebx
push edi
mov esi, eax
call fcn.1009ca00
add esp, 0x14
test eax, eax
je 0x1009c18f
mov ebx, dword [ebp + 8]
lea ecx, [ebx + 0x3c]
mov dword [ebp - 0x20], ecx
mov ecx, dword [eax + 0x20]
mov dword [esi + 0x20], ecx
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movups xmmword [esi + 0x10], xmm1
movups xmmword [esi], xmm0
lea eax, [esi + 0x38]
push dword [ebx + 0x4c]
push dword [ebx + 0x50]
push eax
push edi
call fcn.10094e70
add esp, 0x10
lea eax, [esi + 0x40]
push dword [ebx + 0x58]
push dword [ebx + 0x5c]
push eax
push edi
call fcn.10094e70
add esp, 0x10
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x20]
call fcn.1007b4f0
add esp, 8
cmp eax, 0xffffffff
je 0x1009c19d
mov dword [ebp - 0x20], esi
add esi, 0x48
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push esi
push edi
call fcn.10094e70
add esp, 0x10
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x1009c037
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x118]
test ebx, ebx
je 0x1009c065
cmp byte [ebx], 0
je 0x1009c065
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
push eax
push ebx
push 2
push edi
call fcn.10095930
add esp, 0x10
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x50], eax
mov esi, dword [ebp + 8]
cmp dword [esi + 0x17c], 0
je 0x1009c0e0
push 0x10
push edi
call fcn.10094240
add esp, 8
test eax, eax
je 0x1009c19d
mov ebx, eax
push dword [esi + 0x17c]
call fcn.100cd0c0
add esp, 4
mov dword [ebx + 4], eax
test eax, eax
je 0x1009c19d
mov eax, dword [esi + 0x180]
mov dword [ebx], eax
mov dword [ebx + 8], 1
mov esi, dword [esi + 0x154]
test esi, esi
je 0x1009c0d1
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
push eax
push esi
push 5
push edi
call fcn.10095930
add esp, 0x10
mov dword [ebx + 0xc], eax
push ebx
push dword [ebp - 0x20]
call fcn.1009cac0
add esp, 8
mov esi, dword [ebp + 8]
push 0x34
push 0
call fcn.10094240
add esp, 8
test eax, eax
je 0x1009c146
mov dword [eax], 1
mov dword [eax + 4], esi
mov dword [eax + 8], 0x1009af60
mov dword [eax + 0xc], 0x1009af80
mov dword [eax + 0x10], 0x1009afa0
mov dword [eax + 0x14], 0x1009b070
mov dword [eax + 0x18], sym.nss3.dll_SECMOD_CanDeleteInternalModule
mov dword [eax + 0x1c], 0x1009b0b0
mov dword [eax + 0x20], 0x1009b0e0
mov dword [eax + 0x24], 0x1009b110
mov dword [eax + 0x28], 0x1009b1b0
mov dword [eax + 0x2c], 0x1009b280
mov dword [eax + 0x30], 0x1009b2b0
mov esi, dword [ebp - 0x20]
mov dword [esi + 0x54], eax
mov ebx, dword [0x101f5020]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x1009c1ca
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov eax, dword [ebp + 8]
mov dword [eax + 0x15c], esi
push dword [0x101f5020]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov ebx, esi
jmp 0x1009bf47
push edi
call fcn.100944c0
add esp, 4
jmp 0x1009bf47
push edi
call fcn.100944c0
add esp, 4
xor ebx, ebx
jmp 0x1009bf47
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x1009bf22
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov edi, eax
jmp 0x1009c164