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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
mov dword [eax], 0x80000efe
sub esp, 0x14
movaps xmm0, xmmword [0x1019c5f0]
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
call fcn.100d5860
add esp, 0x14
mov esi, eax
test eax, eax
je 0x100d625f
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x18], eax
mov ebx, dword [esi + 0x3c]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100d6385
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov eax, dword [esi]
mov edi, dword [esi + 0x38]
mov ecx, dword [eax + 0xfe]
call dword [section..00cfg]
push dword [ebp + 0xc]
push dword [ebp + 8]
push edi
call ecx
add esp, 0xc
mov edi, eax
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test edi, edi
je 0x100d6281
push edi
call fcn.100b1140
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100d6283
mov eax, dword [0x101df00c]
test eax, eax
je 0x100d62b8
cmp dword [eax + 0xc], 0
je 0x100d62de
mov esi, dword [0x101df000]
test esi, esi
je 0x100d62de
lock inc dword [esi + 0x48]
jmp 0x100d61ec
xor edi, edi
mov ebx, dword [ebp - 0x18]
lock dec dword [esi + 0x48]
jne 0x100d6295
push esi
call fcn.100d1c70
add esp, 4
test ebx, ebx
jne 0x100d62ca
mov eax, dword [0x101df00c]
test eax, eax
je 0x100d62b8
cmp dword [eax + 0xc], 0
je 0x100d62f1
mov ebx, dword [0x101df000]
test ebx, ebx
je 0x100d62f1
lock inc dword [ebx + 0x48]
jmp 0x100d62fe
push 0
push 0xffffe040
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014dc80
mov eax, edi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [eax + 0x28]
mov esi, dword [eax]
lock inc dword [esi + 0x48]
test esi, esi
jne 0x100d61ec
jmp 0x100d62c7
mov eax, dword [eax + 0x28]
mov ebx, dword [eax]
lock inc dword [ebx + 0x48]
test ebx, ebx
je 0x100d62c7
mov edi, dword [ebx + 0x3c]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100d63a2
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov eax, dword [ebx]
mov esi, dword [ebx + 0x38]
mov ecx, dword [eax + 0xfe]
call dword [section..00cfg]
push dword [ebp + 0xc]
push dword [ebp + 8]
push esi
call ecx
add esp, 0xc
mov esi, eax
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x100d636b
push esi
call fcn.100b1140
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100d636d
xor edi, edi
lock dec dword [ebx + 0x48]
jne 0x100d62ca
push ebx
call fcn.100d1c70
add esp, 4
jmp 0x100d62ca
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov edi, eax
jmp 0x100d620b
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov esi, eax
jmp 0x100d6317
Function at 0x100d63c0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
mov dword [eax], 0x80000efe
movaps xmm0, xmmword [0x1019c5f0]
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
call fcn.100d5860
test eax, eax
je 0x100d6494
mov esi, eax
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
cmp dword [eax + 0x14], 0
jne 0x100d643c
mov ebx, dword [esi + 0x3c]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov edi, eax
test eax, eax
je 0x100d64bd
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], edi
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [esi]
mov ecx, dword [esi + 0x38]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0x102]
call dword [section..00cfg]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call ecx
mov edi, eax
cmp dword [esi + 0x14], 0
jne 0x100d6473
mov eax, dword [esi + 0x3c]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
test edi, edi
je 0x100d6499
mov dword [esp], edi
call fcn.100b1140
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.nss3.dll_PR_SetError
xor edi, edi
dec edi
jmp 0x100d649b
xor edi, edi
dec edi
jmp 0x100d64a9
xor edi, edi
lock dec dword [esi + 0x48]
jne 0x100d64a9
mov dword [esp], esi
call fcn.100d1c70
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014dc80
mov eax, edi
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov edi, eax
jmp 0x100d6424
Function at 0x100d64e0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov ecx, dword [ebp + 8]
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [ebp - 0x10], eax
lea edi, [ecx + 0xf9]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
cmp eax, 0x20
mov ebx, 0x20
cmovb ebx, eax
lea eax, [ebp - 0x30]
push ebx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp esi, 0x1f
ja 0x100d653e
lea eax, [ebx + ebp]
add eax, 0xffffffd0
mov ecx, 0x20
sub ecx, ebx
push ecx
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ebx, dword [ebp + 8]
mov edi, dword [ebx + 0x3c]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100d661a
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov eax, dword [ebx]
mov esi, dword [ebx + 0x40]
mov ecx, dword [eax + 0x3a]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov dword [ebx + 0x38], 0
mov eax, dword [ebx]
mov esi, dword [eax + 0x26]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x100d659b
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, eax
jmp 0x100d659d
xor edi, edi
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x40]
mov ecx, esi
call dword [section..00cfg]
lea eax, [ebp - 0x30]
push eax
push edi
push dword [ebp + 0xc]
push ebx
mov edi, dword [ebp + 8]
call esi
add esp, 0x10
mov esi, eax
sub esp, 4
push edi
call fcn.100d3c80
add esp, 8
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x100d65f2
push esi
call fcn.100b1140
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
jmp 0x100d6606
mov eax, dword [edi + 0x13c]
push eax
push dword [eax + 0x28]
call fcn.100a5b10
add esp, 8
xor esi, esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014dc80
mov eax, esi
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov esi, eax
jmp 0x100d655a
Function at 0x100d6800
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 + 0x20]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x100d68f2
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 + 0x20]
mov esi, dword [edi + 0x24]
lea ecx, [esi - 1]
mov dword [edi + 0x24], ecx
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
cmp esi, 1
jne 0x100d68ea
mov eax, dword [edi + 0x50]
test eax, eax
je 0x100d686f
mov dword [edi + 0x50], 0
mov dword [esp], eax
call sym.nss3.dll_SECMOD_DestroyModule
mov esi, dword [edi + 0x2c]
test esi, esi
je 0x100d68a9
jle 0x100d68ea
xor ebx, ebx
mov eax, dword [edi + 0x28]
mov eax, dword [eax + ebx*4]
cmp dword [eax + 0x18], 0
jne 0x100d6894
mov dword [esp], eax
call fcn.100d3a20
mov eax, dword [edi + 0x28]
mov eax, dword [eax + ebx*4]
lock dec dword [eax + 0x48]
jne 0x100d68a2
mov dword [esp], eax
call fcn.100d1c70
inc ebx
cmp esi, ebx
jne 0x100d687a
jmp 0x100d68ea
cmp dword [edi + 8], 0
je 0x100d68b7
mov dword [esp], edi
call fcn.100be660
mov esi, dword [edi + 0x20]
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 eax, dword [edi]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.nss3.dll_PORT_FreeArena_Util
dec dword [0x101df004]
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x100d682a

