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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov esi, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [0x101ef014]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x2c]
mov dword [ecx], edx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x1c], 0xce534368
mov dword [ebp - 0x18], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
inc eax
mov dword [ebp - 0x14], eax
mov ebx, dword [esi + 0x3c]
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100d078b
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x28]
push eax
push 0
push 2
push ecx
push dword [esi + 0x38]
push esi
call fcn.100bc3d0
add esp, 0x18
mov edi, eax
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test edi, edi
je 0x100d076a
push edi
call fcn.100a9930
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
jmp 0x100d0777
push dword [esi + 4]
call sym.nss3.dll_SECMOD_UpdateSlotList
add esp, 4
mov esi, eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, esi
add esp, 0x24
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 0x100d071b

Function at 0x100d08e0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov esi, dword [ebp + 8]
push dword [esi + 0x40]
push str.tokens_0x_x___
call sym.nss3.dll_PR_smprintf
add esp, 8
test eax, eax
je 0x100d0992
mov ebx, eax
mov ecx, esi
mov edx, 0xce534356
push eax
call fcn.100d06c0
add esp, 4
mov edi, eax
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
push esi
call fcn.100cbb00
add esp, 4
test eax, eax
je 0x100d09a4
mov ebx, eax
mov esi, dword [eax + 0x14]
test esi, esi
je 0x100d097c
mov dword [ebp - 0x14], edi
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x18], eax
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x100d09ae
mov edi, dword [ebp - 0x18]
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x10]
mov dword [edi + 8], eax
mov dword [esi + 0x34], 0
push dword [esi + 0x44]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov edi, dword [ebp - 0x14]
push ebx
call fcn.10095540
add esp, 4
xor edx, edx
inc edx
mov ecx, dword [ebp + 8]
call fcn.100cbe80
jmp 0x100d09a4
push 0
push 0xffffe013
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
mov eax, edi
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 dword [ebp - 0x10], eax
jmp 0x100d0954
Function at 0x100d09d0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [0x101f33ac]
test eax, eax
je 0x100d0bad
push eax
call fcn.100d3060
add esp, 4
mov esi, dword [0x101f33b8]
test esi, esi
je 0x100d0bc1
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov edi, dword [esi + 4]
cmp dword [ebp + 8], 0
jne 0x100d0a3f
mov eax, dword [edi + 0x1c]
mov ecx, dword [eax + 0x12]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push eax
xor eax, eax
push eax
push eax
call ecx
add esp, 0xc
test eax, eax
je 0x100d0abf
mov eax, dword [edi + 0x1c]
mov ecx, dword [eax + 6]
call dword [section..00cfg]
xor ebx, ebx
push ebx
call ecx
add esp, 4
lea eax, [ebp - 0x18]
push eax
push ebx
push edi
call fcn.100b5ed0
add esp, 0xc
test eax, eax
mov dword [ebp - 0x24], esi
je 0x100d0ace
mov ebx, eax
cmp dword [0x101f2f50], 0
je 0x100d0b7f
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100d0b64
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x20], eax
cmp dword [edi + 0x2c], 0
jle 0x100d0ab9
xor eax, eax
mov ecx, dword [edi + 0x28]
mov ecx, dword [ecx + eax*4]
mov dword [ecx + 0x18], 1
mov ecx, dword [edi + 0x28]
mov ecx, dword [ecx + eax*4]
mov dword [ecx + 0x1c], 2
inc eax
cmp eax, dword [edi + 0x2c]
jl 0x100d0a99
mov dword [ebp - 0x1c], ebx
mov esi, dword [ebp - 0x24]
mov esi, dword [esi]
test esi, esi
jne 0x100d0a15
jmp 0x100d0b89
cmp dword [edi + 0x2c], 0
jle 0x100d0abc
xor esi, esi
mov eax, dword [edi + 0x28]
push 1
push dword [eax + esi*4]
call fcn.100caf50
add esp, 8
test eax, eax
je 0x100d0b3a
mov ebx, eax
mov eax, dword [edi + 0x28]
mov ecx, dword [eax + esi*4]
xor edx, edx
inc edx
call fcn.100cbe80
test eax, eax
je 0x100d0b3a
cmp dword [0x101f2f50], 0
je 0x100d0b5d
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100d0b45
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 0x28]
mov eax, dword [eax + esi*4]
mov dword [eax + 0x18], 1
mov eax, dword [edi + 0x28]
mov eax, dword [eax + esi*4]
mov dword [eax + 0x1c], 2
mov dword [ebp - 0x1c], ebx
inc esi
cmp esi, dword [edi + 0x2c]
jl 0x100d0ad6
jmp 0x100d0abc
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x100d0b17
call fcn.100029d0
jmp 0x100d0b07
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x100d0a8b
call fcn.100029d0
jmp 0x100d0a77
push dword [0x101f33ac]
call fcn.100d3140
add esp, 4
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x100d0bcf
push 0
push dword [ebp - 0x20]
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100d0bd1
push 0
push 0xffffe09a
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
jmp 0x100d0bd1
push dword [0x101f33ac]
call fcn.100d3140
add esp, 4
xor esi, esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, esi
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x100d2340
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [ebp + 8]
test edi, edi
je 0x100d2374
mov ebx, dword [ebp + 0xc]
xor esi, esi
mov dword [edi + 4], esi
mov dword [edi + 8], esi
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
push eax
push ebx
push edi
push esi
call fcn.100d1e30
add esp, 0x10
cmp eax, 1
sbb esi, esi
jmp 0x100d239f
cmp dword [0x101f2f50], 0
je 0x100d23be
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100d23a6
mov dword [eax + 0x28], 0xffffe005
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
xor esi, esi
dec esi
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
jmp 0x100d238d
call fcn.100029d0
jmp 0x100d237d
Function at 0x100d3060
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
cmp dword [0x101f2f50], 0
je 0x100d3135
mov ebx, dword [ebp + 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 0x100d3106
mov eax, dword [ebx]
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 0x100d311d
mov edi, dword [ebp - 0x14]
lea eax, [edi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov eax, dword [ebp - 0x10]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x24]
cmp eax, esi
je 0x100d30f1
test eax, eax
jne 0x100d30d6
cmp dword [ebx + 0x18], 0
je 0x100d30f1
inc dword [ebx + 0x14]
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call sym.nss3.dll_PR_WaitCondVar
dec dword [ebx + 0x14]
jmp 0x100d30c5
inc dword [ebx + 0x10]
mov eax, dword [ebx]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
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 0x100d3090
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov dword [ebp - 0x10], eax
jmp 0x100d30ad
call fcn.100029d0
jmp 0x100d3076

Function at 0x100d3140
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]
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 0x100d31ad
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 + 0x10]
test eax, eax
jle 0x100d319b
dec eax
mov dword [edi + 0x10], eax
jne 0x100d319b
cmp dword [edi + 0x24], 0
jne 0x100d319b
cmp dword [edi + 0x18], 0
je 0x100d319b
mov eax, dword [edi + 0x20]
mov dword [esp], eax
call sym.nss3.dll_PR_NotifyCondVar
mov eax, dword [edi]
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 0x100d3165
Function at 0x100d31d0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
cmp dword [0x101f2f50], 0
je 0x100d32a8
mov ebx, dword [ebp + 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 0x100d3279
mov eax, dword [ebx]
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 0x100d3290
mov edi, dword [ebp - 0x14]
lea eax, [edi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov eax, dword [ebp - 0x10]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x24]
cmp eax, esi
je 0x100d3261
test eax, eax
jne 0x100d3246
cmp dword [ebx + 0x10], 0
je 0x100d3261
inc dword [ebx + 0x18]
mov eax, dword [ebx + 0x20]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call sym.nss3.dll_PR_WaitCondVar
dec dword [ebx + 0x18]
jmp 0x100d3235
mov dword [ebx + 0x24], esi
inc dword [ebx + 0xc]
mov eax, dword [ebx]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
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 0x100d3200
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov dword [ebp - 0x10], eax
jmp 0x100d321d
call fcn.100029d0
jmp 0x100d31e6

Function at 0x100d32c0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
cmp dword [0x101f2f50], 0
je 0x100d33ad
mov edi, dword [ebp + 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 0x100d337f
mov ebx, dword [edi]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov edi, eax
test eax, eax
je 0x100d3396
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], edi
mov eax, dword [ebp + 8]
cmp dword [eax + 0x24], esi
mov esi, eax
je 0x100d333f
mov eax, dword [esi]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x100d332d
dec eax
mov dword [esi + 0xc], eax
jne 0x100d332d
mov dword [esi + 0x24], 0
cmp dword [esi + 0x18], 0
je 0x100d336c
cmp dword [esi + 0x10], 0
jne 0x100d332d
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call sym.nss3.dll_PR_NotifyCondVar
jmp 0x100d332d
cmp dword [esi + 0x14], 0
je 0x100d332d
mov eax, dword [esi + 0x1c]
mov dword [esp], eax
call sym.nss3.dll_PR_NotifyAllCondVar
jmp 0x100d332d
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov esi, eax
jmp 0x100d32f4
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
mov edi, eax
jmp 0x100d3311
call fcn.100029d0
jmp 0x100d32d6
Function at 0x100d3f80
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov dword [ebp - 0x20], edx
mov edi, ecx
mov esi, dword [ecx]
mov bl, byte [esi]
test bl, bl
je 0x100d4127
movsx eax, bl
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x100d4127
mov dword [ebp - 0x10], esi
xor esi, esi
test bl, bl
je 0x100d4122
movzx eax, bl
cmp eax, 0x3d
je 0x100d3feb
movsx eax, bl
push 0x41
push eax
push str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789__
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x100d4122
mov eax, dword [ebp - 0x10]
mov bl, byte [eax + esi + 1]
inc esi
jmp 0x100d3fb6
test esi, esi
je 0x100d4122
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x10]
lea edi, [eax + esi]
inc edi
movsx ebx, byte [edi]
mov dword [ebp - 0x14], edi
test ebx, ebx
je 0x100d4084
mov edi, dword [ebp - 0x14]
cmp ebx, dword [ebp + 8]
je 0x100d4084
mov edi, dword [ebp - 0x14]
push ebx
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x100d4084
push ebx
push dword [ebp + 0xc]
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x100d4076
cmp bl, 0x25
jne 0x100d4122
movsx eax, byte [edi + 1]
push 0x17
push eax
push str.0123456789abcdefABCDEF
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x100d4122
movsx eax, byte [edi + 2]
push 0x17
push eax
push str.0123456789abcdefABCDEF
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x100d4122
add edi, 2
movsx ebx, byte [edi + 1]
inc edi
test ebx, ebx
je 0x100d4084
cmp ebx, dword [ebp + 8]
jne 0x100d4012
mov dword [ebp - 0x24], edi
sub edi, dword [ebp - 0x10]
mov ecx, esi
not ecx
add ecx, edi
mov dword [ebp - 0x1c], ecx
xor ebx, ebx
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + ebx*4]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, esi
jne 0x100d40b9
push esi
push edi
push dword [ebp - 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d40e2
inc ebx
cmp dword [ebp + 0x14], ebx
jne 0x100d4095
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x10]
push dword [ebp + 0x24]
push sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push esi
call fcn.100d4b70
add esp, 0x14
test eax, eax
je 0x100d4100
jmp 0x100d4122
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x10]
push 0
push dword [ebp + 0x20]
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push esi
call fcn.100d4b70
add esp, 0x14
test eax, eax
jne 0x100d412d
mov ecx, dword [ebp - 0x24]
movzx eax, byte [ecx]
test eax, eax
je 0x100d4135
cmp eax, 0x3f
je 0x100d4135
mov bl, byte [ecx + 1]
inc ecx
mov esi, ecx
test bl, bl
mov edi, dword [ebp - 0x18]
jne 0x100d3f9a
jmp 0x100d4129
xor eax, eax
dec eax
jmp 0x100d412d
mov ecx, esi
mov dword [edi], ecx
xor eax, eax
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [ebp - 0x18]
jmp 0x100d4129
Function at 0x100da790
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 8
mov ecx, dword [ebp + 8]
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ecx + 8]
test eax, eax
je 0x100da7ce
mov ecx, dword [ecx + 4]
xor edx, edx
mov bl, byte [ecx + edx]
mov esi, edx
and esi, 3
xor byte [ebp + esi - 0x10], bl
inc edx
cmp eax, edx
jne 0x100da7b8
mov esi, dword [ebp - 0x10]
jmp 0x100da7d0
xor esi, esi
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10156ff0
mov eax, esi
add esp, 8
pop esi
pop ebx
pop ebp
ret

