joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10093550
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
push 0x10093740
push 0x101f5058
call sym.nss3.dll_PR_CallOnce
add esp, 8
xor esi, esi
dec esi
test eax, eax
jne 0x100936f7
mov ebx, dword [0x101f5064]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x10093701
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov edi, dword [0x101f507c]
mov bl, byte [0x101f5078]
push dword [0x101f5064]
call sym.nss3.dll_PR_Unlock
add esp, 4
test bl, bl
jne 0x100935cb
test edi, edi
jne 0x100935cb
push 0
push 0xffffe09a
jmp 0x100936d3
cmp dword [ebp + 8], 0
je 0x1009367e
mov eax, dword [0x101f5068]
mov dword [ebp - 0x10], eax
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x1009371e
mov ebx, dword [ebp - 0x10]
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov edi, dword [0x101f5070]
test edi, edi
mov ebx, dword [ebp + 8]
jle 0x10093646
xor ecx, ecx
mov eax, dword [0x101f5074]
mov edx, dword [ebp + 0xc]
cmp dword [eax + ecx*8], ebx
jne 0x10093629
cmp dword [eax + ecx*8 + 4], edx
je 0x100936be
inc ecx
cmp edi, ecx
jne 0x1009361a
xor ecx, ecx
cmp dword [eax + ecx*8], 0
jne 0x10093641
cmp dword [eax + ecx*8 + 4], 0
je 0x100936dd
inc ecx
cmp edi, ecx
jne 0x10093630
cmp dword [0x101f506c], edi
jne 0x10093687
lea eax, [edi*8]
add eax, 0x50
js 0x1009369f
push eax
push dword [0x101f5074]
call dword [sym.imp.mozglue.dll_realloc]
add esp, 8
test eax, eax
je 0x1009369f
mov dword [0x101f5074], eax
lea ecx, [edi + 0xa]
mov dword [0x101f506c], ecx
jmp 0x1009368c
push 0
push 0xffffe005
jmp 0x100936d3
mov eax, dword [0x101f5074]
mov dword [eax + edi*8], ebx
mov ecx, dword [ebp + 0xc]
mov dword [eax + edi*8 + 4], ecx
inc edi
mov dword [0x101f5070], edi
jmp 0x100936e7
push 0
push 0xffffe013
call sym.nss3.dll_PR_SetError
add esp, 8
push dword [0x101f5068]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x100936f7
push dword [0x101f5068]
call sym.nss3.dll_PR_Unlock
add esp, 4
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100936f7
mov dword [eax + ecx*8], ebx
mov edx, dword [ebp + 0xc]
mov dword [eax + ecx*8 + 4], edx
push dword [0x101f5068]
call sym.nss3.dll_PR_Unlock
add esp, 4
xor esi, esi
mov eax, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov edi, eax
jmp 0x10093590
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov edi, eax
jmp 0x100935f3
Function at 0x10093920
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push 0x10093740
push 0x101f5058
call sym.nss3.dll_PR_CallOnce
add esp, 8
test eax, eax
jne 0x100939a1
mov edi, dword [0x101f5064]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100939c1
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
cmp byte [0x101f5078], 1
jne 0x10093984
cmp dword [0x101f5080], 0
je 0x100939a8
push 0xffffffffffffffff
push dword [0x101f5084]
call sym.nss3.dll_PR_WaitCondVar
add esp, 8
jmp 0x10093969
push dword [0x101f5064]
call sym.nss3.dll_PR_Unlock
add esp, 4
push 0
push 0xffffe09a
call sym.nss3.dll_PR_SetError
add esp, 8
xor eax, eax
dec eax
pop esi
pop edi
pop ebp
ret
call fcn.10093790
mov esi, eax
push dword [0x101f5064]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, esi
jmp 0x100939a4
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x10093953

Function at 0x100939e0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push 0x10093740
push 0x101f5058
call sym.nss3.dll_PR_CallOnce
add esp, 8
xor esi, esi
dec esi
test eax, eax
jne 0x10093acc
mov esi, dword [0x101f5064]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x10093ad3
mov ebx, dword [ebp + 8]
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [esi + 8], edi
cmp dword [0x101f5080], 0
je 0x10093a4a
push 0xffffffffffffffff
push dword [0x101f5084]
call sym.nss3.dll_PR_WaitCondVar
add esp, 8
jmp 0x10093a2f
test ebx, ebx
je 0x10093a74
mov eax, 0x101f507c
mov ecx, eax
mov eax, dword [eax]
test eax, eax
je 0x10093aac
cmp eax, ebx
jne 0x10093a53
mov eax, dword [ebx]
mov dword [ecx], eax
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov al, byte [0x101f5078]
jmp 0x10093a86
cmp byte [0x101f5078], 0
je 0x10093aac
mov byte [0x101f5078], 0
xor eax, eax
xor esi, esi
test al, 1
jne 0x10093a9c
cmp dword [0x101f507c], 0
jne 0x10093a9c
call fcn.10093790
mov esi, eax
push dword [0x101f5064]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x10093acc
push dword [0x101f5064]
call sym.nss3.dll_PR_Unlock
add esp, 4
push 0
push 0xffffe09a
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
mov eax, esi
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov edi, eax
jmp 0x10093a1f

