joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100a2920
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 [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x100a295d
cmp dword [esi + 8], ecx
je 0x100a295d
mov edx, esi
push 0x8a
push 0
call fcn.100a1c10
add esp, 8
mov edi, eax
test eax, eax
jne 0x100a29fc
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 [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100a2a10
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 0x101badbc
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 0x100a29e3
push edi
call fcn.100a9930
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
jmp 0x100a29fc
mov eax, dword [ebp + 0xc]
push dword [eax + 0x14]
push dword [ebp - 0x14]
push 1
push dword [eax + 4]
push ebx
call fcn.100a0d80
add esp, 0x14
mov edi, eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, edi
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 edi, eax
jmp 0x100a2987
Function at 0x100a2ec0
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 0x100a2ef1
mov dword [ebp - 0x10], edx
xor ebx, ebx
cmp dword [edi + 0x24], 0
mov eax, 0
jne 0x100a2f12
jmp 0x100a2fee
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x100a2fcf
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 0x100a2fd8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
mov esi, dword [edi + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100a2ff8
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 0x100a2fab
test esi, esi
jne 0x100a2fc1
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 0x100a2fee
push 0
push 0xffffe00f
call sym.nss3.dll_PR_SetError
add esp, 8
mov ebx, 0xfffffffe
jmp 0x100a2fee
push esi
call fcn.100a9930
add esp, 4
push 0
push eax
jmp 0x100a2fe3
push 0
push 0xffffe005
jmp 0x100a2fe3
test eax, eax
je 0x100a2fa7
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 [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov edi, eax
jmp 0x100a2f31

Function at 0x100a3020
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 [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x100a30ad
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 0x100a30a3
mov dword [esp], esi
call fcn.100a9930
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.nss3.dll_PR_SetError
xor eax, eax
dec eax
jmp 0x100a30a5
xor eax, 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 0x100a3046
Function at 0x100a30d0
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 0x100a318e
mov esi, dword [edi + 0x60]
test byte [edi + 0x47], 0x20
jne 0x100a3109
call sym.nss3.dll_PK11_GetInternalKeySlot
test eax, eax
je 0x100a3109
mov esi, dword [eax + 0x60]
lock dec dword [eax + 0x48]
jne 0x100a3109
mov dword [esp], eax
call fcn.100c9d60
mov dword [esp], edi
call sym.nss3.dll_PK11_IsLoggedIn
test eax, eax
je 0x100a316e
cmp esi, 0xffffffff
jne 0x100a318e
mov ebx, dword [edi + 0x3c]
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 0x100a3196
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.100a33d0
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x100a3134
Function at 0x100a3840
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, 0x101e0242
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.100ca370
add esp, 4
test eax, eax
je 0x100a39aa
mov ebx, eax
mov ecx, dword [ebp + 8]
mov eax, ecx
cmp dword [ecx + 0x12c], 0
je 0x100a38ad
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 0x100a38ef
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 0x100a39d0
push eax
call fcn.100a9930
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.100ca4a0
add esp, 8
cmp byte [ebp - 0x10], 0
je 0x100a39c6
push 1
push esi
call fcn.100caf50
add esp, 8
cmp dword [esi + 0x24], 0
je 0x100a39c6
mov dword [ebp - 0x10], edi
mov edi, dword [esi + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov ebx, esi
mov esi, eax
test eax, eax
je 0x100a39da
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 0x100a39c6
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 0x100a390d
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x100a3967
Function at 0x100a3af0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [0x101f33ac]
test eax, eax
je 0x100a3bec
mov dword [ebp - 0x10], eax
mov dword [esp], eax
call fcn.100d3060
mov ecx, dword [0x101f33b8]
test ecx, ecx
je 0x100a3be1
mov eax, dword [ecx + 4]
cmp dword [eax + 0x2c], 0
jle 0x100a3bda
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 [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100a3bc5
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 0x100a3bb3
mov dword [esp], esi
call fcn.100a9930
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 0x100a3b31
jmp 0x100a3bda
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
jmp 0x100a3b52
mov ecx, dword [ecx]
jmp 0x100a3b17
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call fcn.100d3140
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x100a44f0
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 [0x101ef014]
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.100a6390
add esp, 0xc
test eax, eax
je 0x100a45b5
mov esi, eax
mov ebx, dword [ebp - 0x14]
cmp dword [ebx + 0x24], 0
je 0x100a4590
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.100bfaa0
add esp, 0xc
or edi, eax
jne 0x100a459c
cmp dword [0x101f2f50], 0
je 0x100a45f9
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100a45de
mov eax, dword [eax + 0x28]
xor edi, edi
cmp eax, 0xffffe09b
je 0x100a457e
cmp eax, 0xffffd003
jne 0x100a45bb
push dword [ebp + 0xc]
push 1
push ebx
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
jne 0x100a45bb
push 3
push esi
push ebx
call fcn.100bfaa0
add esp, 0xc
test eax, eax
je 0x100a45b9
push dword [ebp + 0xc]
push eax
push 1
push 0
push ebx
call fcn.100a0d80
add esp, 0x14
mov edi, eax
jmp 0x100a45bb
xor edi, edi
jmp 0x100a45ca
xor edi, edi
lock dec dword [ebx + 0x48]
jne 0x100a45ca
push ebx
call fcn.100c9d60
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, edi
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
jmp 0x100a456b
call fcn.100029d0
jmp 0x100a455b
Function at 0x100a55a0
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 0x100a5643
mov esi, eax
cmp dword [ebx + 0x24], 0
je 0x100a5622
push edi
push ebx
call sym.nss3.dll_PK11_IsLoggedIn
add esp, 8
mov edi, eax
push 3
push esi
push ebx
call fcn.100bfaa0
add esp, 0xc
or edi, eax
mov edi, dword [ebp + 0x10]
jne 0x100a562e
cmp dword [0x101f2f50], 0
je 0x100a5662
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100a564a
mov eax, dword [eax + 0x28]
cmp eax, 0xffffe09b
je 0x100a5612
cmp eax, 0xffffd003
jne 0x100a5643
push edi
push 1
push ebx
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
jne 0x100a5643
push 3
push esi
push ebx
call fcn.100bfaa0
add esp, 0xc
test eax, eax
je 0x100a5643
push edi
push eax
push 1
push 0
push ebx
call fcn.100a0d80
add esp, 0x14
jmp 0x100a5645
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
jmp 0x100a5601
call fcn.100029d0
jmp 0x100a55f1
Function at 0x100a57b0
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.100a5150
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 0x100a589c
test esi, esi
je 0x100a589c
mov dword [ebp - 0x10], esi
mov esi, dword [esi]
mov dword [ebp - 0x14], 0
test esi, esi
je 0x100a58c6
mov eax, dword [esi + 8]
cmp dword [eax + 0x24], 0
je 0x100a5868
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.100a2b10
add esp, 8
or ebx, eax
jne 0x100a5872
cmp dword [0x101f2f50], 0
je 0x100a5895
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100a587d
mov eax, dword [eax + 0x28]
cmp eax, 0xffffe09b
je 0x100a584e
cmp eax, 0xffffd003
jne 0x100a5876
push dword [ebp + 0x10]
push 1
push dword [esi + 8]
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
jne 0x100a5876
push edi
push dword [esi + 8]
jmp 0x100a586a
push edi
push eax
call fcn.100a2b10
add esp, 8
test eax, eax
jne 0x100a58b3
mov esi, dword [esi]
jmp 0x100a57f5
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x100a583d
call fcn.100029d0
jmp 0x100a582d
test edi, edi
je 0x100a58ab
push 1
push edi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
xor edi, edi
test esi, esi
jne 0x100a58d7
jmp 0x100a58e8
mov ecx, dword [esi + 8]
mov dword [ebp - 0x14], ecx
lock inc dword [ecx + 0x48]
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x100a58c6
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.100c9720
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 0x100a6af0
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.100a5150
add esp, 4
test eax, eax
je 0x100a6b93
mov esi, eax
cmp dword [edi + 0x24], 0
je 0x100a6b7a
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.100a2b10
add esp, 8
mov ebx, eax
or edi, eax
mov edi, esi
mov esi, dword [ebp - 0x10]
jne 0x100a6b86
cmp dword [0x101f2f50], 0
je 0x100a6bb7
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100a6b9f
mov eax, dword [eax + 0x28]
xor ebx, ebx
cmp eax, 0xffffe09b
je 0x100a6b68
cmp eax, 0xffffd003
jne 0x100a6b86
push dword [ebp + 8]
push 1
push edi
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
jne 0x100a6b86
push esi
push edi
call fcn.100a2b10
add esp, 8
mov ebx, eax
push 1
push esi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
jmp 0x100a6b95
xor ebx, ebx
mov eax, ebx
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
jmp 0x100a6b55
call fcn.100029d0
jmp 0x100a6b45
Function at 0x100a7780
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 [0x101ef014]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], eax
cmp dword [edi + 0x18], 0
je 0x100a77b9
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 0x30], 0
mov eax, dword [0x101f25a4]
je 0x100a77ec
mov ecx, dword [edi + 0x14]
jmp 0x100a77ef
mov ecx, dword [edi + 0x24]
cmp ecx, eax
jbe 0x100a77d3
push ecx
call sym.nss3.dll_PORT_Alloc_Util
add esp, 4
mov esi, eax
test eax, eax
je 0x100a7867
mov eax, dword [edi + 0x20]
test eax, eax
je 0x100a77e7
push dword [edi + 0x24]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x24]
jmp 0x100a784e
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 0x100a786b
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.100a71c0
add esp, 4
mov esi, eax
cmp dword [edi + 0x18], 0
mov eax, dword [edi + 0xc]
je 0x100a7838
cmp dword [eax + 0x30], 0
je 0x100a7838
add edi, 0x14
mov eax, edi
jmp 0x100a783b
add eax, 0x3c
push dword [eax]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, esi
test esi, esi
je 0x100a784e
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, esi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
jmp 0x100a7853
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov ebx, eax
jmp 0x100a77ff
Function at 0x100a7890
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 0x100a78b5
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x30], 0
mov eax, dword [0x101f25a4]
je 0x100a78dc
mov ebx, dword [esi + 0x14]
jmp 0x100a78df
mov eax, dword [esi + 0x20]
test eax, eax
je 0x100a78c5
cmp dword [esi + 0x24], edi
jae 0x100a797a
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100a7973
mov ebx, dword [ecx + 0x3c]
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100a798e
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov ecx, esi
call fcn.100a79b0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x100a793d
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 0x100a7952
push eax
call fcn.100a9930
add esp, 4
jmp 0x100a7942
mov eax, 0xffffe001
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100a7954
xor edi, edi
cmp dword [esi + 0x18], 0
mov eax, dword [esi + 0xc]
je 0x100a7968
cmp dword [eax + 0x30], 0
je 0x100a7968
push dword [esi + 0x14]
jmp 0x100a796b
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 0x100a7973
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov edi, eax
jmp 0x100a78f0
Function at 0x100a79b0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10c
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x114], 0
cmp dword [ecx + 0x18], 0
je 0x100a7b32
xor esi, esi
mov dword [ebp - 0x118], ecx
mov eax, dword [ecx]
mov ebx, 0x91
lea edx, [eax + 0x7dfffefc]
cmp edx, 6
jbe switch.0x100a7a19
lea edx, [eax - 0x104]
cmp edx, 6
ja case.default.0x100a79ff
jmp dword [edx*4 + 0x101bb138]
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x82]
jmp 0x100a7aab
jmp dword [edx*4 + 0x101bb11c]
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x132]
jmp 0x100a7a79
cmp eax, 0x81000000
jne case.0x100a7a19.2113928954
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0xa6]
jmp 0x100a7aab
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x146]
jmp 0x100a7a79
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x15a]
jmp 0x100a7a79
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x16e]
call dword [section..00cfg]
push edi
call ecx
mov ecx, dword [ebp - 0x118]
add esp, 4
jmp 0x100a7ae2
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x92]
jmp 0x100a7aab
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0xb6]
call dword [section..00cfg]
lea eax, [ebp - 0x114]
push eax
jmp 0x100a7ad5
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0xce]
mov ebx, dword [ebp - 0x114]
call dword [section..00cfg]
push ebx
push esi
push edi
call ecx
mov ecx, dword [ebp - 0x118]
add esp, 0xc
mov ebx, eax
test eax, eax
jne case.0x100a7a19.2113928954
movzx eax, byte [ecx + 3]
shl eax, 0x18
xor edi, edi
cmp eax, 0x82000000
je 0x100a7b85
test esi, esi
jne 0x100a7b71
mov eax, dword [ebp - 0x114]
lea esi, [ebp - 0x110]
cmp eax, 0x101
jb 0x100a79e2
push eax
call sym.nss3.dll_PORT_Alloc_Util
mov ecx, dword [ebp - 0x118]
add esp, 4
mov esi, eax
test eax, eax
jne 0x100a79e2
jmp 0x100a7b6c
xor edi, edi
jmp 0x100a7b85
lea eax, [ebp - 0x110]
cmp esi, eax
je 0x100a7b4e
test esi, esi
je 0x100a7b4e
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
xor edi, edi
cmp ebx, 0x91
je 0x100a7b85
push ebx
call fcn.100a9930
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100a7b85
lea eax, [ebp - 0x110]
cmp esi, eax
je 0x100a7b85
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, edi
add esp, 0x10c
pop esi
pop edi
pop ebx
pop ebp
ret