joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140011447
Capabilities:
Query or enumerate registry value

Disassembly:
jmp 0x1400197d0
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x408
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x96
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x428]
mov rax, qword [0x14002d040]
xor rax, rbp
mov qword [rbp + 0x3c0], rax
mov dword [rbp + 0x3a4], 0
lea rcx, [0x140034386]
call fcn.14001182a
lea rdx, str.SOFTWAREMicrosoftCryptography
lea rcx, [rbp + 0x28]
call fcn.140011393
nop
lea rdx, str.MachineGuid
lea rcx, [rbp + 0x68]
call fcn.140011393
nop
mov rcx, qword [rbp + 0x3f0]
call fcn.140011811
mov qword [rbp + 0x3b8], rax
mov eax, dword [rbp + 0x3a4]
or eax, 1
mov dword [rbp + 0x3a4], eax
lea rcx, [rbp + 0x28]
call fcn.1400110be
lea rcx, [rbp + 8]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rax
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x1400198f6
mov dword [rbp + 0x204], 0x100
lea rcx, [rbp + 0x68]
call fcn.1400110be
lea rcx, [rbp + 0x204]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0xf0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x1400198eb
lea rdx, [rbp + 0xf0]
mov rcx, qword [rbp + 0x3f0]
call fcn.14001104b
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rcx, [rbp + 0x68]
call fcn.140011181
nop
lea rcx, [rbp + 0x28]
call fcn.140011181
mov rax, qword [rbp + 0x3f0]
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x1400272d0]
call fcn.1400116bd
mov rax, rdi
mov rcx, qword [rbp + 0x3c0]
xor rcx, rbp
call fcn.1400113ed
lea rsp, [rbp + 0x3d8]
pop rdi
pop rbp
ret

Function at 0x140011488
Capabilities:
Terminate process

Disassembly:
jmp 0x14001d2d0
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret
Function at 0x1400115a0
Capabilities:
Parse pe header

