joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100bc340
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 0x100bc3ab
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
cmp dword [edi + 0x30], 0
jne 0x100bc38a
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 0x100bc3b3
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 0x100bc3ab
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 [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x100bc375

Function at 0x100bc3d0
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 0x100bc40b
push eax
call fcn.100ca370
add esp, 4
mov esi, eax
mov eax, dword [ebp + 8]
test esi, esi
jne 0x100bc43d
push 0
push 0xffffe002
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100bc49f
mov esi, ecx
test ecx, ecx
jne 0x100bc43d
mov esi, dword [eax + 0x38]
test esi, esi
je 0x100bc3f4
mov ebx, dword [eax + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100bc4a6
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 0x100bc476
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
jmp 0x100bc478
xor edi, edi
mov eax, dword [ebp + 0x18]
test eax, eax
mov eax, dword [ebp + 8]
je 0x100bc48e
push esi
push eax
call fcn.100ca4a0
add esp, 8
jmp 0x100bc49f
cmp dword [ebp + 0xc], 0
jne 0x100bc49f
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 [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov edi, eax
jmp 0x100bc42d
Function at 0x100bc590
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 [0x101ef014]
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.0x100bc5be.4
mov edi, 0x28
jmp dword [eax*4 + 0x101bd1a8]
push esi
call sym.nss3.dll_PK11_GetPrivateModulusLen
add esp, 4
mov edi, eax
cmp eax, 0xffffffff
jne case.0x100bc5be.3
jmp 0x100bc5f8
lea eax, [ebp - 0x18]
push eax
push 0
push 0x131
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.100bbb50
add esp, 0x14
test eax, eax
je 0x100bc64a
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10156ff0
mov ecx, esi
add esp, 0x10
pop esi
pop edi
pop ebp
jmp fcn.100bc6b0
push 0
push 0xffffe028
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
jmp case.0x100bc5be.3
lea edi, [ebp - 0x18]
push edi
push 0
push 0x180
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.100bbb50
add esp, 0x14
test eax, eax
je 0x100bc65c
mov ecx, esi
call fcn.100bc6b0
mov edi, eax
jmp case.0x100bc5be.3
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
test edi, edi
jle 0x100bc68c
cmp byte [eax], 1
sbb edi, 0
jmp 0x100bc690
push edi
call sym.nss3.dll_SECKEY_ECParamsToBasePointOrderLen
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100bc678
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
test edi, edi
je 0x100bc63f
lea eax, [edi + 7]
add edi, 0xe
test eax, eax
cmovns edi, eax
sar edi, 3
jmp 0x100bc69a
test eax, eax
je 0x100bc69a
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.10156ff0
mov eax, edi
add esp, 0x10
pop esi
pop edi
pop ebp
ret
Function at 0x100bc9c0
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 [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, dword [ebx + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100bca55
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 0x100bca3e
push edi
call fcn.100a9930
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100bca41
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, esi
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 esi, eax
jmp 0x100bc9eb
Function at 0x100bf470
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 0x100bf52a
mov eax, dword [edi]
test eax, eax
je 0x100bf490
mov ecx, dword [edi + 4]
mov dword [eax + 4], ecx
mov eax, dword [edi + 4]
test eax, eax
je 0x100bf49b
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 0x100bf521
cmp dword [edi + 0x10], 0
je 0x100bf513
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov dword [ebp - 0x10], eax
test eax, eax
je 0x100bf534
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 0x100bf521
mov dword [esp], ebx
call fcn.100c9d60
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 [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov dword [ebp - 0x10], eax
jmp 0x100bf4d3

Function at 0x100bf550
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 [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ebx, dword [edi + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100bf60d
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.100bc3d0
add esp, 0x18
mov esi, eax
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x100bf5cf
push 0xffffffffffffffff
call fcn.100a9930
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
jmp 0x100bf5f9
push 0x14
call sym.nss3.dll_PORT_Alloc_Util
add esp, 4
test eax, eax
je 0x100bf5cb
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.10156ff0
mov eax, esi
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 esi, eax
jmp 0x100bf57f
Function at 0x100bf780
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 [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ebx, dword [edi + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100bf874
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 0x100bf82f
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 0x100bf834
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 0x100bf869
cmp dword [ebp - 0x18], 0
je 0x100bf869
mov esi, dword [ebp - 0x14]
jmp 0x100bf855
mov esi, 0xb3
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
push esi
call fcn.100a9930
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.10156ff0
mov eax, esi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
test esi, esi
jne 0x100bf83f
mov eax, 0xffffd003
jmp 0x100bf848
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x100bf7af
Function at 0x100c52d0
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 0x100c54a4
lock dec dword [edi + 0x2c]
jne 0x100c54a4
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x10], eax
mov dword [edi + 0x38], 0
cmp dword [edi + 0x14], 0
je 0x100c5372
mov esi, dword [edi + 4]
test esi, esi
je 0x100c5372
cmp dword [edi + 0x28], 0
mov eax, dword [edi + 8]
je 0x100c5317
cmp dword [eax + 0x30], 0
jne 0x100c5343
mov ebx, dword [eax + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100c5487
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 0x100c5367
cmp dword [eax + 0x30], 0
jne 0x100c5372
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x100c5398
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 0x100c5398
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov esi, dword [edi + 0x40]
test esi, esi
je 0x100c53b2
mov ecx, dword [edi + 0x44]
test ecx, ecx
je 0x100c53b2
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ebx, dword [edi + 8]
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0x18], eax
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100c546c
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 0x18]
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x14]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x58]
cmp eax, dword [ebx + 0x5c]
jge 0x100c5401
cmp dword [edi + 0x28], 0
mov esi, dword [ebp - 0x10]
je 0x100c542c
mov eax, dword [ebx + 0x50]
mov dword [edi + 0x10], eax
mov dword [ebx + 0x50], edi
jmp 0x100c543c
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.100bc340
add esp, 0xc
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov esi, dword [ebp - 0x10]
jmp 0x100c5451
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 0x100c5460
push ebx
call fcn.100c9d60
add esp, 4
mov edi, esi
test esi, esi
jne 0x100c52dc
jmp 0x100c54a4
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x100c53cf
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x100c5330
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x100c55e0
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 [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100c5748
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 0x100c563d
mov ebx, dword [esi + 0x50]
test ebx, ebx
je 0x100c563d
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 0x100c5667
mov ebx, dword [esi + 0x54]
test ebx, ebx
je 0x100c56e0
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 0x100c5692
movzx eax, word [ebx + 0x3c]
cmp ax, word [esi + 0x80]
jne 0x100c567a
cmp dword [ebx + 0x24], 0
jne 0x100c5692
lea eax, [ebx + 0x28]
push eax
push esi
call fcn.100bc280
add esp, 8
mov dword [ebx + 0x24], eax
test eax, eax
je 0x100c572f
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 [0x101af1e0]
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 0x100c56d6
mov ebx, eax
mov dword [eax + 0x10], 0
cmp dword [ebp + 0xc], 0
je 0x100c573c
mov eax, ebx
add eax, 0x28
push eax
push esi
call fcn.100bc280
add esp, 8
mov dword [ebx + 0x24], eax
test eax, eax
jne 0x100c5692
push ebx
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
jmp 0x100c56d6
push ebx
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
xor edi, edi
jmp 0x100c56d6
mov dword [ebx + 0x24], 0
jmp 0x100c5692
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov edi, eax
jmp 0x100c5605
Function at 0x100c5770
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 [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100c57fa
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 0x100c57e8
mov eax, dword [ebp + 0xc]
mov edi, dword [esi + eax*4 + 0x90]
test edi, edi
je 0x100c57e8
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.100c55e0
add esp, 0xc
test eax, eax
je 0x100c57f3
mov dword [eax + 4], edi
mov dword [eax + 0x34], 1
jmp 0x100c57f5
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 [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov edi, eax
jmp 0x100c578e

Function at 0x100c5820
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 0x100c5896
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 0x100c5883
cmp dword [edi + 0x90], 0
jne 0x100c5883
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 [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x100c5846
Function at 0x100c68f0
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 [0x101ef014]
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 0x100c6957
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x20]
mov dword [eax], esi
push 0x104
push 1
push eax
push ebx
call fcn.100c6260
add esp, 0x10
test eax, eax
cmovne ebx, eax
mov edi, dword [ebx + 8]
test edi, edi
je 0x100c6963
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], esi
test edx, edx
je 0x100c696f
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x100c6973
push 0
push 0xffffe005
jmp 0x100c6a4a
push 0
push 0xffffe040
jmp 0x100c6a4a
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 0x100c6a69
mov dword [ebp - 0x30], eax
lea esi, [ebp - 0x24]
push esi
push edi
call fcn.100bc280
add esp, 8
mov dword [ebp - 0x34], eax
cmp dword [esi], 0
je 0x100c69ab
cmp dword [edi + 0x30], 0
jne 0x100c69d5
mov esi, dword [edi + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100c6a8b
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 0x100c6a11
cmp dword [edi + 0x30], 0
jne 0x100c6a1f
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.100bc340
add esp, 0xc
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x100c6a3a
push eax
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
test ebx, ebx
je 0x100c6a7e
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
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
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 0x100c6a55
push eax
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
jmp 0x100c6a55
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 8], eax
xor edi, edi
jmp 0x100c6a55
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov dword [ebp - 0x28], eax
jmp 0x100c69c5
Function at 0x100c7670
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov ecx, dword [ebp + 8]
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, dword [ecx + 8]
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0xce534378
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov ebx, dword [edi + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x100c7727
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 + 0xfa]
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0xc]
call dword [section..00cfg]
lea eax, [ebp - 0x20]
lea edx, [ebp - 0x1c]
push eax
xor eax, eax
push eax
push eax
push ebx
push edx
push esi
call ecx
add esp, 0x18
mov esi, eax
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x100c7710
push esi
call fcn.100a9930
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
jmp 0x100c7713
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, esi
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
mov esi, eax
jmp 0x100c76b0