joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100d80f0
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 [0x101db014]
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 [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x100d81bb
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.100c3c00
add esp, 0x18
mov edi, eax
push dword [esi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test edi, edi
je 0x100d819a
push edi
call fcn.100b1140
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
jmp 0x100d81a7
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.1014dc80
mov eax, esi
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov edi, eax
jmp 0x100d814b

Function at 0x100d82b0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov esi, dword [ebp + 8]
push dword [esi + 0x40]
push str.tokens_0x_x___
call sym.nss3.dll_PR_smprintf
add esp, 8
test eax, eax
je 0x100d834a
mov ebx, eax
mov ecx, esi
mov edx, 0xce534356
push eax
call fcn.100d80f0
add esp, 4
mov edi, eax
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [esi + 0x13c]
test eax, eax
je 0x100d835c
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x100d835c
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0x14], eax
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x100d8366
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 dword [ebx + 0x3c], 0
push dword [ebx + 0x4c]
call sym.nss3.dll_PR_Unlock
add esp, 4
xor edx, edx
inc edx
mov ecx, dword [ebp + 8]
call fcn.100d4740
jmp 0x100d835c
push 0
push 0xffffe013
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
mov eax, edi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov dword [ebp - 0x10], eax
jmp 0x100d8318
Function at 0x100d8390
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [0x101df008]
test eax, eax
je 0x100d856d
push eax
call fcn.100da9f0
add esp, 4
mov esi, dword [0x101df014]
test esi, esi
je 0x100d8581
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov edi, dword [esi + 4]
cmp dword [ebp + 8], 0
jne 0x100d83ff
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 0x100d847f
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.100bd850
add esp, 0xc
test eax, eax
mov dword [ebp - 0x24], esi
je 0x100d848e
mov ebx, eax
cmp dword [0x101de200], 0
je 0x100d853f
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100d8524
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x20], eax
cmp dword [edi + 0x2c], 0
jle 0x100d8479
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 0x100d8459
mov dword [ebp - 0x1c], ebx
mov esi, dword [ebp - 0x24]
mov esi, dword [esi]
test esi, esi
jne 0x100d83d5
jmp 0x100d8549
cmp dword [edi + 0x2c], 0
jle 0x100d847c
xor esi, esi
mov eax, dword [edi + 0x28]
push 1
push dword [eax + esi*4]
call fcn.100d3c80
add esp, 8
test eax, eax
je 0x100d84fa
mov ebx, eax
mov eax, dword [edi + 0x28]
mov ecx, dword [eax + esi*4]
xor edx, edx
inc edx
call fcn.100d4740
test eax, eax
je 0x100d84fa
cmp dword [0x101de200], 0
je 0x100d851d
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100d8505
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 0x100d8496
jmp 0x100d847c
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x100d84d7
call fcn.100745e0
jmp 0x100d84c7
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x100d844b
call fcn.100745e0
jmp 0x100d8437
push dword [0x101df008]
call fcn.100daad0
add esp, 4
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x100d858f
push 0
push dword [ebp - 0x20]
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100d8591
push 0
push 0xffffe09a
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
jmp 0x100d8591
push dword [0x101df008]
call fcn.100daad0
add esp, 4
xor esi, esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014dc80
mov eax, esi
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x100da9f0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
cmp dword [0x101de200], 0
je 0x100daac5
mov ebx, dword [ebp + 8]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x100daa96
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov dword [ebp - 0x10], eax
test eax, eax
je 0x100daaad
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 0x100daa81
test eax, eax
jne 0x100daa66
cmp dword [ebx + 0x18], 0
je 0x100daa81
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 0x100daa55
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 [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x100daa20
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov dword [ebp - 0x10], eax
jmp 0x100daa3d
call fcn.100745e0
jmp 0x100daa06

Function at 0x100daad0
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 [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x100dab3d
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 0x100dab2b
dec eax
mov dword [edi + 0x10], eax
jne 0x100dab2b
cmp dword [edi + 0x24], 0
jne 0x100dab2b
cmp dword [edi + 0x18], 0
je 0x100dab2b
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 [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x100daaf5
Function at 0x100dab60
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
cmp dword [0x101de200], 0
je 0x100dac38
mov ebx, dword [ebp + 8]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x100dac09
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov dword [ebp - 0x10], eax
test eax, eax
je 0x100dac20
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 0x100dabf1
test eax, eax
jne 0x100dabd6
cmp dword [ebx + 0x10], 0
je 0x100dabf1
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 0x100dabc5
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 [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x100dab90
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov dword [ebp - 0x10], eax
jmp 0x100dabad
call fcn.100745e0
jmp 0x100dab76

Function at 0x100dac50
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
cmp dword [0x101de200], 0
je 0x100dad3d
mov edi, dword [ebp + 8]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x100dad0f
mov ebx, dword [edi]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov edi, eax
test eax, eax
je 0x100dad26
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 0x100daccf
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 0x100dacbd
dec eax
mov dword [esi + 0xc], eax
jne 0x100dacbd
mov dword [esi + 0x24], 0
cmp dword [esi + 0x18], 0
je 0x100dacfc
cmp dword [esi + 0x10], 0
jne 0x100dacbd
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call sym.nss3.dll_PR_NotifyCondVar
jmp 0x100dacbd
cmp dword [esi + 0x14], 0
je 0x100dacbd
mov eax, dword [esi + 0x1c]
mov dword [esp], eax
call sym.nss3.dll_PR_NotifyAllCondVar
jmp 0x100dacbd
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x100dac84
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov edi, eax
jmp 0x100daca1
call fcn.100745e0
jmp 0x100dac66
Function at 0x100db8e0
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 0x100dba82
movsx eax, bl
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x100dba82
mov dword [ebp - 0x10], esi
xor esi, esi
test bl, bl
je 0x100dba7d
cmp bl, 0x3d
je 0x100db948
movsx eax, bl
push 0x41
push eax
push str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789__
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x100dba7d
mov eax, dword [ebp - 0x10]
mov bl, byte [eax + esi + 1]
inc esi
jmp 0x100db916
test esi, esi
je 0x100dba7d
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 0x100db9e1
mov edi, dword [ebp - 0x14]
cmp ebx, dword [ebp + 8]
je 0x100db9e1
mov edi, dword [ebp - 0x14]
push ebx
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x100db9e1
push ebx
push dword [ebp + 0xc]
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x100db9d3
cmp bl, 0x25
jne 0x100dba7d
movsx eax, byte [edi + 1]
push 0x17
push eax
push str.0123456789abcdefABCDEF
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x100dba7d
movsx eax, byte [edi + 2]
push 0x17
push eax
push str.0123456789abcdefABCDEF
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x100dba7d
add edi, 2
movsx ebx, byte [edi + 1]
inc edi
test ebx, ebx
je 0x100db9e1
cmp ebx, dword [ebp + 8]
jne 0x100db96f
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 0x100dba16
push esi
push edi
push dword [ebp - 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100dba3f
inc ebx
cmp dword [ebp + 0x14], ebx
jne 0x100db9f2
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.100dc460
add esp, 0x14
test eax, eax
je 0x100dba5d
jmp 0x100dba7d
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.100dc460
add esp, 0x14
test eax, eax
jne 0x100dba88
mov ecx, dword [ebp - 0x24]
mov al, byte [ecx]
test al, al
je 0x100dba90
cmp al, 0x3f
je 0x100dba90
mov bl, byte [ecx + 1]
inc ecx
mov esi, ecx
test bl, bl
mov edi, dword [ebp - 0x18]
jne 0x100db8fa
jmp 0x100dba84
xor eax, eax
dec eax
jmp 0x100dba88
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 0x100dba84
Function at 0x100e2160
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 [0x101db014]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ecx + 8]
test eax, eax
je 0x100e219e
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 0x100e2188
mov esi, dword [ebp - 0x10]
jmp 0x100e21a0
xor esi, esi
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1014dc80
mov eax, esi
add esp, 8
pop esi
pop ebx
pop ebp
ret

Function at 0x100e2ea0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 8]
test eax, eax
js 0x100e2ec4
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 0x100e2ef1
cmp dword [0x101de200], 0
je 0x100e2f0a
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100e2ef8
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 [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100e2ee2
call fcn.100745e0
jmp 0x100e2ecd

Function at 0x100e2f20
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x10
cmp dword [0x101de200], 0
je 0x100e2f6b
mov esi, dword [ebp + 8]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100e2f59
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 [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100e2f48
call fcn.100745e0
jmp 0x100e2f30

Function at 0x100e2f80
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 0xc]
test eax, eax
js 0x100e2fa3
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 0x100e2fd0
cmp dword [0x101de200], 0
je 0x100e2fe9
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100e2fd7
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 [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100e2fc1
call fcn.100745e0
jmp 0x100e2fac
Function at 0x100e2ff0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 8]
test eax, eax
js 0x100e301c
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 0x100e3049
cmp dword [0x101de200], 0
je 0x100e3062
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100e3050
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 [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100e303a
call fcn.100745e0
jmp 0x100e3025

Function at 0x100e3070
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 0x100e3162
mov ebx, dword [ebp + 0xc]
lea edi, [ebx - 1]
test ebx, edi
sete cl
test ebx, ebx
setne dl
test dl, cl
je 0x100e30da
xor ecx, ecx
inc ecx
test eax, eax
cmove eax, ecx
add eax, edi
js 0x100e3105
test eax, eax
cmovne ecx, eax
mov dword [esp + 4], ecx
mov dword [esp], 1
call dword [sym.imp.mozglue.dll_calloc]
test eax, eax
je 0x100e3105
add edi, eax
neg ebx
and ebx, edi
je 0x100e3162
mov ecx, dword [ebp + 0x10]
mov dword [ebx + ecx], eax
mov esi, ebx
jmp 0x100e3162
cmp dword [0x101de200], 0
je 0x100e31a5
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100e316c
mov dword [eax + 0x28], 0xffffe005
jmp 0x100e315a
cmp dword [0x101de200], 0
je 0x100e31af
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100e3181
mov dword [eax + 0x28], 0xffffe013
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
cmp dword [0x101de200], ecx
je 0x100e31b9
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100e3193
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 [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100e30fc
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100e3127
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100e3153
call fcn.100745e0
jmp 0x100e30e7
call fcn.100745e0
jmp 0x100e3112
call fcn.100745e0
jmp 0x100e313e
Function at 0x100e31d0
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 0x100e320c
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 0x100e320c
mov edi, eax
push esi
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x100e3234
cmp dword [0x101de200], 0
je 0x100e3253
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100e323b
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 [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x100e3225
call fcn.100745e0
jmp 0x100e3215

Function at 0x100e3260
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 0x100e32a5
push 0x24
push 1
call dword [sym.imp.mozglue.dll_calloc]
add esp, 8
test eax, eax
je 0x100e32a5
mov esi, eax
mov dword [eax + 0x1c], 0xb8ac9bdf
call sym.nss3.dll_PR_NewLock
mov dword [esi + 0x20], eax
test eax, eax
je 0x100e32d3
push 8
push edi
push str.security
push esi
call sym.nss3.dll_PL_InitArenaPool
add esp, 0x10
jmp 0x100e32cd
cmp dword [0x101de200], 0
je 0x100e32f9
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100e32e1
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 0x100e32cd
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x100e32be
call fcn.100745e0
jmp 0x100e32ae
Function at 0x100e3330
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 + 0xc]
xor ebx, ebx
inc ebx
test eax, eax
cmovne ebx, eax
test ebx, ebx
js 0x100e33fb
mov edi, dword [ebp + 8]
cmp dword [edi + 0x1c], 0xb8ac9bdf
jne 0x100e33ba
mov edi, dword [edi + 0x20]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
mov esi, eax
test eax, eax
je 0x100e344b
lea eax, [edi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [edi + 8], esi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x18]
lea ecx, [eax + ebx]
not eax
and eax, ecx
xor esi, esi
cmp eax, ebx
jb 0x100e33ec
mov ecx, dword [edi + 0x10]
mov esi, dword [ecx + 0xc]
mov edx, dword [ecx + 8]
sub edx, esi
cmp eax, edx
jbe 0x100e33e7
mov dword [esp + 4], eax
mov dword [esp], edi
call sym.nss3.dll_PL_ArenaAllocate
mov esi, eax
jmp 0x100e33ec
mov eax, dword [edi + 0x18]
lea ecx, [eax + ebx]
not eax
and eax, ecx
cmp eax, ebx
jb 0x100e33fb
mov ecx, dword [edi + 0x10]
mov esi, dword [ecx + 0xc]
mov edx, dword [ecx + 8]
sub edx, esi
cmp eax, edx
jbe 0x100e3432
mov dword [esp + 4], eax
mov dword [esp], edi
call sym.nss3.dll_PL_ArenaAllocate
mov esi, eax
jmp 0x100e33f7
add eax, esi
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 0x20]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
test esi, esi
jne 0x100e3428
cmp dword [0x101de200], 0
je 0x100e3462
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100e3439
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
add eax, esi
mov dword [ecx + 0xc], eax
jmp 0x100e33f7
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100e3419
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
mov esi, eax
jmp 0x100e3376
call fcn.100745e0
jmp 0x100e3404