Disassembly:
jmp 0x14001e6d0
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x14001e6f0
xor al, al
jmp 0x14001e771
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x14001e703
xor al, al
jmp 0x14001e771
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x14001e72d
xor al, al
jmp 0x14001e771
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x14001e741
xor al, al
jmp 0x14001e771
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x14001e753
xor al, al
jmp 0x14001e771
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x14001e76f
xor al, al
jmp 0x14001e771
mov al, 1
add rsp, 0x38
ret
Function at 0x1800016a0
Capabilities:
Enumerate gui resources
Find taskbar

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x250
mov rax, qword [0x180005010]
xor rax, rsp
mov qword [rsp + 0x240], rax
lea rcx, [0x180003470]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea rcx, [0x180003470]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
test rax, rax
je 0x180001868
lea rdx, [0x1800034b8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ebp, ebp
mov rsi, rax
mov ebx, ebp
nop word [rax + rax]
xor r9d, r9d
lea r8, str.Progman
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowExW]
test rax, rax
jne 0x180001740
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 0xa
jl 0x180001710
jmp 0x180001868
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], ebp
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [rsp + 0x20]
xor edx, edx
mov ecx, 0x410
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
je 0x180001868
mov r9d, 0x104
lea r8, [rsp + 0x30]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_K32GetModuleFileNameExW]
test eax, eax
je 0x18000185f
lea rcx, [rsp + 0x30]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov rcx, rax
lea rdx, str.explorer.exe
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x18000185f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, ebp
nop dword [rax]
mov edx, dword [rsp + 0x20]
lea rcx, [0x180001600]
mov qword [0x1800056a8], rbp
call qword [sym.imp.USER32.dll_EnumWindows]
mov rax, qword [0x1800056a8]
test rax, rax
jne 0x180001829
call qword [sym.imp.USER32.dll_GetDesktopWindow]
xor r9d, r9d
lea r8, str.Shell_TrayWnd
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowExW]
mov qword [0x1800056a8], rax
test rax, rax
jne 0x180001829
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 0xa
jl 0x1800017c0
mov rax, qword [0x1800056a8]
test rax, rax
je 0x180001868
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8, rdi
mov rdx, rsi
mov r9d, eax
mov ecx, 3
call qword [sym.imp.USER32.dll_SetWindowsHookExW]
mov rcx, qword [0x1800056a8]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x18000186a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.180001a40
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x1800018a0
Capabilities:
Find taskbar
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [0x180005010]
xor rax, rsp
mov qword [rsp + 0x28], rax
xor edx, edx
lea rcx, str.Shell_TrayWnd
call qword [sym.imp.USER32.dll_FindWindowW]
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [rsp + 0x20]
xor edx, edx
lea ecx, [rdx + 1]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
je 0x180001906
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.180001a40
add rsp, 0x30
pop rbx
ret
Function at 0x140001af0
Capabilities:
Enumerate process modules

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x270
mov rax, qword [0x140007010]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rdi, rdx
xor esi, esi
mov edx, ecx
lea ecx, [rsi + 0x18]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140001b7b
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x238
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Module32First]
test eax, eax
je 0x140001b7b
nop word [rax + rax]
mov rdx, rdi
lea rcx, [rsp + 0x50]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x140001b76
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Module32Next]
test eax, eax
jne 0x140001b50
jmp 0x140001b7b
mov rsi, qword [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, rsi
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.140002200
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret

Function at 0x140001d70
Capabilities:
Create thread
Log keystrokes via polling
Terminate thread

Disassembly:
sub rsp, 0x38
call fcn.140001340
xor eax, eax
lea r8, [0x140001bb0]
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x20], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
nop dword [rax + rax]
mov ecx, 0x2e
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140001dbe
mov rcx, qword [0x140007718]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140001da0
Function at 0x140009038
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, r8
mov r9, rcx
xor ecx, ecx
movabs r8, 0xcbf29ce484222325
mov rsi, rdx
movzx eax, byte [rbx + rcx + 0x10]
movabs rdx, 0x100000001b3
xor r8, rax
inc rcx
imul r8, rdx
cmp rcx, 4
jb 0x14000905c
mov rdx, qword [r9 + 0x30]
mov rcx, qword [r9 + 0x18]
and rdx, r8
add rdx, rdx
cmp qword [rcx + rdx*8 + 8], rbx
jne 0x1400090b3
cmp qword [rcx + rdx*8], rbx
jne 0x1400090a8
mov rax, qword [r9 + 8]
mov qword [rcx + rdx*8], rax
mov rcx, qword [r9 + 0x18]
mov rax, qword [r9 + 8]
jmp 0x1400090ac
mov rax, qword [rbx + 8]
mov qword [rcx + rdx*8 + 8], rax
jmp 0x1400090c0
cmp qword [rcx + rdx*8], rbx
jne 0x1400090c0
mov rax, qword [rbx]
mov qword [rcx + rdx*8], rax
mov rax, qword [rbx + 8]
mov rdi, qword [rbx]
mov qword [rax], rdi
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
dec qword [r9 + 0x10]
mov rdx, qword [rbx + 0x30]
cmp rdx, 8
jb 0x1400090f5
mov rcx, qword [rbx + 0x18]
inc rdx
mov r8d, 2
call fcn.1400020a4
mov edx, 1
mov rcx, rbx
lea r8d, [rdx + 0x37]
call fcn.1400020a4
mov rbx, qword [rsp + 0x30]
mov rax, rsi
mov qword [rsi], rdi
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x14000b51c
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.api_ms_win_core_debug_l1_1_1.dll_IsDebuggerPresent]
mov ecx, 1
mov dword [0x1400148a0], eax
call fcn.14000b2a4
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_SetUnhandledExceptionFilter]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_UnhandledExceptionFilter]
cmp dword [0x1400148a0], 0
jne case.default.0x14000b572
mov ecx, 1
call fcn.14000b2a4
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_2.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xc0000409
add rsp, 0x20
pop rbx
jmp qword [sym.imp.api_ms_win_core_processthreads_l1_1_2.dll_TerminateProcess]
test al, 0x17
in eax, dx
jg 0x140020a05
mov bh, 0x97
jae 0x1400209fd
pop rsi
mov ecx, 0x5fa7ec97
invalid
pop r9
mov word [rax + 0x6d], fs
iretd
mov ah, 7
sbb eax, 0xc06accef
ret
Function at 0x140001ae4
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
xor edi, edi
mov rsi, rcx
bt edx, 0xa
jb 0x1400190e7
or qword [rbp + 0x77], 0xffffffffffffffff
lea r9, [rbp - 9]
xor r8d, r8d
lea rdx, [rbp - 0x29]
call qword [sym.imp.ntdll.dll_RtlDosPathNameToRelativeNtPathName_U_WithStatus]
test eax, eax
js 0x1400190e7
cmp word [rbp - 9], di
ja 0x1400190ae
mov eax, edi
lea rcx, [rbp - 0x29]
mov qword [rbp + 7], rax
mov qword [rbp + 0x27], rcx
lea r9, [rbp - 0x19]
xorps xmm0, xmm0
mov dword [rsp + 0x28], 0x5040
lea rcx, [rbp + 0x77]
mov dword [rbp + 0x17], 0x30
lea r8, [rbp + 0x17]
mov qword [rbp + 0x1f], rax
mov edx, 0x10000
mov dword [rbp + 0x2f], 0x40
movdqu xmmword [rbp + 0x37], xmm0
mov dword [rsp + 0x20], 4
call qword [sym.imp.ntdll.dll_NtOpenFile]
lea rcx, [rbp - 9]
mov ebx, eax
call qword [sym.imp.ntdll.dll_RtlReleaseRelativeName]
lea rcx, [rbp - 0x29]
call qword [sym.imp.ntdll.dll_RtlFreeUnicodeString]
test ebx, ebx
js 0x1400190e7
mov rcx, qword [rbp + 0x77]
call fcn.140001bdc
mov ebx, 1
test eax, eax
jne 0x1400190bb
mov rcx, qword [rbp + 0x77]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
test ebx, ebx
je 0x1400190e7
mov eax, edi
mov rbx, qword [rsp + 0xc0]
add rsp, 0xa0
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rbp + 7]
lea rcx, [rbp - 9]
jmp 0x140001b39
mov rcx, qword [rbp + 0x77]
lea r8, [rbp + 0x6f]
mov r9d, ebx
mov byte [rbp + 0x6f], bl
lea rdx, [rbp - 0x19]
mov dword [rsp + 0x20], 0xd
call qword [sym.imp.ntdll.dll_NtSetInformationFile]
test eax, eax
mov ebx, edi
setns bl
jmp 0x140001bb2
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteFileW]
test eax, eax
jne 0x140001bc4
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
jmp 0x140001bc4
Function at 0x14000b9d8
Capabilities:
Set environment variable

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
xor edi, edi
mov byte [0x140043c26], dil
test rdx, rdx
je 0x14000ba06
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], di
jne 0x14000b9f4
neg rax
sbb rax, rax
and rdx, rax
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_SetEnvironmentVariableW]
mov ebx, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, qword [0x14003fb98]
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
call fcn.14000ba48
test ebx, ebx
mov qword [0x14003fb98], rax
mov rbx, qword [rsp + 0x30]
sete dil
mov eax, edi
add rsp, 0x20
pop rdi
ret