Function at 0x100d6920
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
push 8
call sym.nss3.dll_PORT_Alloc_Util
add esp, 4
test eax, eax
je 0x100d69b2
mov esi, eax
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x14], eax
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x100d69d1
mov edi, dword [ebp - 0x14]
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x10]
mov dword [edi + 8], eax
mov edi, dword [ebp + 0xc]
inc dword [edi + 0x24]
push dword [edi + 0x20]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov dword [esi + 4], edi
push dword [0x101df008]
call fcn.100dab60
mov edx, dword [ebp + 8]
add esp, 4
mov ecx, edx
mov eax, ebx
mov ecx, dword [ecx]
mov ebx, ecx
test ecx, ecx
jne 0x100d6996
test eax, eax
je 0x100d69b7
push 0
push esi
push eax
call fcn.100b3880
add esp, 0xc
jmp 0x100d69b9
xor eax, eax
dec eax
jmp 0x100d69c9
mov dword [edx], esi
push dword [0x101df008]
call fcn.100dac50
add esp, 4
xor eax, eax
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov dword [ebp - 0x10], eax
jmp 0x100d695c
Function at 0x100d69f0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x20]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov edi, eax
test eax, eax
je 0x100d6a40
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], edi
inc dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov edi, eax
jmp 0x100d6a16

Function at 0x100d6a60
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]
cmp dword [edi + 4], 0
je 0x100d6abb
cmp dword [0x101df00c], 0
jne 0x100d6abb
mov ebx, dword [edi + 0x20]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x100d6ad3
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], esi
inc dword [edi + 0x24]
mov eax, dword [edi + 0x20]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov dword [0x101df00c], edi
mov dword [esp + 4], edi
mov dword [esp], 0x101df014
call fcn.100d6920
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x100d6a95