Function at 0x100db500
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 8]
test eax, eax
js 0x100db524
xor ecx, ecx
inc ecx
test eax, eax
cmovne ecx, eax
mov dword [esp], ecx
call dword [sym.imp.mozglue.dll_malloc]
mov ecx, eax
test eax, eax
jne 0x100db551
cmp dword [0x101f2f50], 0
je 0x100db56a
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100db558
mov dword [eax + 0x28], 0xffffe013
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
mov eax, ecx
add esp, 0x10
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
jmp 0x100db542
call fcn.100029d0
jmp 0x100db52d

Function at 0x100db580
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x10
cmp dword [0x101f2f50], 0
je 0x100db5cb
mov esi, dword [ebp + 8]
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100db5b9
mov dword [eax + 0x28], esi
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
add esp, 0x10
pop esi
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
jmp 0x100db5a8
call fcn.100029d0
jmp 0x100db590

Function at 0x100db5e0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 0xc]
test eax, eax
js 0x100db603
mov ecx, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [sym.imp.mozglue.dll_realloc]
mov ecx, eax
test eax, eax
jne 0x100db630
cmp dword [0x101f2f50], 0
je 0x100db649
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100db637
mov dword [eax + 0x28], 0xffffe013
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
mov eax, ecx
add esp, 0x10
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
jmp 0x100db621
call fcn.100029d0
jmp 0x100db60c
Function at 0x100db650
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 8]
test eax, eax
js 0x100db67c
xor ecx, ecx
inc ecx
test eax, eax
cmovne ecx, eax
mov dword [esp + 4], ecx
mov dword [esp], 1
call dword [sym.imp.mozglue.dll_calloc]
mov ecx, eax
test eax, eax
jne 0x100db6a9
cmp dword [0x101f2f50], 0
je 0x100db6c2
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100db6b0
mov dword [eax + 0x28], 0xffffe013
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
mov eax, ecx
add esp, 0x10
pop ebp
ret
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
jmp 0x100db69a
call fcn.100029d0
jmp 0x100db685

