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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x10
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
cmp ecx, 1
je 0x1009b375
cmp ecx, 2
jne 0x1009b3a1
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_EnterMonitor
jmp 0x1009b3a1
mov edi, dword [eax + 8]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x1009b3a8
lea eax, [edi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [edi + 8], esi
add esp, 0x10
pop esi
pop edi
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x1009b38f

Function at 0x1009b500
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xc]
cmp eax, 1
je 0x1009b523
cmp eax, 2
jne 0x1009b549
push dword [edi + 8]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
jmp 0x1009b549
mov ebx, dword [edi + 8]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1009b623
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov ebx, dword [ebp + 0xc]
cmp dword [edi + 0x14], 0
je 0x1009b581
xor esi, esi
mov eax, dword [edi + 0x10]
push ebx
push dword [eax + esi*4]
call fcn.10097340
add esp, 8
test eax, eax
jne 0x1009b5b9
inc esi
mov eax, dword [edi + 0x14]
cmp esi, eax
jb 0x1009b554
lea eax, [eax*4 + 4]
push eax
push dword [edi + 0x10]
call fcn.100931b0
jmp 0x1009b58a
push 4
push dword [edi]
call fcn.10092ca0
add esp, 8
mov esi, eax
test eax, eax
je 0x1009b5a2
mov dword [edi + 0x10], esi
mov eax, dword [edi + 0x14]
lea ecx, [eax + 1]
mov dword [edi + 0x14], ecx
mov dword [esi + eax*4], ebx
mov eax, dword [edi + 0xc]
cmp eax, 1
je 0x1009b5ed
cmp eax, 2
jne 0x1009b5f8
push dword [edi + 8]
call sym.nss3.dll_PR_ExitMonitor
jmp 0x1009b5f5
mov eax, dword [edi + 0x10]
mov eax, dword [eax + esi*4]
push dword [eax + 0xc]
call fcn.10092db0
add esp, 4
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi + 0x10]
mov ecx, dword [ecx + esi*4]
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 0xc]
cmp eax, 1
je 0x1009b601
cmp eax, 2
jne 0x1009b60c
push dword [edi + 8]
call sym.nss3.dll_PR_ExitMonitor
jmp 0x1009b609
push dword [edi + 8]
call sym.nss3.dll_PR_Unlock
add esp, 4
xor eax, eax
cmp esi, 1
sbb eax, eax
jmp 0x1009b61e
push dword [edi + 8]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov dword [ebx + 0xc], 0
push ebx
call fcn.100972a0
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x1009b53c
Function at 0x1009b6c0
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 eax, dword [edi + 0xc]
cmp eax, 1
je 0x1009b6e6
cmp eax, 2
jne 0x1009b716
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_EnterMonitor
jmp 0x1009b716
mov ebx, dword [edi + 8]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x1009b7b1
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 + 0x14]
test eax, eax
je 0x1009b782
mov ebx, dword [ebp + 0xc]
mov ecx, dword [edi + 0x10]
xor edx, edx
mov esi, dword [ecx + edx*4]
cmp dword [esi + 4], ebx
je 0x1009b736
inc edx
cmp eax, edx
jne 0x1009b725
xor esi, esi
jmp 0x1009b74e
mov eax, dword [ecx + eax*4 - 4]
mov dword [ecx + edx*4], eax
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
mov dword [eax + ecx*4 - 4], 0
mov eax, dword [edi + 0x14]
dec eax
mov dword [edi + 0x14], eax
je 0x1009b76f
shl eax, 2
mov ecx, dword [edi + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.100931b0
test eax, eax
je 0x1009b77a
mov dword [edi + 0x10], eax
jmp 0x1009b77a
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call fcn.10092db0
mov dword [esp], esi
call fcn.100972a0
mov eax, dword [edi + 0xc]
cmp eax, 1
je 0x1009b79c
cmp eax, 2
jne 0x1009b7a7
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_ExitMonitor
jmp 0x1009b7a7
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
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 0x1009b704
Function at 0x1009b7d0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xc]
cmp eax, 1
je 0x1009b7f6
cmp eax, 2
jne 0x1009b829
mov eax, dword [ecx + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_EnterMonitor
jmp 0x1009b826
mov edi, dword [ecx + 8]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x1009b8c3
lea eax, [edi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [edi + 8], esi
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 0
mov eax, 0
je 0x1009b879
xor edi, edi
xor ebx, ebx
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + edi*4]
mov dword [esp], esi
call fcn.100955e0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
mov dword [edx + edi*4], 0
test eax, eax
je 0x1009b860
mov edx, dword [ecx + 0x10]
mov dword [edx + ebx*4], esi
inc ebx
jmp 0x1009b86f
mov dword [esp], esi
mov esi, eax
call fcn.100972a0
mov eax, esi
mov ecx, dword [ebp + 8]
inc edi
cmp edi, dword [ecx + 0x14]
jb 0x1009b838
test ebx, ebx
jne 0x1009b88d
mov ecx, dword [ecx + 0x10]
mov dword [esp], ecx
mov esi, eax
call fcn.10092db0
mov eax, esi
mov ecx, dword [ebp + 8]
xor ebx, ebx
mov dword [ecx + 0x14], ebx
mov edx, dword [ecx + 0xc]
cmp edx, 1
je 0x1009b8ac
cmp edx, 2
jne 0x1009b8bb
mov ecx, dword [ecx + 8]
mov dword [esp], ecx
mov esi, eax
call sym.nss3.dll_PR_ExitMonitor
jmp 0x1009b8b9
mov ecx, dword [ecx + 8]
mov dword [esp], ecx
mov esi, eax
call sym.nss3.dll_PR_Unlock
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x1009b814
Function at 0x1009b8e0
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 eax, dword [edi + 0xc]
cmp eax, 1
je 0x1009b906
cmp eax, 2
jne 0x1009b936
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_EnterMonitor
jmp 0x1009b936
mov ebx, dword [edi + 8]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x1009b9b6
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 + 0x14]
xor esi, esi
test eax, eax
je 0x1009b97a
lea eax, [eax*4 + 4]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.10092ca0
test eax, eax
je 0x1009b97a
cmp dword [edi + 0x14], 0
je 0x1009b978
xor ecx, ecx
mov edx, dword [edi + 0x10]
mov edx, dword [edx + ecx*4]
mov edx, dword [edx + 4]
lock inc dword [edx + 8]
mov dword [eax + ecx*4], edx
inc ecx
cmp ecx, dword [edi + 0x14]
jb 0x1009b962
mov esi, eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [edi + 0xc]
cmp eax, 1
je 0x1009b997
cmp eax, 2
jne 0x1009b9a2
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_ExitMonitor
jmp 0x1009b9a2
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
test ebx, ebx
je 0x1009b9ac
mov dword [ebx], 0
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x1009b924
Function at 0x1009b9d0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0xc]
cmp eax, 1
je 0x1009b9f3
cmp eax, 2
jne 0x1009ba19
push dword [ebx + 8]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
jmp 0x1009ba19
mov edi, dword [ebx + 8]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1009baa5
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x1009ba42
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebx + 0x10]
xor esi, esi
mov edi, dword [edx + esi*4]
test ecx, ecx
jne 0x1009ba36
mov ebx, dword [edi + 0xc]
test ebx, ebx
jne 0x1009ba4d
cmp dword [edi + 4], ecx
je 0x1009ba46
inc esi
cmp eax, esi
jne 0x1009ba28
jmp 0x1009ba77
xor esi, esi
jmp 0x1009ba7c
mov ebx, dword [edi + 0xc]
test ebx, ebx
je 0x1009bac2
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, eax
inc edi
push edi
push 0
call fcn.10092ca0
add esp, 8
test eax, eax
je 0x1009ba77
mov esi, eax
push edi
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x1009ba79
xor esi, esi
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0xc]
cmp eax, 1
je 0x1009ba93
cmp eax, 2
jne 0x1009ba9e
push dword [ebx + 8]
call sym.nss3.dll_PR_ExitMonitor
jmp 0x1009ba9b
push dword [ebx + 8]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, esi
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 0x1009ba0c
xor edi, edi
inc edi
xor ebx, ebx
jmp 0x1009ba59
Function at 0x1009bad0
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]
cmp dword [edi + 0x14], 0
je 0x1009bafc
mov eax, dword [edi + 0xc]
cmp eax, 1
je 0x1009bb03
cmp eax, 2
jne 0x1009bb33
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_EnterMonitor
jmp 0x1009bb33
xor esi, esi
jmp 0x1009bb97
mov ebx, dword [edi + 8]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x1009bba1
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 + 0x14]
lea eax, [eax*4 + 4]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.10092ca0
mov esi, eax
test eax, eax
je 0x1009bb72
cmp dword [edi + 0x14], 0
je 0x1009bb72
xor ebx, ebx
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ebx*4]
mov dword [esp], eax
call fcn.100972d0
mov dword [esi + ebx*4], eax
inc ebx
cmp ebx, dword [edi + 0x14]
jb 0x1009bb5b
mov eax, dword [edi + 0xc]
cmp eax, 1
je 0x1009bb8c
cmp eax, 2
jne 0x1009bb97
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_ExitMonitor
jmp 0x1009bb97
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x1009bb21

