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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov edi, dword [0x101f3000]
test edi, edi
je 0x1007cea0
mov ebx, dword [ebp + 8]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x1007cebd
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 [0x101f2ffc]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym.nss3.dll_PL_HashTableLookup
test eax, eax
je 0x1007cea4
mov dword [esp], eax
call sym.nss3.dll_SECITEM_DupItem_Util
mov esi, eax
jmp 0x1007cea6
xor esi, esi
jmp 0x1007ceb3
xor esi, esi
mov eax, dword [0x101f3000]
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 [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x1007ce6d

Function at 0x1007cee0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [0x101f3000]
test edi, edi
je 0x1007cf6d
mov ebx, dword [ebp + 0xc]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1007cf74
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
push ebx
push dword [0x101f2ffc]
call sym.nss3.dll_PL_HashTableLookup
add esp, 8
test eax, eax
je 0x1007cf5f
push eax
call sym.nss3.dll_SECITEM_DupItem_Util
add esp, 4
mov esi, eax
push dword [0x101f3000]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x1007cf6d
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 0x1007cf6f
push dword [0x101f3000]
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 [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x1007cf05
Function at 0x1007d270
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 [0x101ef014]
xor ecx, ebp
mov dword [ebp - 8], ecx
mov eax, dword [eax + 0x114]
test eax, eax
je 0x1007d2d4
lea ecx, [ebp - 0x14]
mov dword [ecx + 4], 0
push ecx
push 0x51
push eax
call fcn.1007d830
add esp, 0xc
cmp eax, 0xffffffff
je 0x1007d2d8
mov ebx, eax
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x1007d2c0
cmp dword [ebp - 0xc], 0
je 0x1007d2c0
mov cl, byte [ebp + 0xc]
test byte [eax], cl
jne 0x1007d2ff
push 0
push 0xffffe026
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
jmp 0x1007d2ff
xor ebx, ebx
jmp 0x1007d310
cmp dword [0x101f2f50], 0
je 0x1007d33a
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1007d322
xor ebx, ebx
cmp dword [eax + 0x28], 0xffffe023
setne bl
neg ebx
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x1007d310
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10156ff0
mov eax, ebx
add esp, 0x10
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x1007d2f1
call fcn.100029d0
jmp 0x1007d2e1
Function at 0x1007fb40
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 0x1007fbcd
mov edi, dword [ebx + 0x10]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x1007fbd5
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 0x1007fbc5
mov eax, dword [ebx]
test eax, eax
je 0x1007fbc5
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 0x1007fbcd
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 [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x1007fb6a
Function at 0x10080eb0
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 + 0x18]
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0xc], 0
je 0x10080fb2
mov eax, dword [ebp + 8]
lea ebx, [ebp - 0x1c]
push ebx
push 0x56
push dword [eax + 0x114]
call fcn.1007d350
add esp, 0xc
test eax, eax
je 0x10080f69
mov edi, eax
cmp dword [0x101f2f50], 0
je 0x10081081
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1008104b
cmp dword [eax + 0x28], 0xffffe023
jne 0x10081024
mov eax, dword [ebp + 8]
lea esi, [eax + 0x54]
push 0x101b9180
push esi
call sym.nss3.dll_SECITEM_HashCompare
add esp, 8
xor ecx, ecx
test eax, eax
jne 0x10080f4a
push 0x101b9198
push esi
call sym.nss3.dll_SECITEM_HashCompare
add esp, 8
test eax, eax
je 0x10080fb8
xor ecx, ecx
inc ecx
lea eax, [ecx + ecx*2]
lea eax, [eax*8 + 0x101b918c]
push eax
push ebx
push 0
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
mov edi, eax
test eax, eax
mov esi, dword [ebp + 0x18]
jne 0x10080fcd
mov eax, dword [ebp + 0x14]
mov edi, ebx
mov ebx, eax
push eax
call sym.nss3.dll_PORT_ArenaMark_Util
add esp, 4
mov dword [ebp - 0x20], eax
push edi
push ebx
call fcn.1007ffe0
add esp, 8
mov ebx, eax
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10080f99
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
test ebx, ebx
jne 0x10080ff5
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x20]
push 0
call fcn.100dbe30
add esp, 4
xor edi, edi
dec edi
jmp 0x10081024
xor edi, edi
xor eax, eax
jmp 0x10081031
push 0
push 0xffffe023
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
mov esi, dword [ebp + 0x18]
cmp dword [0x101f2f50], 0
je 0x1008108b
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10081066
xor ebx, ebx
cmp dword [eax + 0x28], 0xffffe023
jne 0x10081024
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
test ebx, ebx
je 0x10081010
push esi
push ebx
push dword [ebp + 0x14]
call sym.nss3.dll_CERT_CheckNameSpace
add esp, 0xc
test eax, eax
jne 0x10081029
mov esi, dword [esi + 0x28]
add esi, 0xffffffd8
add edi, 4
cmp esi, dword [ebp + 0xc]
jne 0x10080ffb
xor edi, edi
xor eax, eax
jmp 0x1008102e
mov eax, dword [ebp + 8]
jmp 0x10081031
mov eax, dword [edi]
xor edi, edi
dec edi
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x10081037
mov dword [esi], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, edi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x10080f0e
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x10080fea
call fcn.100029d0
jmp 0x10080efa
call fcn.100029d0
jmp 0x10080fda
Function at 0x100825e0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
call sym.nss3.dll_CERT_FindCertByNickname
test eax, eax
je 0x10082663
mov esi, eax
mov eax, dword [ebp + 0xc]
mov ecx, esi
add ecx, 0x54
mov dword [esp + 4], ecx
mov dword [esp], eax
call sym.nss3.dll_SECITEM_HashCompare
test eax, eax
sete al
mov dword [ebp - 0x10], eax
mov ebx, dword [0x101f2ff0]
test ebx, ebx
je 0x10082667
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov edi, eax
test eax, eax
je 0x1008269f
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], edi
mov eax, dword [0x101f2ff0]
mov edi, dword [esi + 0x15c]
test eax, eax
je 0x1008266d
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
jmp 0x1008266d
xor ebx, ebx
jmp 0x10082694
mov edi, dword [esi + 0x15c]
mov ebx, dword [ebp - 0x10]
test edi, edi
je 0x1008267e
mov dword [esp], edi
call fcn.100986e0
jmp 0x10082694
mov eax, dword [esi]
test eax, eax
je 0x10082694
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.nss3.dll_PORT_FreeArena_Util
movzx eax, bl
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov edi, eax
jmp 0x10082638
Function at 0x100828f0
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 0x10082976
mov ebx, dword [0x101f2ff0]
test ebx, ebx
je 0x1008294c
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x1008297e
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 [0x101f2ff0]
mov esi, dword [edi + 0x15c]
test eax, eax
je 0x10082952
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
jmp 0x10082952
mov esi, dword [edi + 0x15c]
test esi, esi
je 0x10082960
mov dword [esp], esi
call fcn.100986e0
jmp 0x10082976
mov eax, dword [edi]
test eax, eax
je 0x10082976
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x10082921