Function at 0x10093d50
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp sym.nss3.dll_PORT_Alloc_Util

Function at 0x10093d60
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp sym.nss3.dll_PORT_ZAlloc_Util

Function at 0x10093d90
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp sym.nss3.dll_PORT_Strdup_Util
Function at 0x10093dc0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0x101f4f80], 0
je 0x10093dfe
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x10093dec
mov eax, dword [eax + 0x28]
add esp, 0x10
pop ebp
ret
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
jmp 0x10093de4
call fcn.1001b2e0
jmp 0x10093dcf

Function at 0x10093e10
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp sym.nss3.dll_PORT_NewArena_Util

Function at 0x10093e20
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp sym.nss3.dll_PORT_ArenaAlloc_Util

Function at 0x10093e70
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp sym.nss3.dll_PORT_FreeArena_Util

Function at 0x10094240
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [ebp + 0xc]
cmp edi, 0xfffffff8
jb 0x1009425f
push 2
call fcn.10094a30
add esp, 4
xor esi, esi
jmp 0x10094327
mov eax, dword [ebp + 8]
lea ebx, [edi + 8]
test eax, eax
je 0x100942c6
mov edi, dword [eax + 0x1c]
test edi, edi
je 0x100942e4
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1009432e
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
lea ecx, [eax + ebx]
not eax
and eax, ecx
cmp eax, ebx
mov edi, dword [ebp + 0xc]
jb 0x1009430d
mov ecx, dword [edx + 0x10]
mov esi, dword [ecx + 0xc]
mov ebx, edx
mov edx, dword [ecx + 8]
sub edx, esi
cmp eax, edx
jbe 0x100942eb
push eax
push ebx
call sym.nss3.dll_PL_ArenaAllocate
add esp, 8
mov esi, eax
jmp 0x100942f0
push ebx
push 1
call dword [sym.imp.mozglue.dll_calloc]
add esp, 8
test eax, eax
je 0x1009424e
mov esi, eax
mov dword [eax + 4], edi
add esi, 8
jmp 0x10094327
push 4
jmp 0x10094250
add eax, esi
mov dword [ecx + 0xc], eax
test esi, esi
mov eax, dword [ebp + 8]
je 0x1009430d
mov dword [esi], eax
mov dword [esi + 4], edi
add esi, 8
push edi
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x10094319
push 2
call fcn.10094a30
add esp, 4
xor esi, esi
mov eax, dword [ebp + 8]
push dword [eax + 0x1c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, esi
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x10094286
Function at 0x10094350
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov ebx, dword [ebp + 8]
xor esi, esi
test ebx, ebx
je 0x100943d6
mov eax, dword [ebx - 8]
test eax, eax
je 0x100943ac
mov edi, dword [eax + 0x1c]
test edi, edi
je 0x100943c9
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x100943e0
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x10]
mov dword [edi + 8], eax
push dword [ebx - 4]
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [ebx - 8]
push dword [eax + 0x1c]
call sym.nss3.dll_PR_Unlock
jmp 0x100943c4
lea edi, [ebx - 8]
push dword [ebx - 4]
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
jmp 0x100943d6
push 3
call fcn.10094a30
add esp, 4
xor esi, esi
dec esi
mov eax, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov dword [ebp - 0x10], eax
jmp 0x10094381