Function at 0x1009bbc0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x1009bc06
mov ecx, dword [esi]
test ecx, ecx
je 0x1009bbff
add esi, 4
cmp dword [ecx + 0x54], 0
je 0x1009bbed
xor edx, edx
call fcn.1009a0e0
test eax, eax
je 0x1009bbf6
push eax
call sym.nss3.dll_CERT_DestroyCertificate
jmp 0x1009bbf3
push ecx
call fcn.100986e0
add esp, 4
mov ecx, dword [esi]
add esi, 4
test ecx, ecx
jne 0x1009bbd4
pop esi
pop ebp
jmp fcn.10092db0
pop esi
pop ebp
ret

Function at 0x1009bf00
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x1009bf2d
mov eax, dword [esi]
test eax, eax
je 0x1009bf26
add esi, 4
push eax
call fcn.1009b640
add esp, 4
mov eax, dword [esi]
add esi, 4
test eax, eax
jne 0x1009bf14
pop esi
pop ebp
jmp fcn.10092db0
pop esi
pop ebp
ret
Function at 0x1009cab0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x10]
mov edi, dword [ebx + 8]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x1009cb6a
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 + 8]
mov esi, dword [ebx + 0x10]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
test esi, esi
je 0x1009cb12
mov dword [esp], 0x24
call fcn.10093490
xor eax, eax
dec eax
jmp 0x1009cb62
mov edi, dword [ebp + 8]
mov esi, dword [edi + 8]
lea eax, [esi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DeleteCriticalSection]
sub esp, 4
mov dword [esp], esi
call dword [sym.imp.mozglue.dll_free]
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call fcn.10093640
mov eax, dword [edi + 0xc]
mov dword [esp], eax
call fcn.10093640
cmp dword [edi], 0
je 0x1009cb58
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.10092f20
jmp 0x1009cb60
mov dword [esp], edi
call fcn.10092db0
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 0x1009cadd
Function at 0x1009ce50
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 + 8]
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, dword [ecx + 0x10]
mov ebx, dword [edi + 8]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1009cff6
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov ebx, dword [ebp + 0xc]
push ebx
push dword [edi + 0xc]
call sym.nss3.dll_PL_HashTableLookup
add esp, 8
mov esi, eax
push dword [edi + 8]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x1009ceb5
mov eax, ebx
cmp dword [esi], ebx
je 0x1009cec7
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x10]
mov ebx, dword [edi + 8]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1009d013
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov ebx, dword [ebp + 0xc]
push ebx
push dword [edi + 0xc]
call sym.nss3.dll_PL_HashTableLookup
add esp, 8
mov esi, eax
push dword [edi + 8]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
mov edi, dword [ebp + 8]
je 0x1009cf4b
push ebx
push dword [edi + 0x10]
call fcn.10093720
add esp, 8
mov eax, dword [esi + 4]
test eax, eax
je 0x1009cf32
push eax
call fcn.1009b640
add esp, 4
mov eax, dword [esi + 8]
test eax, eax
je 0x1009cf42
push eax
call fcn.1009b640
add esp, 4
push esi
call fcn.10092db0
add esp, 4
lea eax, [ebx + 0x40]
mov dword [ebp - 0x18], eax
mov edi, dword [edi + 0xc]
mov ebx, dword [edi + 8]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1009d030
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov ebx, dword [ebp - 0x18]
push ebx
push dword [edi + 0xc]
call sym.nss3.dll_PL_HashTableLookup
add esp, 8
mov esi, eax
push dword [edi + 8]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
mov eax, dword [ebp + 0xc]
je 0x1009ceb5
mov edi, ebx
push eax
push esi
call fcn.10093e90
add esp, 8
push ebx
mov ebx, dword [ebp + 8]
push dword [ebx + 0xc]
call fcn.10093720
add esp, 8
cmp dword [esi + 0xc], 0
je 0x1009cfe8
lea edi, [ebp - 0x14]
push 1
push edi
push esi
call fcn.10093f60
add esp, 0xc
mov eax, dword [edi]
add eax, 0x40
push esi
push eax
push dword [ebx + 0xc]
call fcn.10093690
add esp, 0xc
jmp 0x1009ceb5
push esi
call fcn.10093ac0
add esp, 4
jmp 0x1009ceb5
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x1009ce82
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x1009cee6
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x1009cf6d
Function at 0x1009d050
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 8]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1009d12e
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov ebx, dword [edi + 0xc]
mov edi, dword [ebx + 8]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1009d14b
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
push dword [ebp + 0xc]
push dword [ebx + 0xc]
call sym.nss3.dll_PL_HashTableLookup
add esp, 8
mov esi, eax
push dword [ebx + 8]
call sym.nss3.dll_PR_Unlock
add esp, 4
xor edi, edi
test esi, esi
je 0x1009d115
push esi
call fcn.10098fd0
add esp, 4
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x1009d115
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
cmp ecx, edx
mov ebx, edx
cmovb ebx, ecx
test edx, edx
cmove ebx, ecx
xor edi, edi
test eax, eax
jne 0x1009d10a
lea eax, [ebx*4 + 4]
push eax
push dword [ebp + 0x18]
call fcn.10092ca0
add esp, 8
mov edi, eax
test eax, eax
je 0x1009d12a
push ebx
push eax
push esi
call fcn.10093f60
add esp, 0xc
mov eax, dword [ebp + 8]
push dword [eax + 8]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
xor edi, edi
jmp 0x1009d115
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x1009d072
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x1009d09b
Function at 0x1009d170
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 [ebp + 0xc]
mov ecx, dword [0x101ef014]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0
mov ebx, dword [edi + 8]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1009d24c
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
lea esi, [ebp - 0x18]
push esi
push 0x1009d270
push dword [edi + 0xc]
call fcn.100937a0
add esp, 0xc
mov eax, dword [esi + 4]
xor esi, esi
test eax, eax
je 0x1009d229
push eax
call fcn.10098fd0
add esp, 4
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x1009d229
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
cmp ecx, edx
mov edi, edx
cmovb edi, ecx
test edx, edx
cmove edi, ecx
xor esi, esi
test eax, eax
jne 0x1009d21b
lea eax, [edi*4 + 4]
push eax
push dword [ebp + 0x18]
call fcn.10092ca0
add esp, 8
mov esi, eax
test eax, eax
je 0x1009d248
push edi
push eax
push ebx
call fcn.10093f60
add esp, 0xc
mov edi, dword [ebp + 8]
push dword [edi + 8]
call sym.nss3.dll_PR_Unlock
add esp, 4
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 0x1009d226
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov esi, eax
jmp 0x1009d1ad
Function at 0x1009d2f0
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 + 0xc]
mov ecx, dword [0x101ef014]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], eax
xor esi, esi
push esi
push esi
call fcn.10093a20
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1009d3d7
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 8]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x1009d3eb
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
lea edi, [ebp - 0x18]
push edi
push 0x1009d410
mov ebx, dword [ebp + 8]
push dword [ebx + 0xc]
call fcn.100937a0
add esp, 0xc
mov eax, dword [edi + 4]
test eax, eax
mov edi, ebx
je 0x1009d373
push eax
call fcn.10098fd0
add esp, 4
push dword [edi + 8]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov edi, dword [ebp - 0x14]
test edi, edi
je 0x1009d3d7
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x1009d3ca
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
cmp ecx, edx
mov ebx, edx
cmovb ebx, ecx
test edx, edx
cmove ebx, ecx
xor esi, esi
test eax, eax
jne 0x1009d3bd
lea eax, [ebx*4 + 4]
push eax
push dword [ebp + 0x18]
call fcn.10092ca0
add esp, 8
mov esi, eax
test eax, eax
je 0x1009d3ca
push ebx
push eax
push edi
call fcn.10093f60
add esp, 0xc
jmp 0x1009d3cc
xor esi, esi
push dword [ebp - 0x14]
call fcn.10093ac0
add esp, 4
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
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
mov edi, eax
jmp 0x1009d33d
Function at 0x1009d4b0
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 [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, dword [ebx + 8]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x1009d599
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 [ebp + 0xc]
movsd xmm0, qword [eax]
movsd qword [ebp - 0x30], xmm0
mov eax, dword [ebp + 0x10]
movsd xmm0, qword [eax]
movsd qword [ebp - 0x20], xmm0
mov ebx, dword [ebx + 0x10]
mov edi, dword [ebx + 8]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x1009d5b0
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 0x1009d577
mov eax, dword [edi]
test eax, eax
mov ecx, dword [ebp + 8]
je 0x1009d57a
lock inc dword [eax + 4]
mov esi, eax
jmp 0x1009d57a
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 8]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, esi
add esp, 0x6c
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x1009d4e4
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x1009d52f