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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov edi, dword [ebp + 8]
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x11]
mov byte [eax], 0
xor ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
mov ebx, dword [edi + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100bd6a8
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov eax, dword [edi]
mov esi, dword [edi + 0x38]
mov ecx, dword [eax + 0x62]
call dword [section..00cfg]
lea eax, [ebp - 0x20]
push 1
push eax
push dword [ebp + 0xc]
push esi
call ecx
add esp, 0x10
mov esi, eax
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x100bd690
push esi
call fcn.100aaef0
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
jmp 0x100bd694
movzx esi, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, esi
add esp, 0x14
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 esi, eax
jmp 0x100bd63d

Function at 0x100bd840
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebx], 1
cmp dword [edi + 0x30], 0
jne 0x100bd88a
mov ebx, dword [edi + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100bd8e2
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov ebx, dword [ebp + 0xc]
mov eax, dword [edi]
mov esi, dword [edi + 0x40]
mov ecx, dword [eax + 0x32]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push eax
push sym.nss3.dll_SECMOD_CanDeleteInternalModule
push edi
push 4
push esi
call ecx
add esp, 0x14
test eax, eax
je 0x100bd8ba
mov dword [ebx], 0
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x14], eax
cmp dword [edi + 0x30], 0
jne 0x100bd8cb
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, esi
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 esi, eax
jmp 0x100bd87a
Function at 0x100bd900
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
cmp dword [ebp + 0x10], 0
je 0x100bd96b
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
cmp dword [edi + 0x30], 0
jne 0x100bd94a
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 0x100bd973
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], esi
mov esi, dword [ebp + 0xc]
mov eax, dword [edi]
mov ecx, dword [eax + 0x36]
call dword [section..00cfg]
mov dword [esp], esi
call ecx
cmp dword [edi + 0x30], 0
jne 0x100bd96b
mov eax, dword [edi + 0x3c]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
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 0x100bd935