Function at 0x10094400
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov edi, dword [ebp + 8]
call fcn.10094950
test eax, eax
je 0x10094422
mov word [eax + 2], 0
mov dword [eax + 4], 0
mov ebx, dword [edi + 0x1c]
test ebx, ebx
je 0x10094490
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x100944a7
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], esi
mov dword [esp], edi
call sym.nss3.dll_PL_FinishArenaPool
mov esi, dword [edi + 0x1c]
mov dword [edi + 0x1c], 0
mov dword [esp], esi
call sym.nss3.dll_PR_Unlock
lea eax, [esi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
sub esp, 4
mov dword [esp], esi
call dword [sym.imp.mozglue.dll_free]
mov dword [esp], edi
call fcn.10094350
xor eax, eax
jmp 0x1009449f
mov dword [esp], 4
call fcn.10094a30
xor eax, eax
dec eax
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov esi, eax
jmp 0x10094440
Function at 0x100944c0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x1c]
test ebx, ebx
je 0x1009453a
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x10094551
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], esi
mov dword [esp], edi
call sym.nss3.dll_PL_FinishArenaPool
mov esi, dword [edi + 0x1c]
mov dword [edi + 0x1c], 0
mov dword [esp], esi
call sym.nss3.dll_PR_Unlock
lea eax, [esi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
sub esp, 4
mov dword [esp], esi
call dword [sym.imp.mozglue.dll_free]
mov dword [esp], edi
call fcn.10094350
xor eax, eax
jmp 0x10094549
mov dword [esp], 4
call fcn.10094a30
xor eax, eax
dec eax
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov esi, eax
jmp 0x100944ea

Function at 0x10094570
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x1c]
test ebx, ebx
je 0x100945dc
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x1009463f
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], esi
mov eax, dword [edi + 0x18]
lea ecx, [eax + 0x10]
not eax
and eax, ecx
cmp eax, 0x10
jb 0x10094613
mov ecx, dword [edi + 0x10]
mov ebx, dword [ecx + 0xc]
mov edx, dword [ecx + 8]
sub edx, ebx
cmp eax, edx
jbe 0x100945e5
mov dword [esp + 4], eax
mov dword [esp], edi
call sym.nss3.dll_PL_ArenaAllocate
jmp 0x100945ec
mov dword [esp], 4
jmp 0x1009462e
add eax, ebx
mov dword [ecx + 0xc], eax
mov eax, ebx
test eax, eax
je 0x10094613
mov dword [eax], edi
mov dword [eax + 4], 8
lea esi, [eax + 8]
mov dword [eax + 0xc], ebx
mov dword [eax + 8], 0x4d41524b
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
jmp 0x10094635
mov esi, 2
mov dword [esp], esi
call fcn.10094a30
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov dword [esp], esi
call fcn.10094a30
xor esi, esi
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov esi, eax
jmp 0x1009459e
Function at 0x10094660
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
cmp dword [edx], 0x4d41524b
jne 0x10094701
mov esi, dword [ecx + 0x1c]
test esi, esi
je 0x100946ea
mov edi, edx
mov dword [ebp - 0x10], ecx
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov ebx, eax
test eax, eax
je 0x10094733
lea eax, [esi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [esi + 8], ebx
cmp dword [edi], 0x4d41524b
jne 0x100946f3
mov eax, dword [ebp + 8]
mov dword [edi], 0
test eax, eax
mov ebx, dword [ebp - 0x10]
je 0x10094724
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + 4]
mov esi, dword [ecx + 0xc]
mov edi, eax
sub edi, edx
sub esi, edx
cmp edi, esi
jbe 0x10094718
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym.nss3.dll_PL_ArenaRelease
jmp 0x10094724
mov dword [esp], 4
jmp 0x10094708
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov dword [esp], 5
call fcn.10094a30
xor eax, eax
dec eax
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [ebx + 0x18]
add eax, edx
not edx
and edx, eax
mov dword [ecx + 0xc], edx
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
xor eax, eax
jmp 0x10094710
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov ebx, eax
jmp 0x1009469c
Function at 0x10094750
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov ebx, dword [ebp + 0xc]
cmp ebx, 0xfffffff8
jb 0x10094765
push 2
jmp 0x100947ce
mov esi, dword [ebp + 8]
test esi, esi
je 0x100947cc
mov edi, dword [esi - 4]
cmp edi, ebx
je 0x100947d8
lea edx, [ebx + 8]
lea ecx, [esi - 8]
mov eax, dword [ecx]
test eax, eax
je 0x100947e2
mov edi, dword [eax + 0x1c]
test edi, edi
je 0x100947cc
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100948ff
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov esi, dword [ebp + 8]
mov eax, dword [esi - 4]
sub eax, ebx
jbe 0x10094823
add ebx, esi
push eax
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x100948dc
push 3
call fcn.10094a30
add esp, 4
xor esi, esi
mov eax, esi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x10], ecx
push edx
push 1
call dword [sym.imp.mozglue.dll_calloc]
add esp, 8
test eax, eax
je 0x10094761
mov esi, eax
mov dword [eax + 4], ebx
add esi, 8
cmp edi, ebx
jae 0x1009485a
push edi
mov eax, dword [ebp + 8]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
sub ebx, edi
lea eax, [esi + edi]
push ebx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
jmp 0x10094865
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x18]
mov esi, dword [ebp - 0x14]
lea ecx, [eax + esi]
not eax
and eax, ecx
cmp eax, esi
jb 0x100948ef
mov ecx, dword [edx + 0x10]
mov esi, dword [ecx + 0xc]
mov edi, edx
mov edx, dword [ecx + 8]
sub edx, esi
cmp eax, edx
jbe 0x10094886
push eax
push edi
call sym.nss3.dll_PL_ArenaAllocate
add esp, 8
mov esi, eax
jmp 0x1009488b
push ebx
mov eax, dword [ebp + 8]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
xor ebx, ebx
push edi
push ebx
mov edi, dword [ebp + 8]
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [edi - 4], ebx
push dword [ebp - 0x10]
call dword [sym.imp.mozglue.dll_free]
jmp 0x100948e7
add eax, esi
mov dword [ecx + 0xc], eax
test esi, esi
mov edx, dword [ebp - 0x10]
je 0x100948ef
mov dword [esi], edx
mov dword [esi + 4], ebx
add esi, 8
mov eax, dword [ebp + 8]
mov edi, dword [eax - 4]
cmp esi, eax
je 0x100948c2
push edi
push eax
push esi
mov edi, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, edi
mov edi, dword [edi - 4]
push edi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
sub ebx, edi
add edi, esi
push ebx
xor ebx, ebx
push ebx
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [eax - 8], ebx
mov dword [eax - 4], ebx
mov eax, dword [ebp - 0x10]
push dword [eax + 0x1c]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x100947d8
push dword [edx + 0x1c]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x10094761
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x100947a2
Function at 0x10094be0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, dword [ebp + 8]
mov edi, dword [esi + 8]
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
push dword [esi + 0xc]
call sym.nss3.dll_PL_HashTableDestroy
add esp, 4
cmp dword [esi + 4], 0
je 0x10094c1e
push dword [esi]
call fcn.100944c0
add esp, 4
pop esi
pop edi
pop ebp
ret
pop esi
pop edi
pop ebp
jmp fcn.10094350

