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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x6c
mov ebx, 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 edx, dword [ecx]
mov dword [ebp - 0x30], edx
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x14]
mov edi, dword [eax]
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 0x100a0723
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 [ebx + 0x14]
mov ebx, dword [eax + 8]
mov edi, dword [ebx + 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 0x100a073a
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 [ebx + 0xc]
lea ecx, [ebp - 0x68]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sym.nss3.dll_PL_HashTableLookup
mov edi, eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
xor esi, esi
test edi, edi
je 0x100a06ff
inc dword [edi + 4]
call sym.nss3.dll_PR_Now
mov dword [edi + 0xc], edx
mov dword [edi + 8], eax
mov eax, dword [edi]
test eax, eax
mov ecx, dword [ebp + 8]
je 0x100a0702
lock inc dword [eax + 4]
mov esi, eax
jmp 0x100a0702
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, esi
add esp, 0x6c
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov esi, eax
jmp 0x100a0673
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov esi, eax
jmp 0x100a06a9

Function at 0x100a12d0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
test eax, eax
je 0x100a12f7
cmp dword [eax + 0xc], 0
je 0x100a12f1
mov ecx, dword [eax + 8]
push dword [eax + 4]
push dword [ecx + 0x40]
call fcn.100cba60
add esp, 8
pop ebp
jmp fcn.10094350
xor eax, eax
pop ebp
ret
Function at 0x100a3ee0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x100a3f1d
cmp dword [esi + 8], ecx
je 0x100a3f1d
mov edx, esi
push 0x8a
push 0
call fcn.100a31d0
add esp, 8
mov edi, eax
test eax, eax
jne 0x100a3fbc
mov ebx, dword [esi + 8]
push dword [esi + 0x14]
push 1
push ebx
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
mov esi, dword [ebx + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100a3fd0
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [esi + 8], edi
mov eax, dword [ebx]
mov esi, dword [ebx + 0x38]
mov ecx, dword [eax + 0x56]
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0xc]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push eax
push 1
push 0x101bcf9c
push edi
push esi
call ecx
add esp, 0x14
mov edi, eax
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test edi, edi
je 0x100a3fa3
push edi
call fcn.100aaef0
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
jmp 0x100a3fbc
mov eax, dword [ebp + 0xc]
push dword [eax + 0x14]
push dword [ebp - 0x14]
push 1
push dword [eax + 4]
push ebx
call fcn.100a2340
add esp, 0x14
mov edi, eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, edi
add esp, 8
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 0x100a3f47
Function at 0x100a4480
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]
call sym.nss3.dll_PR_Now
mov esi, eax
cmp dword [edi + 0x12c], 0
je 0x100a44b1
mov dword [ebp - 0x10], edx
xor ebx, ebx
cmp dword [edi + 0x24], 0
mov eax, 0
jne 0x100a44d2
jmp 0x100a45ae
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x100a458f
mov dword [ebp - 0x10], edx
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp dword [edi + 0x24], 0
je 0x100a4598
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
mov esi, dword [edi + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100a45b8
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [esi + 8], edi
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov esi, dword [edi + 0x38]
mov ecx, dword [eax + 0x4e]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov eax, dword [edi]
mov esi, dword [edi + 0x38]
mov ecx, dword [eax + 0x4a]
call dword [section..00cfg]
push dword [ebp - 0x18]
push ebx
push 1
push esi
call ecx
add esp, 0x10
mov esi, eax
mov dword [edi + 0x134], 0
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
cmp esi, 0xa0
je 0x100a456b
test esi, esi
jne 0x100a4581
mov eax, edi
mov dword [edi + 0x68], 1
mov ecx, dword [ebp - 0x14]
mov dword [edi + 0x70], ecx
mov ecx, dword [ebp - 0x10]
mov dword [edi + 0x74], ecx
xor ebx, ebx
jmp 0x100a45ae
push 0
push 0xffffe00f
call sym.nss3.dll_PR_SetError
add esp, 8
mov ebx, 0xfffffffe
jmp 0x100a45ae
push esi
call fcn.100aaef0
add esp, 4
push 0
push eax
jmp 0x100a45a3
push 0
push 0xffffe005
jmp 0x100a45a3
test eax, eax
je 0x100a4567
push 0
push 0xffffe00f
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
mov eax, ebx
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 edi, eax
jmp 0x100a44f1

Function at 0x100a45e0
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 + 0x3c]
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 0x100a466d
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]
mov esi, dword [edi + 0x38]
mov ecx, dword [eax + 0x4e]
call dword [section..00cfg]
mov dword [esp], esi
call ecx
mov esi, eax
mov dword [edi + 0x134], 0
mov eax, dword [edi + 0x3c]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
test esi, esi
je 0x100a4663
mov dword [esp], esi
call fcn.100aaef0
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.nss3.dll_PR_SetError
xor eax, eax
dec eax
jmp 0x100a4665
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 0x100a4606
Function at 0x100a4690
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov edi, dword [ebp + 8]
cmp dword [edi + 0x24], 0
je 0x100a474e
mov esi, dword [edi + 0x60]
test byte [edi + 0x47], 0x20
jne 0x100a46c9
call sym.nss3.dll_PK11_GetInternalKeySlot
test eax, eax
je 0x100a46c9
mov esi, dword [eax + 0x60]
lock dec dword [eax + 0x48]
jne 0x100a46c9
mov dword [esp], eax
call fcn.100cb320
mov dword [esp], edi
call sym.nss3.dll_PK11_IsLoggedIn
test eax, eax
je 0x100a472e
cmp esi, 0xffffffff
jne 0x100a474e
mov ebx, dword [edi + 0x3c]
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 0x100a4756
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]
mov esi, dword [edi + 0x38]
mov ecx, dword [eax + 0x4e]
call dword [section..00cfg]
mov dword [esp], esi
call ecx
mov dword [edi + 0x134], 0
mov eax, dword [edi + 0x3c]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov eax, dword [ebp + 0xc]
mov ecx, dword [edi + 0x38]
xor edx, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.100a4990
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov esi, eax
jmp 0x100a46f4
Function at 0x100a4e00
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov ecx, dword [ebp + 0x10]
test ecx, ecx
mov eax, 0x101e246d
cmove ecx, eax
mov edi, dword [ebp + 0xc]
test edi, edi
cmove edi, eax
mov dword [ebp - 0x18], ecx
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov dword [ebp - 0x14], eax
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
push dword [ebp + 8]
call fcn.100cb930
add esp, 4
test eax, eax
je 0x100a4f6a
mov ebx, eax
mov ecx, dword [ebp + 8]
mov eax, ecx
cmp dword [ecx + 0x12c], 0
je 0x100a4e6d
mov dword [ebp - 0x18], 0
xor edi, edi
mov dword [ebp - 0x14], 0
xor esi, esi
mov eax, dword [eax]
mov ecx, dword [eax + 0x4a]
call dword [section..00cfg]
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
push edi
push ebx
call ecx
add esp, 0x10
mov dword [esi + 0x134], edi
test eax, eax
jne 0x100a4eaf
mov eax, dword [esi]
mov ecx, dword [eax + 0x2a]
call dword [section..00cfg]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x100a4f90
push eax
call fcn.100aaef0
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
mov dword [ebp - 0x10], 0
mov eax, dword [esi]
mov ecx, dword [eax + 0x4e]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov dword [esi + 0x134], 0
push ebx
push esi
call fcn.100cba60
add esp, 8
cmp byte [ebp - 0x10], 0
je 0x100a4f86
push 1
push esi
call fcn.100cc510
add esp, 8
cmp dword [esi + 0x24], 0
je 0x100a4f86
mov dword [ebp - 0x10], edi
mov edi, dword [esi + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov ebx, esi
mov esi, eax
test eax, eax
je 0x100a4f9a
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 + 0x4a]
call dword [section..00cfg]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push 1
push esi
call ecx
add esp, 0x10
mov dword [ebx + 0x134], 0
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x100a4f86
xor esi, esi
push esi
push 0xffffe002
call sym.nss3.dll_PR_SetError
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x134], esi
xor edi, edi
dec edi
mov eax, edi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, 1
mov dword [ebp - 0x10], eax
jmp 0x100a4ecd
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x100a4f27
Function at 0x100a50b0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [0x101f53dc]
test eax, eax
je 0x100a51ac
mov dword [ebp - 0x10], eax
mov dword [esp], eax
call fcn.100d4620
mov ecx, dword [0x101f53e8]
test ecx, ecx
je 0x100a51a1
mov eax, dword [ecx + 4]
cmp dword [eax + 0x2c], 0
jle 0x100a519a
xor edi, edi
mov dword [ebp - 0x14], ecx
mov eax, dword [eax + 0x28]
mov ebx, dword [eax + edi*4]
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100a5185
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 0x1c]
lea eax, [esi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov eax, dword [ebp - 0x18]
mov dword [esi + 8], eax
mov eax, dword [ebx]
mov esi, dword [ebx + 0x38]
mov ecx, dword [eax + 0x4e]
call dword [section..00cfg]
mov dword [esp], esi
call ecx
mov esi, eax
mov dword [ebx + 0x134], 0
mov eax, dword [ebx + 0x3c]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
test esi, esi
je 0x100a5173
mov dword [esp], esi
call fcn.100aaef0
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.nss3.dll_PR_SetError
inc edi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
cmp edi, dword [eax + 0x2c]
jl 0x100a50f1
jmp 0x100a519a
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
jmp 0x100a5112
mov ecx, dword [ecx]
jmp 0x100a50d7
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call fcn.100d4700
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x100a5ab0
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]
mov ecx, dword [0x101f1014]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x14]
mov dword [ecx], 0
push ecx
push dword [ebp + 0xc]
push eax
call fcn.100a7950
add esp, 0xc
test eax, eax
je 0x100a5b75
mov esi, eax
mov ebx, dword [ebp - 0x14]
cmp dword [ebx + 0x24], 0
je 0x100a5b50
push dword [ebp + 0xc]
push ebx
call sym.nss3.dll_PK11_IsLoggedIn
add esp, 8
mov edi, eax
push 3
push esi
push ebx
call fcn.100c1050
add esp, 0xc
or edi, eax
jne 0x100a5b5c
cmp dword [0x101f4f80], 0
je 0x100a5bb9
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100a5b9e
mov eax, dword [eax + 0x28]
xor edi, edi
cmp eax, 0xffffe09b
je 0x100a5b3e
cmp eax, 0xffffd003
jne 0x100a5b7b
push dword [ebp + 0xc]
push 1
push ebx
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
jne 0x100a5b7b
push 3
push esi
push ebx
call fcn.100c1050
add esp, 0xc
test eax, eax
je 0x100a5b79
push dword [ebp + 0xc]
push eax
push 1
push 0
push ebx
call fcn.100a2340
add esp, 0x14
mov edi, eax
jmp 0x100a5b7b
xor edi, edi
jmp 0x100a5b8a
xor edi, edi
lock dec dword [ebx + 0x48]
jne 0x100a5b8a
push ebx
call fcn.100cb320
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, edi
add esp, 8
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
jmp 0x100a5b2b
call fcn.1001b2e0
jmp 0x100a5b1b
Function at 0x100a6b60
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
push edi
push dword [ebp + 0xc]
push ebx
call sym.nss3.dll_PK11_FindCertInSlot
add esp, 0xc
test eax, eax
je 0x100a6c03
mov esi, eax
cmp dword [ebx + 0x24], 0
je 0x100a6be2
push edi
push ebx
call sym.nss3.dll_PK11_IsLoggedIn
add esp, 8
mov edi, eax
push 3
push esi
push ebx
call fcn.100c1050
add esp, 0xc
or edi, eax
mov edi, dword [ebp + 0x10]
jne 0x100a6bee
cmp dword [0x101f4f80], 0
je 0x100a6c22
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100a6c0a
mov eax, dword [eax + 0x28]
cmp eax, 0xffffe09b
je 0x100a6bd2
cmp eax, 0xffffd003
jne 0x100a6c03
push edi
push 1
push ebx
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
jne 0x100a6c03
push 3
push esi
push ebx
call fcn.100c1050
add esp, 0xc
test eax, eax
je 0x100a6c03
push edi
push eax
push 1
push 0
push ebx
call fcn.100a2340
add esp, 0x14
jmp 0x100a6c05
xor eax, eax
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
jmp 0x100a6bc1
call fcn.1001b2e0
jmp 0x100a6bb1
Function at 0x100a6d70
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
push dword [ebp + 8]
call fcn.100a6710
add esp, 4
mov edi, eax
push dword [ebp + 0x10]
push 1
push 0
push 0xffffffffffffffff
call sym.nss3.dll_PK11_GetAllTokens
add esp, 0x10
mov esi, eax
test edi, edi
je 0x100a6e5c
test esi, esi
je 0x100a6e5c
mov dword [ebp - 0x10], esi
mov esi, dword [esi]
mov dword [ebp - 0x14], 0
test esi, esi
je 0x100a6e86
mov eax, dword [esi + 8]
cmp dword [eax + 0x24], 0
je 0x100a6e28
push dword [ebp + 0x10]
push eax
call sym.nss3.dll_PK11_IsLoggedIn
add esp, 8
mov ebx, eax
push edi
push dword [esi + 8]
call fcn.100a40d0
add esp, 8
or ebx, eax
jne 0x100a6e32
cmp dword [0x101f4f80], 0
je 0x100a6e55
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100a6e3d
mov eax, dword [eax + 0x28]
cmp eax, 0xffffe09b
je 0x100a6e0e
cmp eax, 0xffffd003
jne 0x100a6e36
push dword [ebp + 0x10]
push 1
push dword [esi + 8]
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
jne 0x100a6e36
push edi
push dword [esi + 8]
jmp 0x100a6e2a
push edi
push eax
call fcn.100a40d0
add esp, 8
test eax, eax
jne 0x100a6e73
mov esi, dword [esi]
jmp 0x100a6db5
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
jmp 0x100a6dfd
call fcn.1001b2e0
jmp 0x100a6ded
test edi, edi
je 0x100a6e6b
push 1
push edi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
xor edi, edi
test esi, esi
jne 0x100a6e97
jmp 0x100a6ea8
mov ecx, dword [esi + 8]
mov dword [ebp - 0x14], ecx
lock inc dword [ecx + 0x48]
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x100a6e86
mov dword [ecx], eax
mov esi, dword [ebp - 0x10]
push 1
push edi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov edi, dword [ebp - 0x14]
mov ecx, esi
call fcn.100cace0
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, edi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x100a80b0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov edi, ecx
push edx
call fcn.100a6710
add esp, 4
test eax, eax
je 0x100a8153
mov esi, eax
cmp dword [edi + 0x24], 0
je 0x100a813a
push dword [ebp + 8]
push edi
call sym.nss3.dll_PK11_IsLoggedIn
add esp, 8
mov dword [ebp - 0x10], esi
mov esi, edi
mov edi, eax
push dword [ebp - 0x10]
push esi
call fcn.100a40d0
add esp, 8
mov ebx, eax
or edi, eax
mov edi, esi
mov esi, dword [ebp - 0x10]
jne 0x100a8146
cmp dword [0x101f4f80], 0
je 0x100a8177
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100a815f
mov eax, dword [eax + 0x28]
xor ebx, ebx
cmp eax, 0xffffe09b
je 0x100a8128
cmp eax, 0xffffd003
jne 0x100a8146
push dword [ebp + 8]
push 1
push edi
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
jne 0x100a8146
push esi
push edi
call fcn.100a40d0
add esp, 8
mov ebx, eax
push 1
push esi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
jmp 0x100a8155
xor ebx, ebx
mov eax, ebx
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
jmp 0x100a8115
call fcn.1001b2e0
jmp 0x100a8105
Function at 0x100a8d40
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, dword [0x101f1014]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], eax
cmp dword [edi + 0x18], 0
je 0x100a8d79
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 0x30], 0
mov eax, dword [0x101f45d4]
je 0x100a8dac
mov ecx, dword [edi + 0x14]
jmp 0x100a8daf
mov ecx, dword [edi + 0x24]
cmp ecx, eax
jbe 0x100a8d93
push ecx
call sym.nss3.dll_PORT_Alloc_Util
add esp, 4
mov esi, eax
test eax, eax
je 0x100a8e27
mov eax, dword [edi + 0x20]
test eax, eax
je 0x100a8da7
push dword [edi + 0x24]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x24]
jmp 0x100a8e0e
mov ecx, dword [ecx + 0x3c]
mov dword [ebp - 0x18], ecx
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov ebx, eax
test eax, eax
je 0x100a8e2b
mov esi, dword [ebp - 0x18]
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [esi + 8], ebx
lea eax, [ebp - 0x14]
mov ecx, edi
mov edx, dword [ebp + 0xc]
push eax
call fcn.100a8780
add esp, 4
mov esi, eax
cmp dword [edi + 0x18], 0
mov eax, dword [edi + 0xc]
je 0x100a8df8
cmp dword [eax + 0x30], 0
je 0x100a8df8
add edi, 0x14
mov eax, edi
jmp 0x100a8dfb
add eax, 0x3c
push dword [eax]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, esi
test esi, esi
je 0x100a8e0e
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, esi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
jmp 0x100a8e13
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov ebx, eax
jmp 0x100a8dbf
Function at 0x100a8e50
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
cmp dword [esi + 0x18], 0
je 0x100a8e75
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x30], 0
mov eax, dword [0x101f45d4]
je 0x100a8e9c
mov ebx, dword [esi + 0x14]
jmp 0x100a8e9f
mov eax, dword [esi + 0x20]
test eax, eax
je 0x100a8e85
cmp dword [esi + 0x24], edi
jae 0x100a8f3a
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100a8f33
mov ebx, dword [ecx + 0x3c]
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100a8f4e
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov ecx, esi
call fcn.100a8f70
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x100a8efd
mov edi, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 0x46]
mov ebx, dword [esi + 0x10]
call dword [section..00cfg]
push 0
push edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call ecx
add esp, 0x14
test eax, eax
je 0x100a8f12
push eax
call fcn.100aaef0
add esp, 4
jmp 0x100a8f02
mov eax, 0xffffe001
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100a8f14
xor edi, edi
cmp dword [esi + 0x18], 0
mov eax, dword [esi + 0xc]
je 0x100a8f28
cmp dword [eax + 0x30], 0
je 0x100a8f28
push dword [esi + 0x14]
jmp 0x100a8f2b
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
push edi
push dword [ebp + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x24], edi
xor edi, edi
jmp 0x100a8f33
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov edi, eax
jmp 0x100a8eb0