Function at 0x14000ba48
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetEnvironmentStringsW]
xor ebp, ebp
mov rbx, rax
mov edi, ebp
test rax, rax
je 0x14000baca
mov rcx, rax
cmp word [rax], bp
je 0x14000ba87
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x14000ba76
cmp word [rcx], bp
jne 0x14000ba76
sub rcx, rbx
add rcx, 2
sar rcx, 1
lea esi, [rcx + rcx]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x14000bac1
mov r8d, esi
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_FreeEnvironmentStringsW]
mov rbx, qword [rsp + 0x30]
mov rax, rdi
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x140001440
Capabilities:
Allocate or change rwx memory
Execute command
Execute shellcode via indirect call
Hide thread from debugger

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x140005008]
xor rax, rsp
mov qword [rsp + 0x78], rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.NtSetInformationThread
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400056e8], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
mov rbx, rax
lea edx, [r9 + 0x11]
call qword [0x1400056e8]
mov r8d, 0x30
lea rdx, [rsp + 0x40]
lea rcx, [0x1400013d0]
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
mov rdi, qword [rsp + 0x40]
lea r9, [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
mov rcx, rdi
mov r8d, 0x40
mov dword [rsp + 0x70], 0
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400015f0
lea rcx, str.echo_from_protected_memory__faulty_function_
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, [rsp + 0x20]
call fcn.140001270
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x14000153d
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001538
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001538
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001a0c
mov r8d, dword [rsp + 0x70]
lea r9, [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x10]
call qword [0x1400056e8]
xor eax, eax
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400019b0
mov rbx, qword [rsp + 0x90]
add rsp, 0x80
pop rdi
ret

Function at 0x140002344
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000238e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14000238e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14000238e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14000238e
cmp dword [rcx + 0x84], 0xe
jbe 0x14000238e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140002390
xor al, al
add rsp, 0x28
ret
Function at 0x7ffdbdc911f4
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], r9
push rbx
push rdi
mov eax, 0x1038
call fcn.7ffdbdc911b0
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x1020], rax
xor ebx, ebx
cmp dword [0x7ffdbdcd2008], ebx
jne 0x7ffdbdca114b
mov rcx, qword [rsp + 0x1020]
xor rcx, rsp
call int.7ffdbdc91000
add rsp, 0x1038
pop rdi
pop rbx
ret
mov r8, rcx
mov edi, 0x7ff
lea r9, [rsp + 0x1058]
lea rcx, [rsp + 0x20]
mov rdx, rdi
call qword [sym.imp.msvcrt.dll__vsnwprintf]
cmp eax, ebx
jl 0x7ffdbdca1176
cdqe
cmp rax, rdi
ja 0x7ffdbdca1176
jne 0x7ffdbdca117e
mov word [rsp + 0x101e], bx
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
jmp 0x7ffdbdc91236