Function at 0x10094c30
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 8]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10094ca2
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [ebp + 0x10]
push esi
push dword [ebp + 0xc]
push dword [edi + 0xc]
call sym.nss3.dll_PL_HashTableAdd
add esp, 0xc
test eax, eax
je 0x10094c7c
mov ecx, esi
cmp dword [eax + 0xc], esi
je 0x10094c8b
push 0x21
jmp 0x10094c7e
push 2
call fcn.10094a30
add esp, 4
xor esi, esi
dec esi
jmp 0x10094c90
inc dword [edi + 0x10]
xor esi, esi
push dword [edi + 8]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, esi
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x10094c4e

Function at 0x10094cc0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 8]
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x10094d24
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], esi
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sym.nss3.dll_PL_HashTableRemove
test eax, eax
je 0x10094d11
dec dword [edi + 0x10]
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov esi, eax
jmp 0x10094ce6
Function at 0x10094d40
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [0x101f1014]
xor edx, ebp
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
mov ebx, dword [edi + 8]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10094db6
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
lea eax, [ebp - 0x18]
push eax
push 0x10094dd0
push dword [edi + 0xc]
call sym.nss3.dll_PL_HashTableEnumerateEntries
add esp, 0xc
push dword [edi + 8]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x10094d78

Function at 0x10095060
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov edi, dword [ebp + 8]
test edi, edi
je 0x1009512f
cmp dword [edi + 0x18], 0
jne 0x100950f6
mov ebx, dword [edi + 4]
test ebx, ebx
je 0x100950ae
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x10095139
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], esi
mov eax, dword [edi + 8]
mov dword [edi + 8], 0
test eax, eax
je 0x100950e7
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x100950e7
mov esi, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ecx], esi
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov dword [esp], eax
call fcn.10094350
mov ecx, dword [edi + 0xc]
dec ecx
mov dword [edi + 0xc], ecx
mov eax, esi
test esi, esi
jne 0x100950bf
mov eax, dword [edi + 4]
test eax, eax
je 0x100950f6
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov esi, dword [edi + 4]
test esi, esi
je 0x10095115
lea eax, [esi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
sub esp, 4
mov dword [esp], esi
call dword [sym.imp.mozglue.dll_free]
cmp dword [edi + 0x18], 0
je 0x10095127
mov eax, dword [edi]
mov dword [esp], eax
call fcn.10094400
xor edi, edi
mov dword [esp], edi
call fcn.10094350
xor eax, eax
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov esi, eax
jmp 0x1009509c