Function at 0x100d6af0
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 eax, dword [0x101df010]
test eax, eax
je 0x100d6b13
test byte [edi + 0x58], 4
je 0x100d6b53
mov dword [esp], eax
call sym.nss3.dll_SECMOD_DestroyModule
mov ebx, dword [edi + 0x20]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100d6b6b
mov esi, eax
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], esi
inc dword [edi + 0x24]
mov eax, dword [edi + 0x20]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov dword [0x101df010], edi
mov dword [esp + 4], edi
mov dword [esp], 0x101df018
call fcn.100d6920
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100d6b2b
Function at 0x100d6bb0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, dword [0x101df008]
test eax, eax
je 0x100d6c15
mov edi, dword [ebp + 8]
mov dword [esp], eax
call fcn.100da9f0
mov ebx, dword [0x101df014]
test ebx, ebx
je 0x100d6bf1
mov esi, dword [ebx + 4]
mov eax, dword [esi + 0x14]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x100d6c2d
mov ebx, dword [ebx]
jmp 0x100d6bd3
mov ebx, dword [0x101df01c]
test ebx, ebx
je 0x100d6c69
mov esi, dword [ebx + 4]
mov eax, dword [esi + 0x14]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x100d6c2d
mov ebx, dword [ebx]
jmp 0x100d6bf7
mov dword [esp + 4], 0
mov dword [esp], 0xffffe09a
call sym.nss3.dll_PR_SetError
xor esi, esi
jmp 0x100d6c78
mov ebx, dword [esi + 0x20]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov edi, eax
test eax, eax
je 0x100d6c82
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], edi
inc dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
jmp 0x100d6c6b
xor esi, esi
mov eax, dword [0x101df008]
mov dword [esp], eax
call fcn.100daad0
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov edi, eax
jmp 0x100d6c47