Function at 0x100829a0
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 ebx, dword [0x101f3070]
push edi
call fcn.1009a930
add esp, 4
test eax, eax
je 0x10082a5a
mov esi, eax
push edi
push eax
call fcn.10099de0
add esp, 8
test eax, eax
mov edi, ebx
je 0x10082a00
push esi
push edi
call fcn.1009fa60
add esp, 8
test eax, eax
je 0x10082a00
mov ebx, eax
push esi
call fcn.1009b1b0
add esp, 4
test eax, eax
je 0x100829f7
call fcn.10082b10
push ebx
call fcn.1009b640
add esp, 4
push 1
push 0
push esi
call fcn.1009b7d0
add esp, 0xc
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x10], edi
mov edi, dword [eax]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov ebx, eax
test eax, eax
je 0x10082a65
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], ebx
push esi
mov esi, dword [ebp - 0x10]
push esi
call fcn.1009dde0
add esp, 8
mov eax, dword [esi + 0x14]
push dword [eax]
call sym.nss3.dll_PR_Unlock
add esp, 4
xor eax, eax
neg dword [ebp - 0x14]
sbb eax, eax
jmp 0x10082a5d
xor eax, eax
dec eax
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov ebx, eax
jmp 0x10082a2a
Function at 0x10082a80
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 [0x101f2fec]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x10082af6
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], esi
xor esi, esi
dec esi
test edi, edi
je 0x10082adf
mov eax, dword [edi + 0x160]
test eax, eax
je 0x10082adf
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
xor esi, esi
mov eax, dword [0x101f2fec]
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 [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x10082aa9
Function at 0x10083710
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
xor edx, edx
pop ebp
jmp fcn.10083720

Function at 0x100839c0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
pop ebp
jmp fcn.10083720

Function at 0x100839d0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x10
mov esi, edx
mov edi, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov edx, dword [0x101ef014]
xor edx, ebp
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
cmp dword [ebp + 8], 0
je 0x10083a10
push 0
push ecx
push eax
push esi
call sym.nss3.dll_CERT_CheckCertValidTimes
add esp, 0x10
test eax, eax
jne 0x10083a26
mov eax, esp
push eax
push 0x1007c3d0
push esi
push edi
call fcn.1007c5c0
add esp, 0x10
test eax, eax
je 0x10083a8f
mov ebx, dword [0x101f2ff0]
test ebx, ebx
je 0x10083a69
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x10083aa2
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov eax, dword [0x101f2ff0]
mov edi, dword [esi + 0x15c]
test eax, eax
je 0x10083a6f
push eax
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x10083a6f
mov edi, dword [esi + 0x15c]
test edi, edi
je 0x10083a7e
push edi
call fcn.100986e0
add esp, 4
jmp 0x10083a8f
mov eax, dword [esi]
test eax, eax
je 0x10083a8f
push 0
push eax
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
mov ecx, dword [esp + 8]
xor ecx, ebp
call fcn.10156ff0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov edi, eax
jmp 0x10083a42
Function at 0x10083ec0
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 0x10083f1b
mov ebx, dword [0x101f2ff0]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x10083f26
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 + 0x14c]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [0x101f2ff0]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
xor eax, eax
jmp 0x10083f1e
xor eax, eax
dec eax
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x10083eed
Function at 0x10089100
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x18
mov edi, dword [ebp + 0x18]
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [esp + 0x10], eax
test edi, edi
je 0x1008917f
mov ebx, ecx
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x1008917f
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x1008917f
mov dword [esp + 4], edx
mov dword [ecx], 0xffffffff
xor esi, esi
mov dword [eax], esi
mov dword [edi], esi
push dword [0x101f1570]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov ecx, ebx
call fcn.100892c0
test eax, eax
je 0x1008927a
mov ebx, eax
call sym.nss3.dll_PR_Now
cmp eax, dword [ebx + 0x10]
mov eax, 2
sbb edx, dword [ebx + 0x14]
jge 0x1008917b
cmp dword [ebx + 0x18], 0
je 0x10089196
cmp dword [ebx + 0x1c], 2
jne 0x10089196
xor ecx, ecx
jmp 0x1008919b
push 0
push 0xffffe005
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
jmp 0x10089288
xor eax, eax
inc eax
mov cl, 1
mov dword [edi], eax
cmp dword [ebx + 0x18], 0
je 0x100891ca
mov eax, dword [ebx + 0x1c]
cmp eax, 2
je 0x1008923a
cmp eax, 1
je 0x100891f2
test eax, eax
jne 0x10089241
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
jmp 0x1008927a
cmp dword [ebp + 0xc], 0
setne al
xor cl, 1
or cl, al
jne 0x100891ea
cmp dword [0x101f1598], 1
jne 0x100891ea
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov eax, dword [ebx + 0x24]
jmp 0x10089275
lea eax, [esp + 8]
push dword [ebx + 0x20]
push eax
call sym.nss3.dll_DER_GeneralizedTimeToTime_Util
add esp, 8
test eax, eax
jne 0x10089254
mov edi, dword [ebp + 8]
push 0
push 0xffffe00c
call sym.nss3.dll_PR_SetError
add esp, 8
mov eax, dword [esp + 4]
cmp eax, dword [esp + 8]
sbb edi, dword [esp + 0xc]
setge al
setge cl
movzx ecx, cl
neg ecx
mov edx, dword [ebp + 0x10]
mov dword [edx], ecx
test al, al
jne 0x10089259
jmp 0x1008927a
mov eax, 0xffffe07e
jmp 0x10089246
mov eax, 0xffffe081
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor eax, eax
dec eax
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
cmp dword [0x101f2f50], 0
je 0x100892b5
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1008929d
mov eax, dword [eax + 0x28]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
push dword [0x101f1570]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
mov ecx, dword [esp + 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x10089272
call fcn.100029d0
jmp 0x10089262
Function at 0x1008ceb0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
xor edi, edi
dec edi
cmp edx, 0x13
jg 0x1008cfa8
mov ebx, edx
mov esi, ecx
lea eax, [ecx + 0xd8]
push eax
call sym.nss3.dll_SECOID_FindOID_Util
add esp, 4
test eax, eax
je 0x1008cfa8
mov eax, dword [eax + 0xc]
xor edi, edi
cmp eax, 0xc7
jg 0x1008cefe
lea ecx, [eax - 0x7c]
cmp ecx, 3
jb 0x1008cf14
cmp eax, 0xbd
je 0x1008cf14
jmp 0x1008cfa8
lea ecx, [eax - 0x13a]
cmp ecx, 2
jb 0x1008cf14
cmp eax, 0xc8
jne 0x1008cfa8
cmp dword [esi + 0xec], 0
jne 0x1008cfa8
cmp dword [esi + 0x170], 0
je 0x1008cf2f
xor edi, edi
dec edi
jmp 0x1008cfa8
call sym.nss3.dll_PR_Now
push 0xb
push edx
push eax
push esi
call sym.nss3.dll_CERT_FindCertIssuer
add esp, 0x10
xor edi, edi
dec edi
test eax, eax
je 0x1008cfa8
mov dword [ebp - 0x10], eax
add eax, 0xd8
push eax
call sym.nss3.dll_SECOID_FindOID_Util
add esp, 4
xor edi, edi
dec edi
test eax, eax
je 0x1008cf9c
mov eax, dword [eax + 0xc]
cmp eax, 0xc7
jg 0x1008cf7b
lea ecx, [eax - 0x7c]
cmp ecx, 3
jb 0x1008cf8d
cmp eax, 0xbd
je 0x1008cf8d
jmp 0x1008cf9c
lea ecx, [eax - 0x13a]
cmp ecx, 2
jb 0x1008cf8d
cmp eax, 0xc8
jne 0x1008cf9c
inc ebx
mov ecx, dword [ebp - 0x10]
mov edx, ebx
call fcn.1008ceb0
test eax, eax
je 0x1008cfb2
mov ecx, dword [ebp - 0x10]
push ecx
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov eax, edi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0xec], 0
je 0x1008cf9f
lea eax, [esi + 0xe4]
mov ecx, dword [ebp - 0x10]
add ecx, 0xe4
push ecx
push eax
push dword [esi]
call sym.nss3.dll_SECITEM_CopyItem_Util
mov ecx, dword [ebp - 0x10]
add esp, 0xc
mov edi, eax
jmp 0x1008cf9f
Function at 0x10091fb0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
push 0x100921a0
push 0x101f3028
call sym.nss3.dll_PR_CallOnce
add esp, 8
xor esi, esi
dec esi
test eax, eax
jne 0x10092157
mov ebx, dword [0x101f3034]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x10092161
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov edi, dword [0x101f304c]
mov bl, byte [0x101f3048]
push dword [0x101f3034]
call sym.nss3.dll_PR_Unlock
add esp, 4
test bl, bl
jne 0x1009202b
test edi, edi
jne 0x1009202b
push 0
push 0xffffe09a
jmp 0x10092133
cmp dword [ebp + 8], 0
je 0x100920de
mov eax, dword [0x101f3038]
mov dword [ebp - 0x10], eax
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x1009217e
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 [0x101f3040]
test edi, edi
mov ebx, dword [ebp + 8]
jle 0x100920a6
xor ecx, ecx
mov eax, dword [0x101f3044]
mov edx, dword [ebp + 0xc]
cmp dword [eax + ecx*8], ebx
jne 0x10092089
cmp dword [eax + ecx*8 + 4], edx
je 0x1009211e
inc ecx
cmp edi, ecx
jne 0x1009207a
xor ecx, ecx
cmp dword [eax + ecx*8], 0
jne 0x100920a1
cmp dword [eax + ecx*8 + 4], 0
je 0x1009213d
inc ecx
cmp edi, ecx
jne 0x10092090
cmp dword [0x101f303c], edi
jne 0x100920e7
lea eax, [edi*8]
add eax, 0x50
js 0x100920ff
push eax
push dword [0x101f3044]
call dword [sym.imp.mozglue.dll_realloc]
add esp, 8
test eax, eax
je 0x100920ff
mov dword [0x101f3044], eax
lea ecx, [edi + 0xa]
mov dword [0x101f303c], ecx
jmp 0x100920ec
push 0
push 0xffffe005
jmp 0x10092133
mov eax, dword [0x101f3044]
mov dword [eax + edi*8], ebx
mov ecx, dword [ebp + 0xc]
mov dword [eax + edi*8 + 4], ecx
inc edi
mov dword [0x101f3040], edi
jmp 0x10092147
push 0
push 0xffffe013
call sym.nss3.dll_PR_SetError
add esp, 8
push dword [0x101f3038]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x10092157
push dword [0x101f3038]
call sym.nss3.dll_PR_Unlock
add esp, 4
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10092157
mov dword [eax + ecx*8], ebx
mov edx, dword [ebp + 0xc]
mov dword [eax + ecx*8 + 4], edx
push dword [0x101f3038]
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 [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov edi, eax
jmp 0x10091ff0
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov edi, eax
jmp 0x10092053