Function at 0x7ffdbdc958a4
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rdi
sub rsp, 0x30
mov rdi, rcx
mov dword [rcx + 0x58], edx
lea rcx, str.CStateThread::Initialize__
call fcn.7ffdbdc911f4
mov edx, dword [rdi + 0x24]
cmp edx, 4
jne 0x7ffdbdca307f
xor eax, eax
mov ebp, 0x80070000
xchg dword [rdi + 0x24], eax
mov rcx, qword [rdi + 0x10]
and dword [rdi + 0x20], 0
test rcx, rcx
jne 0x7ffdbdca30b9
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0x10], rax
test rax, rax
je 0x7ffdbdca30a4
mov rcx, qword [rdi + 0x18]
test rcx, rcx
jne 0x7ffdbdca30c7
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0x18], rax
test rax, rax
je 0x7ffdbdca30c5
xor ebx, ebx
test ebx, ebx
js 0x7ffdbdca3090
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
lea r8, [0x7ffdbdc92080]
mov r9, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rdi + 8], rax
test rax, rax
je 0x7ffdbdca30d3
xor ebx, ebx
test ebx, ebx
js 0x7ffdbdca3090
mov rcx, qword [rdi + 0x18]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
movzx ebx, ax
or ebx, ebp
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x7ffdbdca3090
mov ebx, dword [rdi + 0x20]
jmp 0x7ffdbdc95993
mov rbp, qword [rsp + 0x48]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
lea rcx, str.CStateThread::Initialize___called_in_wrong_state___d_
call fcn.7ffdbdc911f4
mov ebx, 0x8004d011
lea rcx, str.CStateThread::Initialize___failed_with_0x_08X
mov edx, ebx
call fcn.7ffdbdc911f4
nop
jmp 0x7ffdbdc95993
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, ebp
test eax, eax
cmovle ebx, eax
jmp 0x7ffdbdc95931
call qword [sym.imp.KERNEL32.dll_ResetEvent]
nop
jmp 0x7ffdbdc95907
jmp 0x7ffdbdca30a4
call qword [sym.imp.KERNEL32.dll_ResetEvent]
nop
jmp 0x7ffdbdc9592f
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, ebp
test eax, eax
cmovle ebx, eax
jmp 0x7ffdbdc95967
Function at 0x7ffdbdc963e4
Capabilities:
Query or enumerate registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
push rbp
push rsi
push rdi
sub rsp, 0x40
lea rax, [0x7ffdbdcca128]
xor ebx, ebx
mov rbp, r8
mov qword [rsp + 0x38], rax
mov edi, edx
mov rsi, rcx
mov rax, qword [rsp + 0x38]
cmp edx, 1
jne 0x7ffdbdc9644a
and qword [r11 - 0x28], rbx
lea rax, [r11 - 0x28]
mov qword [0x7ffdbdcd2270], rcx
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionMedia_CenterServiceITV
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [r11 - 0x38], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x7ffdbdca10e8
mov r8, rbp
mov edx, edi
mov rcx, rsi
call fcn.7ffdbdc96478
mov edi, eax
test rbx, rbx
jne 0x7ffdbdca113c
mov eax, edi
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
mov rbx, qword [rsp + 0x30]
lea rax, [rsp + 0x68]
lea r9, [rsp + 0x78]
mov qword [rsp + 0x28], rax
lea rax, [0x7ffdbdcd2008]
lea rdx, str.Trace
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x68], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test rbx, rbx
je 0x7ffdbdc9644a
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ebx, ebx
jmp 0x7ffdbdc9644a
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
jmp 0x7ffdbdc96462