Function at 0x100d6ca0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, dword [0x101df008]
test eax, eax
je 0x100d6ce9
push eax
call fcn.100da9f0
add esp, 4
mov eax, dword [0x101df014]
test eax, eax
je 0x100d6cd2
mov ecx, dword [ebp + 8]
mov esi, dword [eax + 4]
cmp dword [esi + 0x38], ecx
je 0x100d6d01
mov eax, dword [eax]
test eax, eax
jne 0x100d6cc4
push dword [0x101df008]
call fcn.100daad0
add esp, 4
push 0
push 0xffffe040
jmp 0x100d6cf0
push 0
push 0xffffe09a
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
mov eax, esi
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [esi + 0x20]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100d6d41
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
inc dword [esi + 0x24]
push dword [esi + 0x20]
call sym.nss3.dll_PR_Unlock
add esp, 4
push dword [0x101df008]
call fcn.100daad0
add esp, 4
jmp 0x100d6cfa
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov edi, eax
jmp 0x100d6d16
Function at 0x100d6d60
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, dword [0x101df008]
mov dword [esp], eax
call fcn.100da9f0
mov eax, dword [0x101df014]
test eax, eax
je 0x100d6d94
mov ecx, dword [ebp + 8]
mov esi, dword [eax + 4]
test esi, esi
je 0x100d6d8e
cmp dword [esi + 0x1c], ecx
je 0x100d6db9
mov eax, dword [eax]
test eax, eax
jne 0x100d6d82
mov eax, dword [0x101df008]
mov dword [esp], eax
call fcn.100daad0
mov dword [esp + 4], 0
mov dword [esp], 0xffffe040
call sym.nss3.dll_PR_SetError
xor esi, esi
jmp 0x100d6e00
mov ebx, dword [esi + 0x20]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov edi, eax
test eax, eax
je 0x100d6e0a
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], edi
inc dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov eax, dword [0x101df008]
mov dword [esp], eax
call fcn.100daad0
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov edi, eax
jmp 0x100d6dd3
Function at 0x100d7530
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]
cmp dword [ebp + 0xc], 0
je 0x100d7587
mov ebx, dword [edi + 0x20]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x100d75d0
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 + 0x20]
mov esi, dword [edi + 0x2c]
lea ecx, [esi - 1]
mov dword [edi + 0x2c], ecx
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
cmp esi, 1
jne 0x100d75c8
cmp dword [edi + 8], 0
je 0x100d7595
mov dword [esp], edi
call fcn.100be660
mov esi, dword [edi + 0x20]
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 eax, dword [edi]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.nss3.dll_PORT_FreeArena_Util
dec dword [0x101df004]
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x100d755c
Function at 0x100d7d90
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov edi, dword [ebp + 8]
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ebx, dword [edi + 0x20]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100d7e5d
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov ecx, dword [edi + 0x68]
mov eax, ecx
or eax, 1
mov dword [edi + 0x68], eax
test cl, 4
jne 0x100d7deb
xor esi, esi
test cl, 2
je 0x100d7e2b
and eax, 0xfffffffd
mov dword [edi + 0x68], eax
jmp 0x100d7e2b
cmp byte [0x101dee70], 1
jne 0x100d7dfd
push 0
push 0xffffe001
jmp 0x100d7e20
mov eax, dword [edi + 0x1c]
mov ecx, dword [eax + 6]
call dword [section..00cfg]
push 0
call ecx
add esp, 4
test eax, eax
je 0x100d7e4a
push eax
call fcn.100b1140
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
push dword [edi + 0x20]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014dc80
mov eax, esi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebp - 0x14]
push eax
push 0
push edi
call fcn.100bd850
add esp, 0xc
xor esi, esi
jmp 0x100d7e2b
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov esi, eax
jmp 0x100d7dbf
Function at 0x100d7ef0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
je 0x100d7f16
cmp dword [eax + 0xc], 0
je 0x100d7f16
mov dword [ebp - 0x10], 0x7f
mov esi, 0x65
jmp 0x100d7f22
mov dword [ebp - 0x10], 0x64
mov esi, 4
push dword [eax + 0x38]
call fcn.100d6ca0
add esp, 4
test eax, eax
je 0x100d7f80
mov ebx, eax
push esi
push eax
call fcn.100d6e20
add esp, 8
mov edi, eax
push ebx
call sym.nss3.dll_SECMOD_DestroyModule
add esp, 4
test edi, edi
je 0x100d7f80
mov ecx, edi
xor edx, edx
inc edx
call fcn.100d4740
mov ebx, eax
lock dec dword [edi + 0x48]
jne 0x100d7f67
push edi
call fcn.100d1c70
add esp, 4
test ebx, ebx
je 0x100d7f80
inc esi
cmp dword [ebp - 0x10], esi
mov eax, dword [ebp + 8]
jne 0x100d7f22
push 0
push 0xffffe043
jmp 0x100d80b6
xor ebx, ebx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x2c], 0
je 0x100d80c0
mov eax, dword [eax + 0x28]
mov edi, dword [eax]
lock inc dword [edi + 0x48]
test edi, edi
je 0x100d80c0
push 0x5d
push 0x3e
push dword [ebp + 0xc]
call fcn.100e6a20
add esp, 0xc
test eax, eax
je 0x100d808a
mov ebx, eax
push eax
push esi
push str.tokens_0x_x__s__
call sym.nss3.dll_PR_smprintf
add esp, 0xc
mov dword [ebp - 0x10], eax
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x100d80a0
mov ebx, ecx
mov ecx, edi
mov edx, 0xce534355
push ebx
call fcn.100d80f0
add esp, 4
mov dword [ebp - 0x14], eax
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lock dec dword [edi + 0x48]
jne 0x100d800e
push edi
call fcn.100d1c70
add esp, 4
cmp dword [ebp - 0x14], 0
jne 0x100d80be
push esi
push dword [ebp + 8]
call fcn.100d6e20
add esp, 8
test eax, eax
mov ebx, 0
je 0x100d80c0
mov ebx, eax
mov eax, dword [eax + 0x13c]
test eax, eax
je 0x100d807e
mov esi, dword [eax + 0x14]
test esi, esi
je 0x100d807e
mov dword [ebp - 0x10], ebx
mov ebx, dword [esi + 0x4c]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100d80ca
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov dword [esi + 0x3c], 0
push dword [esi + 0x4c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov ebx, dword [ebp - 0x10]
xor edx, edx
inc edx
mov ecx, ebx
call fcn.100d4740
jmp 0x100d80c0
lock dec dword [edi + 0x48]
mov ebx, 0
jne 0x100d80c0
push edi
call fcn.100d1c70
add esp, 4
jmp 0x100d80c0
lock dec dword [edi + 0x48]
jne 0x100d80af
push edi
call fcn.100d1c70
add esp, 4
push 0
push 0xffffe013
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
mov eax, ebx
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov edi, eax
jmp 0x100d805c