Function at 0x100bd990
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
cmp dword [ebp + 0x18], 0
je 0x100bd9cb
push eax
call fcn.100cb930
add esp, 4
mov esi, eax
mov eax, dword [ebp + 8]
test esi, esi
jne 0x100bd9fd
push 0
push 0xffffe002
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100bda5f
mov esi, ecx
test ecx, ecx
jne 0x100bd9fd
mov esi, dword [eax + 0x38]
test esi, esi
je 0x100bd9b4
mov ebx, dword [eax + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100bda66
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x14]
mov eax, dword [eax]
mov ecx, dword [eax + 0x52]
call dword [section..00cfg]
push edi
push ebx
push dword [ebp + 0x10]
push esi
call ecx
add esp, 0x10
test eax, eax
je 0x100bda36
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
jmp 0x100bda38
xor edi, edi
mov eax, dword [ebp + 0x18]
test eax, eax
mov eax, dword [ebp + 8]
je 0x100bda4e
push esi
push eax
call fcn.100cba60
add esp, 8
jmp 0x100bda5f
cmp dword [ebp + 0xc], 0
jne 0x100bda5f
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
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov edi, eax
jmp 0x100bd9ed
Function at 0x100bdb50
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x10
mov esi, dword [ebp + 8]
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 4]
dec eax
cmp eax, 5
ja case.0x100bdb7e.4
mov edi, 0x28
jmp dword [eax*4 + 0x101bf388]
push esi
call sym.nss3.dll_PK11_GetPrivateModulusLen
add esp, 4
mov edi, eax
cmp eax, 0xffffffff
jne case.0x100bdb7e.3
jmp 0x100bdbb8
lea eax, [ebp - 0x18]
push eax
push 0
push 0x131
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.100bd110
add esp, 0x14
test eax, eax
je 0x100bdc0a
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10157a00
mov ecx, esi
add esp, 0x10
pop esi
pop edi
pop ebp
jmp fcn.100bdc70
push 0
push 0xffffe028
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
jmp case.0x100bdb7e.3
lea edi, [ebp - 0x18]
push edi
push 0
push 0x180
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.100bd110
add esp, 0x14
test eax, eax
je 0x100bdc1c
mov ecx, esi
call fcn.100bdc70
mov edi, eax
jmp case.0x100bdb7e.3
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
test edi, edi
jle 0x100bdc4c
cmp byte [eax], 1
sbb edi, 0
jmp 0x100bdc50
push edi
call sym.nss3.dll_SECKEY_ECParamsToBasePointOrderLen
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100bdc38
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
test edi, edi
je 0x100bdbff
lea eax, [edi + 7]
add edi, 0xe
test eax, eax
cmovns edi, eax
sar edi, 3
jmp 0x100bdc5a
test eax, eax
je 0x100bdc5a
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
add edi, edi
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10157a00
mov eax, edi
add esp, 0x10
pop esi
pop edi
pop ebp
ret
Function at 0x100bdf80
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov ebx, dword [ebp + 8]
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, dword [ebx + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100be015
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov eax, dword [ebx]
mov edi, dword [ebx + 0x38]
mov ecx, dword [eax + 0x56]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
xor esi, esi
push eax
push esi
push esi
push dword [ebp + 0xc]
push edi
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 0x100bdffe
push edi
call fcn.100aaef0
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100be001
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, esi
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 esi, eax
jmp 0x100bdfab
Function at 0x100c0a20
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
mov edi, dword [ebp + 8]
test edi, edi
je 0x100c0ada
mov eax, dword [edi]
test eax, eax
je 0x100c0a40
mov ecx, dword [edi + 4]
mov dword [eax + 4], ecx
mov eax, dword [edi + 4]
test eax, eax
je 0x100c0a4b
mov ecx, dword [edi]
mov dword [eax], ecx
xor eax, eax
mov dword [edi + 4], eax
mov dword [edi], eax
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x100c0ad1
cmp dword [edi + 0x10], 0
je 0x100c0ac3
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x101f45d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov dword [ebp - 0x10], eax
test eax, eax
je 0x100c0ae4
mov esi, dword [ebp - 0x14]
lea eax, [esi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov eax, dword [ebp - 0x10]
mov dword [esi + 8], eax
mov eax, dword [ebx]
mov esi, dword [ebx + 0x38]
mov ecx, dword [eax + 0x5a]
call dword [section..00cfg]
mov eax, dword [ebp - 0x18]
mov dword [esp + 4], eax
mov dword [esp], esi
call ecx
mov eax, dword [ebx + 0x3c]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov ebx, dword [edi + 8]
lock dec dword [ebx + 0x48]
jne 0x100c0ad1
mov dword [esp], ebx
call fcn.100cb320
mov dword [esp], edi
call dword [sym.imp.mozglue.dll_free]
xor eax, eax
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
mov dword [ebp - 0x10], eax
jmp 0x100c0a83

Function at 0x100c0b00
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 [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ebx, dword [edi + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100c0bbd
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [edi + 0x38]
push edi
call fcn.100bd990
add esp, 0x18
mov esi, eax
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x100c0b7f
push 0xffffffffffffffff
call fcn.100aaef0
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
jmp 0x100c0ba9
push 0x14
call sym.nss3.dll_PORT_Alloc_Util
add esp, 4
test eax, eax
je 0x100c0b7b
mov esi, eax
lock inc dword [edi + 0x48]
mov eax, dword [ebp + 0x18]
mov dword [esi + 8], edi
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], eax
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, esi
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 esi, eax
jmp 0x100c0b2f
Function at 0x100c0d30
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]
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ebx, dword [edi + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100c0e24
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 0x38]
test esi, esi
je 0x100c0ddf
mov ebx, dword [ebp + 0x10]
mov eax, dword [edi]
mov ecx, dword [eax + 0x6a]
call dword [section..00cfg]
push ebx
push dword [ebp + 0xc]
push esi
call ecx
add esp, 0xc
mov esi, eax
test eax, eax
jne 0x100c0de4
mov eax, dword [edi]
mov esi, dword [edi + 0x38]
mov ecx, dword [eax + 0x6e]
call dword [section..00cfg]
lea eax, [ebp - 0x18]
lea edx, [ebp - 0x14]
push eax
push 1
push edx
push esi
call ecx
add esp, 0x10
mov esi, eax
mov eax, dword [edi]
mov ebx, dword [edi + 0x38]
mov ecx, dword [eax + 0x72]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
jne 0x100c0e19
cmp dword [ebp - 0x18], 0
je 0x100c0e19
mov esi, dword [ebp - 0x14]
jmp 0x100c0e05
mov esi, 0xb3
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
push esi
call fcn.100aaef0
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
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
test esi, esi
jne 0x100c0def
mov eax, 0xffffd003
jmp 0x100c0df8
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x100c0d5f
Function at 0x100c6880
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]
test edi, edi
je 0x100c6a4e
lock dec dword [edi + 0x2c]
jne 0x100c6a4e
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x18], eax
mov dword [edi + 0x38], 0
cmp dword [edi + 0x14], 0
je 0x100c6922
mov esi, dword [edi + 4]
test esi, esi
je 0x100c6922
cmp dword [edi + 0x28], 0
mov eax, dword [edi + 8]
je 0x100c68c7
cmp dword [eax + 0x30], 0
jne 0x100c68f3
mov ebx, dword [eax + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100c6a31
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [edi + 4]
mov eax, dword [edi + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x5a]
mov ebx, dword [edi + 0x24]
call dword [section..00cfg]
push esi
push ebx
call ecx
add esp, 8
cmp dword [edi + 0x28], 0
mov eax, dword [edi + 8]
je 0x100c6917
cmp dword [eax + 0x30], 0
jne 0x100c6922
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x100c6948
push dword [edi + 0x20]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x100c6948
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov esi, dword [edi + 0x40]
test esi, esi
je 0x100c6962
mov ecx, dword [edi + 0x44]
test ecx, ecx
je 0x100c6962
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ebx, dword [edi + 8]
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0x14], eax
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100c6a16
mov dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x14]
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x10]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x58]
cmp eax, dword [ebx + 0x5c]
jge 0x100c69ae
cmp dword [edi + 0x28], 0
je 0x100c69d3
mov eax, dword [ebx + 0x50]
mov dword [edi + 0x10], eax
mov dword [ebx + 0x50], edi
jmp 0x100c69e3
push dword [ebx + 0x4c]
call sym.nss3.dll_PR_Unlock
add esp, 4
push dword [edi + 0x28]
push dword [edi + 0x24]
push dword [edi + 8]
call fcn.100bd900
add esp, 0xc
push edi
call dword [sym.imp.mozglue.dll_free]
jmp 0x100c69f5
mov dword [edi + 0x24], 0
mov eax, dword [ebx + 0x54]
mov dword [edi + 0x10], eax
mov dword [ebx + 0x54], edi
inc dword [ebx + 0x58]
mov dword [edi + 8], 0
push dword [ebx + 0x4c]
call sym.nss3.dll_PR_Unlock
add esp, 4
lock dec dword [ebx + 0x48]
jne 0x100c6a07
push ebx
call fcn.100cb320
add esp, 4
mov eax, dword [ebp - 0x18]
mov edi, eax
test eax, eax
jne 0x100c688c
jmp 0x100c6a4e
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
jmp 0x100c697f
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov esi, eax
jmp 0x100c68e0
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x100c6b90
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov dword [ebp - 0x10], edx
mov esi, ecx
mov ebx, dword [ecx + 0x4c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100c6cf8
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x100c6bed
mov ebx, dword [esi + 0x50]
test ebx, ebx
je 0x100c6bed
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x50], eax
dec dword [esi + 0x58]
push dword [esi + 0x4c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov dword [ebx + 0x10], 0
jmp 0x100c6c17
mov ebx, dword [esi + 0x54]
test ebx, ebx
je 0x100c6c90
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x54], eax
dec dword [esi + 0x58]
push dword [esi + 0x4c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov dword [ebx + 0x10], 0
test edi, edi
je 0x100c6c42
movzx eax, word [ebx + 0x3c]
cmp ax, word [esi + 0x80]
jne 0x100c6c2a
cmp dword [ebx + 0x24], 0
jne 0x100c6c42
lea eax, [ebx + 0x28]
push eax
push esi
call fcn.100bd840
add esp, 8
mov dword [ebx + 0x24], eax
test eax, eax
je 0x100c6cdf
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
mov dword [ebx], eax
xor eax, eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x14], edx
mov dword [ebx + 4], eax
mov dword [ebx + 8], esi
movzx edx, word [esi + 0x80]
mov word [ebx + 0x3c], dx
mov dword [ebx + 0xc], ecx
movaps xmm0, xmmword [0x101b1220]
movups xmmword [ebx + 0x2c], xmm0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
lock inc dword [esi + 0x48]
mov edi, ebx
mov eax, edi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esi + 0x4c]
call sym.nss3.dll_PR_Unlock
add esp, 4
push 0x48
call sym.nss3.dll_PORT_Alloc_Util
add esp, 4
xor edi, edi
test eax, eax
je 0x100c6c86
mov ebx, eax
mov dword [eax + 0x10], 0
cmp dword [ebp + 0xc], 0
je 0x100c6cec
mov eax, ebx
add eax, 0x28
push eax
push esi
call fcn.100bd840
add esp, 8
mov dword [ebx + 0x24], eax
test eax, eax
jne 0x100c6c42
push ebx
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
jmp 0x100c6c86
push ebx
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
xor edi, edi
jmp 0x100c6c86
mov dword [ebx + 0x24], 0
jmp 0x100c6c42
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov edi, eax
jmp 0x100c6bb5
Function at 0x100c6d20
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100c6daa
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
movzx eax, word [esi + 0x80]
cmp eax, dword [ebp + 0x14]
jne 0x100c6d98
mov eax, dword [ebp + 0xc]
mov edi, dword [esi + eax*4 + 0x90]
test edi, edi
je 0x100c6d98
mov ebx, dword [ebp + 0x18]
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov edx, dword [esi + 0x8c]
mov ecx, esi
push ebx
push 1
push 0
call fcn.100c6b90
add esp, 0xc
test eax, eax
je 0x100c6da3
mov dword [eax + 4], edi
mov dword [eax + 0x34], 1
jmp 0x100c6da5
push dword [esi + 0x3c]
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 [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov edi, eax
jmp 0x100c6d3e

Function at 0x100c6dd0
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 0x100c6e46
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], esi
cmp dword [ebp + 0xc], 0
jne 0x100c6e33
cmp dword [edi + 0x90], 0
jne 0x100c6e33
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
mov dword [edi + 0x90], ecx
xor ecx, ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x28], ecx
mov eax, dword [eax]
mov dword [edi + 0x8c], eax
mov eax, dword [edi + 0x3c]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
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 0x100c6df6
Function at 0x100c7ea0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], 1
test ebx, ebx
je 0x100c7f07
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x20]
mov dword [eax], esi
push 0x104
push 1
push eax
push ebx
call fcn.100c7810
add esp, 0x10
test eax, eax
cmovne ebx, eax
mov edi, dword [ebx + 8]
test edi, edi
je 0x100c7f13
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], esi
test edx, edx
je 0x100c7f1f
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x100c7f23
push 0
push 0xffffe005
jmp 0x100c7ffa
push 0
push 0xffffe040
jmp 0x100c7ffa
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
push 0
push eax
push edi
call sym.nss3.dll_PK11_ImportPublicKey
add esp, 0xc
test eax, eax
je 0x100c8019
mov dword [ebp - 0x30], eax
lea esi, [ebp - 0x24]
push esi
push edi
call fcn.100bd840
add esp, 8
mov dword [ebp - 0x34], eax
cmp dword [esi], 0
je 0x100c7f5b
cmp dword [edi + 0x30], 0
jne 0x100c7f85
mov esi, dword [edi + 0x3c]
push dword [0x101f45d4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100c803b
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x28]
mov dword [esi + 8], eax
mov eax, dword [edi]
mov ecx, dword [eax + 0xf2]
mov eax, dword [ebp + 0x18]
mov esi, dword [eax + 4]
mov ebx, dword [ebx + 4]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push eax
push esi
push ebx
push dword [ebp - 0x30]
lea eax, [ebp - 0x20]
push eax
mov esi, dword [ebp - 0x34]
push esi
call ecx
add esp, 0x18
mov ebx, eax
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x100c7fc1
cmp dword [edi + 0x30], 0
jne 0x100c7fcf
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, dword [ebp - 0x24]
push eax
push esi
push edi
call fcn.100bd900
add esp, 0xc
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x100c7fea
push eax
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
test ebx, ebx
je 0x100c802e
push ebx
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 ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
mov eax, edi
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
xor edi, edi
dec edi
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x100c8005
push eax
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
jmp 0x100c8005
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 8], eax
xor edi, edi
jmp 0x100c8005
sub esp, 0x10
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [esp], xmm0
call fcn.1006e720
add esp, 0x10
mov dword [ebp - 0x28], eax
jmp 0x100c7f75