Function at 0x100db6d0
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]
xor esi, esi
cmp dword [ebp + 0x10], eax
ja 0x100db7c0
mov ebx, dword [ebp + 0xc]
lea edi, [ebx - 1]
test ebx, edi
sete cl
test ebx, ebx
setne dl
test dl, cl
je 0x100db738
xor ecx, ecx
inc ecx
test eax, eax
cmove eax, ecx
add eax, edi
js 0x100db763
cmove eax, ecx
mov dword [esp + 4], eax
mov dword [esp], 1
call dword [sym.imp.mozglue.dll_calloc]
test eax, eax
je 0x100db763
add edi, eax
neg ebx
and ebx, edi
je 0x100db7c0
mov ecx, dword [ebp + 0x10]
mov dword [ebx + ecx], eax
mov esi, ebx
jmp 0x100db7c0
cmp dword [0x101f2f50], 0
je 0x100db803
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100db7ca
mov dword [eax + 0x28], 0xffffe005
jmp 0x100db7b8
cmp dword [0x101f2f50], 0
je 0x100db80d
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100db7df
mov dword [eax + 0x28], 0xffffe013
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
cmp dword [0x101f2f50], ecx
je 0x100db817
mov eax, dword [0x101f25a4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100db7f1
mov dword [eax + 0x28], 0xffffe013
xor esi, esi
mov dword [eax + 0x2c], esi
mov dword [eax + 0x30], esi
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
jmp 0x100db75a
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
jmp 0x100db785
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
jmp 0x100db7b1
call fcn.100029d0
jmp 0x100db745
call fcn.100029d0
jmp 0x100db770
call fcn.100029d0
jmp 0x100db79c
Function at 0x100db830
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov ebx, dword [ebp + 8]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
inc esi
js 0x100db86c
xor eax, eax
inc eax
test esi, esi
cmovne eax, esi
push eax
call dword [sym.imp.mozglue.dll_malloc]
add esp, 4
test eax, eax
je 0x100db86c
mov edi, eax
push esi
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x100db894
cmp dword [0x101f2f50], 0
je 0x100db8b3
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100db89b
mov dword [eax + 0x28], 0xffffe013
xor edi, edi
mov dword [eax + 0x2c], edi
mov dword [eax + 0x30], edi
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
jmp 0x100db885
call fcn.100029d0
jmp 0x100db875

Function at 0x100db8c0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov edi, dword [ebp + 8]
test edi, edi
js 0x100db905
push 0x24
push 1
call dword [sym.imp.mozglue.dll_calloc]
add esp, 8
test eax, eax
je 0x100db905
mov esi, eax
mov dword [eax + 0x1c], 0xb8ac9bdf
call sym.nss3.dll_PR_NewLock
mov dword [esi + 0x20], eax
test eax, eax
je 0x100db933
push 8
push edi
push str.security
push esi
call sym.nss3.dll_PL_InitArenaPool
add esp, 0x10
jmp 0x100db92d
cmp dword [0x101f2f50], 0
je 0x100db959
push dword [0x101f25a4]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100db941
mov dword [eax + 0x28], 0xffffe013
xor esi, esi
mov dword [eax + 0x2c], esi
mov dword [eax + 0x30], esi
mov eax, esi
pop esi
pop edi
pop ebp
ret
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
xor esi, esi
jmp 0x100db92d
sub esp, 0x10
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [esp], xmm0
call fcn.1006d800
add esp, 0x10
jmp 0x100db91e
call fcn.100029d0
jmp 0x100db90e