Function at 0x101366a0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov ebx, dword [0x101d5a50]
test ebx, ebx
je 0x1013672b
mov eax, dword [ebx]
mov edi, dword [0x101d5a58]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10136718
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov esi, dword [ebx + 0xc]
lea eax, [esi - 1]
mov dword [ebx + 0xc], eax
push dword [0x101d5a58]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x10136713
mov eax, dword [ebx + 8]
lock dec dword [eax + 0x48]
jne 0x10136709
push eax
call fcn.10135de0
add esp, 4
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ebx, dword [ebp - 0x10]
jmp 0x101366ad
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x101366ce
mov esi, dword [0x101d5a58]
test esi, esi
je 0x10136749
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5a5c]
xor eax, eax
mov dword [0x101d5a58], eax
mov dword [0x101d5a50], eax
test edi, edi
je 0x101367d9
mov eax, dword [edi]
mov ebx, dword [0x101d5a64]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x101367c6
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5a64]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x101367c1
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x101367b7
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x1013675b
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x1013677c
mov esi, dword [0x101d5a64]
test esi, esi
je 0x101367f7
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5a68]
xor eax, eax
mov dword [0x101d5a64], eax
mov dword [0x101d5a5c], eax
test edi, edi
je 0x10136887
mov eax, dword [edi]
mov ebx, dword [0x101d5a70]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10136874
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5a70]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x1013686f
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10136865
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10136809
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x1013682a
mov esi, dword [0x101d5a70]
test esi, esi
je 0x101368a5
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5a74]
xor eax, eax
mov dword [0x101d5a70], eax
mov dword [0x101d5a68], eax
test edi, edi
je 0x10136935
mov eax, dword [edi]
mov ebx, dword [0x101d5a7c]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10136922
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5a7c]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x1013691d
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10136913
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x101368b7
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x101368d8
mov esi, dword [0x101d5a7c]
test esi, esi
je 0x10136953
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5a80]
xor eax, eax
mov dword [0x101d5a7c], eax
mov dword [0x101d5a74], eax
test edi, edi
je 0x101369e3
mov eax, dword [edi]
mov ebx, dword [0x101d5a88]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x101369d0
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5a88]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x101369cb
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x101369c1
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10136965
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10136986
mov esi, dword [0x101d5a88]
test esi, esi
je 0x10136a01
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5a8c]
xor eax, eax
mov dword [0x101d5a88], eax
mov dword [0x101d5a80], eax
test edi, edi
je 0x10136a91
mov eax, dword [edi]
mov ebx, dword [0x101d5a94]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10136a7e
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5a94]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x10136a79
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10136a6f
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10136a13
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10136a34
mov esi, dword [0x101d5a94]
test esi, esi
je 0x10136aaf
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5a98]
xor eax, eax
mov dword [0x101d5a94], eax
mov dword [0x101d5a8c], eax
test edi, edi
je 0x10136b3f
mov eax, dword [edi]
mov ebx, dword [0x101d5aa0]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10136b2c
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5aa0]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x10136b27
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10136b1d
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10136ac1
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10136ae2
mov esi, dword [0x101d5aa0]
test esi, esi
je 0x10136b5d
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5aa4]
xor eax, eax
mov dword [0x101d5aa0], eax
mov dword [0x101d5a98], eax
test edi, edi
je 0x10136bed
mov eax, dword [edi]
mov ebx, dword [0x101d5aac]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10136bda
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5aac]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x10136bd5
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10136bcb
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10136b6f
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10136b90
mov esi, dword [0x101d5aac]
test esi, esi
je 0x10136c0b
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5ab0]
xor eax, eax
mov dword [0x101d5aac], eax
mov dword [0x101d5aa4], eax
test edi, edi
je 0x10136c9b
mov eax, dword [edi]
mov ebx, dword [0x101d5ab8]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10136c88
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5ab8]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x10136c83
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10136c79
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10136c1d
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10136c3e
mov esi, dword [0x101d5ab8]
test esi, esi
je 0x10136cb9
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5abc]
xor eax, eax
mov dword [0x101d5ab8], eax
mov dword [0x101d5ab0], eax
test edi, edi
je 0x10136d49
mov eax, dword [edi]
mov ebx, dword [0x101d5ac4]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10136d36
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5ac4]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x10136d31
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10136d27
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10136ccb
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10136cec
mov esi, dword [0x101d5ac4]
test esi, esi
je 0x10136d67
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5ac8]
xor eax, eax
mov dword [0x101d5ac4], eax
mov dword [0x101d5abc], eax
test edi, edi
je 0x10136df7
mov eax, dword [edi]
mov ebx, dword [0x101d5ad0]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10136de4
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5ad0]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x10136ddf
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10136dd5
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10136d79
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10136d9a
mov esi, dword [0x101d5ad0]
test esi, esi
je 0x10136e15
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5ad4]
xor eax, eax
mov dword [0x101d5ad0], eax
mov dword [0x101d5ac8], eax
test edi, edi
je 0x10136ea5
mov eax, dword [edi]
mov ebx, dword [0x101d5adc]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10136e92
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5adc]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x10136e8d
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10136e83
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10136e27
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10136e48
mov esi, dword [0x101d5adc]
test esi, esi
je 0x10136ec3
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5ae0]
xor eax, eax
mov dword [0x101d5adc], eax
mov dword [0x101d5ad4], eax
test edi, edi
je 0x10136f53
mov eax, dword [edi]
mov ebx, dword [0x101d5ae8]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10136f40
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5ae8]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x10136f3b
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10136f31
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10136ed5
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10136ef6
mov esi, dword [0x101d5ae8]
test esi, esi
je 0x10136f71
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5aec]
xor eax, eax
mov dword [0x101d5ae8], eax
mov dword [0x101d5ae0], eax
test edi, edi
je 0x10137001
mov eax, dword [edi]
mov ebx, dword [0x101d5af4]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10136fee
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5af4]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x10136fe9
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10136fdf
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10136f83
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10136fa4
mov esi, dword [0x101d5af4]
test esi, esi
je 0x1013701f
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5af8]
xor eax, eax
mov dword [0x101d5af4], eax
mov dword [0x101d5aec], eax
test edi, edi
je 0x101370af
mov eax, dword [edi]
mov ebx, dword [0x101d5b00]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1013709c
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5b00]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x10137097
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x1013708d
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10137031
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10137052
mov esi, dword [0x101d5b00]
test esi, esi
je 0x101370cd
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5b04]
xor eax, eax
mov dword [0x101d5b00], eax
mov dword [0x101d5af8], eax
test edi, edi
je 0x1013715d
mov eax, dword [edi]
mov ebx, dword [0x101d5b0c]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1013714a
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5b0c]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x10137145
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x1013713b
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x101370df
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10137100
mov esi, dword [0x101d5b0c]
test esi, esi
je 0x1013717b
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5b10]
xor eax, eax
mov dword [0x101d5b0c], eax
mov dword [0x101d5b04], eax
test edi, edi
je 0x1013720b
mov eax, dword [edi]
mov ebx, dword [0x101d5b18]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x101371f8
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5b18]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x101371f3
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x101371e9
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x1013718d
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x101371ae
mov esi, dword [0x101d5b18]
test esi, esi
je 0x10137229
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5b1c]
xor eax, eax
mov dword [0x101d5b18], eax
mov dword [0x101d5b10], eax
test edi, edi
je 0x101372b9
mov eax, dword [edi]
mov ebx, dword [0x101d5b24]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x101372a6
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5b24]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x101372a1
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10137297
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x1013723b
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x1013725c
mov esi, dword [0x101d5b24]
test esi, esi
je 0x101372d7
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5b28]
xor eax, eax
mov dword [0x101d5b24], eax
mov dword [0x101d5b1c], eax
test edi, edi
je 0x10137367
mov eax, dword [edi]
mov ebx, dword [0x101d5b30]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10137354
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5b30]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x1013734f
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x10137345
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x101372e9
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x1013730a
mov esi, dword [0x101d5b30]
test esi, esi
je 0x10137385
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [0x101d5b34]
xor eax, eax
mov dword [0x101d5b30], eax
mov dword [0x101d5b28], eax
test edi, edi
je 0x10137415
mov eax, dword [edi]
mov ebx, dword [0x101d5b3c]
mov dword [ebp - 0x10], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10137402
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0xc]
lea eax, [esi - 1]
mov dword [edi + 0xc], eax
push dword [0x101d5b3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 1
jne 0x101373fd
mov eax, dword [edi + 8]
lock dec dword [eax + 0x48]
jne 0x101373f3
push eax
call fcn.10135de0
add esp, 4
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x10137397
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x101373b8
mov esi, dword [0x101d5b3c]
test esi, esi
je 0x10137433
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
xor eax, eax
mov dword [0x101d5b3c], eax
mov dword [0x101d5b34], eax
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret