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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov esi, dword [ebp + 8]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x1007eb12
mov ebx, dword [esi + 0xe8]
test ebx, ebx
je 0x1007eb6a
lea eax, [ebx + 4]
cmp dword [ebx + 4], eax
jne 0x1007eb7e
mov edi, dword [0x101de28c]
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 0x1007eb27
lea eax, [edi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [edi + 8], esi
mov edi, dword [ebp + 8]
cmp dword [edi], 5
jne 0x1007ea7d
mov esi, dword [0x101de28c]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x1007eb3e
cmp dword [esi + 8], eax
jne 0x1007ea50
mov dword [esi + 8], 0
add esi, 0x1c
mov dword [esp], esi
call sym.nss3.dll__PR_MD_UNLOCK
xor eax, eax
inc eax
mov dword [edi], eax
mov ecx, dword [edi + 0x100]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0
call dword [sym.imp.kernel32.dll_ReleaseSemaphore]
sub esp, 0xc
xor eax, eax
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebx + 0x74]
mov dword [ebp - 0x10], eax
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 0x1007eb53
mov edi, dword [ebx]
cmp dword [edi + 8], esi
mov ecx, 0x1002
jne 0x1007eb01
mov eax, dword [esi + 0xe0]
and eax, ecx
cmp eax, 2
je 0x1007eb86
mov dword [esi + 0xd8], ebx
xor eax, eax
mov dword [edi + 8], eax
lea eax, [edi + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov dword [esp + 8], 0xffffffff
call sym.nss3.dll__PR_MD_WAIT_CV
xor eax, eax
mov dword [esi + 0xd8], eax
mov dword [edi + 8], esi
mov eax, dword [esi + 0xe0]
mov ecx, 0x1002
and eax, ecx
cmp eax, 2
je 0x1007eb86
mov edi, dword [ebp + 8]
cmp dword [edi], 5
je 0x1007ea1a
jmp 0x1007ea83
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x1007e9c5
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x1007ea00
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x1007ea39
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x1007ea9e
mov dword [esp + 4], 0
mov dword [esp], 0xffffe89d
call sym.nss3.dll_PR_SetError
xor eax, eax
dec eax
jmp 0x1007ea75
mov dword [esp + 4], 0
mov dword [esp], 0xffffe897
call sym.nss3.dll_PR_SetError
and byte [esi + 0xe0], 0xfd
jmp 0x1007eb01
Function at 0x1007ef00
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
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 0x1007ef8f
mov ebx, dword [ebp + 8]
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 0x1007efa6
lea eax, [ebx + 0x20]
mov dword [ebp - 0x10], eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 0xc], edi
xor edi, edi
cmp dword [ebx + 0x88], esi
je 0x1007efcc
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x1007efba
cmp dword [ebx + 0xc], eax
jne 0x1007ef85
mov dword [ebx + 0xc], 0
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym.nss3.dll__PR_MD_UNLOCK
mov eax, edi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x1007ef20
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov edi, eax
jmp 0x1007ef3a
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x1007ef6e
mov edi, dword [ebx + 0x194]
jmp 0x1007ef59

Function at 0x1007f030
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
cmp dword [0x101de200], 0
je 0x1007f10d
mov ebx, dword [ebp + 8]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1007f0f0
cmp ebx, 0x80
jae 0x1007f117
mov edi, dword [esi + 0x24]
test edi, edi
je 0x1007f0b9
cmp dword [esi + 0x20], ebx
jbe 0x1007f0b9
mov ecx, ebx
mov ebx, dword [edi + ebx*4]
test ebx, ebx
jne 0x1007f090
mov ebx, ecx
mov eax, dword [ebp + 0xc]
mov dword [edi + ebx*4], eax
xor eax, eax
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x101dec30]
cmp dword [eax + ecx*4], 0
je 0x1007f07e
mov dword [edi + ecx*4], 0
mov ecx, dword [eax + ecx*4]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov edi, dword [esi + 0x24]
mov ebx, dword [ebp + 8]
jmp 0x1007f080
movzx eax, byte [0x101dec34]
mov dword [ebp - 0x10], eax
shl eax, 9
push eax
push 1
call dword [sym.imp.mozglue.dll_calloc]
add esp, 8
test eax, eax
je 0x1007f12e
test edi, edi
jne 0x1007f137
mov ecx, dword [ebp - 0x10]
movzx ecx, cl
and ecx, 1
shl ecx, 7
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], eax
mov edi, eax
jmp 0x1007f080
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov esi, eax
jmp 0x1007f05d
call fcn.100745f0
jmp 0x1007f044
push 0
push 0xffffe8ac
call sym.nss3.dll_PR_SetError
add esp, 8
xor eax, eax
dec eax
jmp 0x1007f088
push 0
push 0xffffe890
jmp 0x1007f11e
mov ecx, dword [esi + 0x20]
shl ecx, 2
push ecx
push edi
push eax
mov edi, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [esi + 0x24]
call dword [sym.imp.mozglue.dll_free]
mov eax, edi
add esp, 4
mov dword [esi + 0x24], 0
mov cl, byte [0x101dec34]
jmp 0x1007f0dd
Function at 0x1007f170
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
test eax, eax
je 0x1007f24e
test esi, esi
je 0x1007f25c
mov edi, eax
cmp eax, 3
jb 0x1007f24a
mov dword [ebp - 0x18], esi
mov eax, esi
mov dword [ebp - 0x14], edi
movzx esi, byte [ebx]
movzx edx, byte [ebx + 1]
mov ecx, esi
shr esi, 2
mov edi, eax
mov al, byte [esi + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ebp - 0xd], al
movzx esi, byte [ebx + 2]
mov al, byte [ebp - 0xd]
mov byte [edi], al
mov eax, edi
shl ecx, 0x10
shl edx, 8
or ecx, edx
shr ecx, 0xc
and ecx, 0x3f
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi + 1], cl
or edx, esi
shr edx, 6
and edx, 0x3f
mov cl, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi + 2], cl
and esi, 0x3f
mov cl, byte [esi + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi + 3], cl
add ebx, 3
add eax, 4
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffffd
mov dword [ebp - 0x14], ecx
cmp ecx, 2
ja 0x1007f1a5
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
cmp edi, 1
jne 0x1007f267
movzx ecx, byte [ebx]
shr ecx, 2
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [eax], cl
movzx ecx, byte [ebx]
shl ecx, 4
and ecx, 0x30
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [eax + 1], cl
mov word [eax + 2], 0x3d3d
mov eax, esi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, esi
jmp 0x1007f215
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
jmp 0x1007f18a
cmp eax, 0xbffffffd
jbe 0x1007f2ab
xor esi, esi
jmp 0x1007f240
cmp edi, 2
jne 0x1007f240
movzx ecx, byte [ebx]
shr ecx, 2
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [eax], cl
movzx ecx, byte [ebx]
shl ecx, 4
and ecx, 0x30
movzx edx, byte [ebx + 1]
shr edx, 4
mov cl, byte [ecx + edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [eax + 1], cl
movzx ecx, byte [ebx + 1]
and ecx, 0xf
mov cl, byte [ecx*4 + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [eax + 2], cl
mov byte [eax + 3], 0x3d
jmp 0x1007f240
mov edi, eax
add eax, 2
mov ecx, 0xaaaaaaab
mul ecx
add edx, edx
and edx, 0xfffffffc
mov dword [ebp - 0x14], edx
lea eax, [edx + 1]
push eax
call sym.nss3.dll_PR_Malloc
add esp, 4
test eax, eax
mov esi, 0
je 0x1007f240
mov ecx, dword [ebp - 0x14]
mov byte [eax + ecx], 0
mov esi, eax
mov eax, edi
jmp 0x1007f192

Function at 0x1007fc50
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x28
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [ebp - 8], eax
lea esi, [ebp - 0x2c]
push esi
call dword [sym.imp.kernel32.dll_GetSystemInfo]
mov esi, dword [esi + 0x14]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1014dc80
mov eax, esi
add esp, 0x28
pop esi
pop ebp
ret
Function at 0x1007fc80
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x48
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [esp + 0x44], eax
mov eax, esp
mov dword [eax], 0x40
push eax
call dword [sym.imp.kernel32.dll_GlobalMemoryStatusEx]
mov esi, eax
mov edi, eax
test eax, eax
je 0x1007fcb5
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 8]
mov ecx, dword [esp + 0x44]
xor ecx, ebp
call fcn.1014dc80
mov eax, edi
mov edx, esi
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret

Function at 0x10082a40
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 + 0x14]
mov ebx, dword [ebp + 8]
cmp dword [ebp + 0x10], ebx
sbb eax, dword [ebp + 0xc]
jge 0x10082a6d
push 0
push 0xffffe005
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
jmp 0x10082b6e
push 0x800
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
xor esi, esi
test eax, eax
je 0x10082b6e
mov edi, eax
push 0x1c
push eax
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
test eax, eax
je 0x10082b6e
mov esi, eax
mov dword [ebp - 0x14], eax
lea ecx, [eax + 4]
xor eax, eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x14], eax
xorps xmm0, xmm0
movups xmmword [esi + 4], xmm0
mov dword [esi], edi
push dword [ebp + 0xc]
push ebx
mov dword [ebp - 0x10], ecx
push ecx
push edi
call fcn.100d8e20
add esp, 0x10
test eax, eax
je 0x10082b05
cmp dword [0x101de200], 0
je 0x10082bab
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10082b78
cmp dword [eax + 0x28], 0xffffe005
jne 0x10082b5b
push dword [ebp + 0xc]
push ebx
push dword [ebp - 0x10]
push edi
call fcn.100d9480
add esp, 0x10
test eax, eax
jne 0x10082b5b
mov eax, dword [ebp - 0x14]
add eax, 0x10
push dword [ebp + 0x14]
push dword [ebp + 0x10]
mov ebx, eax
push eax
push edi
call fcn.100d8e20
add esp, 0x10
test eax, eax
je 0x10082b6e
cmp dword [0x101de200], 0
je 0x10082bb5
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10082b93
cmp dword [eax + 0x28], 0xffffe005
jne 0x10082b5b
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push edi
call fcn.100d9480
add esp, 0x10
test eax, eax
je 0x10082b6e
mov eax, dword [esi]
xor esi, esi
test eax, eax
je 0x10082b6e
push 0
push eax
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
mov eax, esi
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
jmp 0x10082ae8
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10082b3e
call fcn.100745e0
jmp 0x10082ad4
call fcn.100745e0
jmp 0x10082b2e
Function at 0x10083d70
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
xor edi, edi
dec edi
cmp dword [0x101dec58], 0
je 0x10083e3d
mov eax, dword [ebp + 0xc]
add eax, 0x3c
push eax
call sym.nss3.dll_SECITEM_DupItem_Util
add esp, 4
test eax, eax
je 0x10083e2e
mov esi, eax
push dword [ebp + 8]
call sym.nss3.dll_SECITEM_DupItem_Util
add esp, 4
test eax, eax
je 0x10083e23
mov dword [ebp - 0x10], eax
mov ebx, dword [0x101dec58]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x10083e47
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov edi, dword [ebp + 8]
push edi
push dword [0x101dec54]
call sym.nss3.dll_PL_HashTableLookup
add esp, 8
test eax, eax
je 0x10083dfc
push edi
push dword [0x101dec54]
call sym.nss3.dll_PL_HashTableRemove
add esp, 8
push esi
push dword [ebp - 0x10]
push dword [0x101dec54]
call sym.nss3.dll_PL_HashTableAdd
add esp, 0xc
cmp eax, 1
sbb edi, edi
push dword [0x101dec58]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x10083e3d
push 1
push esi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
push 0
push 0xffffe013
call sym.nss3.dll_PR_SetError
add esp, 8
mov eax, edi
add esp, 4
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 0x10083dca
Function at 0x10084820
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x10
cmp dword [0x101dec54], 0
je 0x100848aa
mov edi, dword [0x101dec58]
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 0x10084931
lea eax, [edi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [edi + 8], esi
mov eax, dword [0x101dec54]
mov dword [esp], eax
call sym.nss3.dll_PL_HashTableDestroy
xor esi, esi
mov dword [0x101dec54], esi
mov eax, dword [0x101dec58]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov edi, dword [0x101dec58]
lea eax, [edi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
sub esp, 4
mov dword [esp], edi
call dword [sym.imp.mozglue.dll_free]
mov dword [0x101dec58], esi
cmp dword [0x101dec4c], 0
je 0x10084928
mov edi, dword [0x101dec50]
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 0x10084948
lea eax, [edi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [edi + 8], esi
mov eax, dword [0x101dec4c]
mov dword [esp], eax
call sym.nss3.dll_PL_HashTableDestroy
xor esi, esi
mov dword [0x101dec4c], esi
mov eax, dword [0x101dec50]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov edi, dword [0x101dec50]
lea eax, [edi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
sub esp, 4
mov dword [esp], edi
call dword [sym.imp.mozglue.dll_free]
mov dword [0x101dec50], esi
xor eax, eax
add esp, 0x10
pop esi
pop edi
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x10084852
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x100848d0
Function at 0x10084960
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
xor ebx, ebx
dec ebx
cmp dword [0x101dec50], 0
je 0x10084a61
push dword [ebp + 8]
call sym.nss3.dll_SECITEM_DupItem_Util
add esp, 4
mov esi, eax
xor eax, eax
push 4
push eax
push eax
call sym.nss3.dll_SECITEM_AllocItem_Util
add esp, 0xc
mov edi, eax
test esi, esi
je 0x10084a34
test edi, edi
je 0x10084a34
mov dword [ebp - 0x10], esi
mov eax, dword [ebp + 0xc]
mov ecx, dword [edi + 4]
mov dword [ecx], eax
mov eax, dword [0x101dec50]
mov dword [ebp - 0x14], eax
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov ebx, eax
test eax, eax
je 0x10084a6b
mov esi, dword [ebp - 0x14]
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [esi + 8], ebx
mov ebx, dword [ebp + 8]
push ebx
push dword [0x101dec4c]
call sym.nss3.dll_PL_HashTableLookup
add esp, 8
test eax, eax
je 0x10084a04
push ebx
push dword [0x101dec4c]
call sym.nss3.dll_PL_HashTableRemove
add esp, 8
push edi
mov esi, dword [ebp - 0x10]
push esi
push dword [0x101dec4c]
call sym.nss3.dll_PL_HashTableAdd
add esp, 0xc
mov ebx, eax
push dword [0x101dec50]
call sym.nss3.dll_PR_Unlock
add esp, 4
xor eax, eax
test ebx, ebx
mov ebx, 0xffffffff
jne 0x10084a63
jmp 0x10084a43
push 0
push 0xffffe013
call sym.nss3.dll_PR_SetError
add esp, 8
test esi, esi
je 0x10084a52
push 1
push esi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
test edi, edi
je 0x10084a61
push 1
push edi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
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 ebx, eax
jmp 0x100849cf

Function at 0x10084a90
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [0x101dec50]
test edi, edi
je 0x10084af2
mov ebx, dword [ebp + 8]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10084b16
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
push ebx
push dword [0x101dec4c]
call sym.nss3.dll_PL_HashTableLookup
add esp, 8
mov esi, eax
push dword [0x101dec50]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x10084afb
cmp dword [esi + 8], 4
jne 0x10084aff
mov eax, dword [esi + 4]
mov eax, dword [eax]
jmp 0x10084b11
push 0
push 0xffffe09a
jmp 0x10084b06
xor eax, eax
jmp 0x10084b11
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
xor eax, eax
dec eax
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 0x10084ab5
Function at 0x10084b30
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov edi, dword [0x101dec58]
test edi, edi
je 0x10084b90
mov ebx, dword [ebp + 8]
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 0x10084bad
lea eax, [edi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [edi + 8], esi
mov eax, dword [0x101dec54]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym.nss3.dll_PL_HashTableLookup
test eax, eax
je 0x10084b94
mov dword [esp], eax
call sym.nss3.dll_SECITEM_DupItem_Util
mov esi, eax
jmp 0x10084b96
xor esi, esi
jmp 0x10084ba3
xor esi, esi
mov eax, dword [0x101dec58]
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 esi, eax
jmp 0x10084b5d

Function at 0x10084bd0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [0x101dec58]
test edi, edi
je 0x10084c5d
mov ebx, dword [ebp + 0xc]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10084c64
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
push ebx
push dword [0x101dec54]
call sym.nss3.dll_PL_HashTableLookup
add esp, 8
test eax, eax
je 0x10084c4f
push eax
call sym.nss3.dll_SECITEM_DupItem_Util
add esp, 4
mov esi, eax
push dword [0x101dec58]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x10084c5d
push esi
push dword [ebp + 8]
call sym.nss3.dll_CERT_FindCertByDERCert
add esp, 8
mov edi, eax
push 1
push esi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov eax, edi
jmp 0x10084c5f
push dword [0x101dec58]
call sym.nss3.dll_PR_Unlock
add esp, 4
xor eax, eax
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 0x10084bf5
Function at 0x10084f50
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x10
mov eax, dword [ebp + 8]
mov ecx, dword [0x101db014]
xor ecx, ebp
mov dword [ebp - 8], ecx
mov eax, dword [eax + 0x114]
test eax, eax
je 0x10084fae
lea ecx, [ebp - 0x14]
mov dword [ecx + 4], 0
push ecx
push 0x51
push eax
call fcn.10085520
add esp, 0xc
cmp eax, 0xffffffff
je 0x10084fb2
mov ebx, eax
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x10084f9a
mov cl, byte [ebp + 0xc]
test byte [eax], cl
jne 0x10084fd9
push 0
push 0xffffe026
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
jmp 0x10084fd9
xor ebx, ebx
jmp 0x10084fea
cmp dword [0x101de200], 0
je 0x10085014
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10084ffc
xor ebx, ebx
cmp dword [eax + 0x28], 0xffffe023
setne bl
neg ebx
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x10084fea
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1014dc80
mov eax, ebx
add esp, 0x10
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10084fcb
call fcn.100745e0
jmp 0x10084fbb
Function at 0x10087840
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]
test ebx, ebx
je 0x100878cd
mov edi, dword [ebx + 0x10]
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 0x100878d5
lea eax, [edi + 0x1c]
mov dword [ebp - 0x10], eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [edi + 8], esi
mov eax, dword [ebx + 8]
lea ecx, [eax - 1]
mov dword [ebx + 8], ecx
cmp eax, 1
jg 0x100878c5
mov eax, dword [ebx]
test eax, eax
je 0x100878c5
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.nss3.dll_PORT_FreeArena_Util
mov dword [esp], edi
call sym.nss3.dll_PR_Unlock
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
sub esp, 4
mov dword [esp], edi
call dword [sym.imp.mozglue.dll_free]
jmp 0x100878cd
mov dword [esp], edi
call sym.nss3.dll_PR_Unlock
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x1008786a