Function at 0x7ffdbdc97d14
Capabilities:
Query or enumerate registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x20], rsi
push rdi
sub rsp, 0x40
mov rsi, qword [rsp + 0x70]
lea rax, str.iTV_Data_In
xor edx, edx
mov qword [r11 - 0x20], rax
mov rbx, r8
mov rdi, rcx
mov qword [r11 - 0x28], rsi
call fcn.7ffdbdc97770
lea rax, [0x7ffdbdcc88e0]
mov qword [rdi + 0x18], rax
lea rax, [0x7ffdbdcca888]
lea r11, [0x7ffdbdcc83e0]
mov qword [rdi + 0x20], rax
lea rax, [0x7ffdbdcc85f0]
lea rcx, [rdi + 0x138]
mov qword [rdi], r11
mov qword [rdi + 0x130], rbx
mov qword [rdi + 0xd8], rax
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
and dword [rdi + 0x160], 0
cmp qword [rdi + 0x40], 0
je 0x7ffdbdca11c6
and qword [rsp + 0x38], 0
lea rax, [rsp + 0x38]
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionMedia_CenterServiceITV
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x7ffdbdca11d1
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
mov rax, rdi
add rsp, 0x40
pop rdi
ret
mov dword [rsi], 0x8007000e
jmp 0x7ffdbdc97d99
and dword [rsp + 0x50], eax
mov rbx, qword [rsp + 0x38]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
lea r9, [rsp + 0x30]
lea rdx, str.DataTestMode
xor r8d, r8d
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x60], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x7ffdbdca1227
cmp dword [rsp + 0x30], 4
jne 0x7ffdbdca1227
test eax, eax
jne 0x7ffdbdca1227
mov eax, dword [rsp + 0x50]
mov dword [rdi + 0x160], eax
test rbx, rbx
je 0x7ffdbdc97dce
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
jmp 0x7ffdbdc97dce