joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140097610
Capabilities:
Listen for remote procedure calls

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x14013c010]
xor rax, rsp
mov qword [rsp + 0x78], rax
xor ebx, ebx
mov dword [rsp + 0x40], ebx
mov edi, ebx
mov byte [0x140143d08], bl
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x50]
call fcn.140097480
lea r9, [rsp + 0x50]
lea r8, str.RealtekAudioRpcEndpoint
lea edx, [rbx + 0xa]
lea rcx, str.ncalrpc
call qword [sym.imp.RPCRT4.dll_RpcServerUseProtseqEpW]
test eax, eax
jne 0x140097731
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 0x4d2
lea r9d, [rbx + 0x21]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1400db3c0]
call qword [sym.imp.RPCRT4.dll_RpcServerRegisterIf3]
mov edi, eax
test eax, eax
jne 0x140097731
lea rcx, [0x140145398]
call qword [sym.imp.RPCRT4.dll_RpcServerInqBindings]
mov edi, eax
test eax, eax
jne 0x140097731
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [0x140145398]
lea rcx, [0x1400db3c0]
call qword [sym.imp.RPCRT4.dll_RpcEpRegisterW]
mov edi, eax
test eax, eax
jne 0x140097731
mov r8d, BSTR_UserMarshal
lea rdx, str.RpcServerConnect
lea rcx, [0x1400e3358]
call fcn.14005b9a0
xor r8d, r8d
mov edx, 0x4d2
lea ecx, [rbx + 1]
call qword [sym.imp.RPCRT4.dll_RpcServerListen]
mov edi, eax
mov r8d, eax
lea rdx, str.RpcServerConnect
lea rcx, str._s_status_d
call fcn.14005b9a0
cmp edi, 0x6b1
cmove edi, ebx
mov r8d, edi
lea rdx, str.RpcServerConnect
lea rcx, str._s_status_d
call fcn.14005b9a0
nop
mov qword [rsp + 0x48], rbx
call fcn.1400046f0
mov rcx, rax
test rax, rax
je 0x140097800
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140048c62.0]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 1
lea r9, str.Others
lea r8, str.SoftwareRealtekAudioRtkAudUService
lea rdx, [0x1400e3308]
lea rcx, [rsp + 0x48]
call fcn.1400064f0
mov r9d, edi
lea r8, str.End_RpcServerConnect
mov rbx, qword [rsp + 0x48]
mov rdx, rbx
mov rcx, qword [0x14013c488]
call fcn.14007ef10
nop
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400977e0
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140048c62.0]
mov eax, edi
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400c17f0
mov rbx, qword [rsp + 0x90]
add rsp, 0x80
pop rdi
ret
mov ecx, 0x80004005
call fcn.140004820
int3
Function at 0x140099510
Capabilities:
Encrypt or decrypt data via bcrypt

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov rax, qword [0x14013c010]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, qword [rsp + 0xd0]
mov rbp, r8
mov r14, qword [rsp + 0xd8]
lea r8, [rsp + 0x50]
mov r15, rdx
xor r13d, r13d
mov rdx, qword [rdx]
mov r12d, r9d
mov qword [rsp + 0x50], r13
call fcn.140099890
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400996c1
mov rcx, qword [rcx]
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x70], rdi
mov dword [rsp + 0x58], r13d
test rcx, rcx
jne 0x14009958e
mov ebx, 0xc0000008
jmp 0x140099682
test rbp, rbp
je 0x14009967d
test rsi, rsi
je 0x14009967d
test r14, r14
je 0x14009967d
mov dword [rsp + 0x48], 2
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], rax
xor r9d, r9d
mov dword [rsp + 0x38], r13d
mov r8d, r12d
mov qword [rsp + 0x30], r13
mov rdx, rbp
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
call qword [sym.imp.bcrypt.dll_BCryptEncrypt]
mov ebx, eax
test eax, eax
js 0x140099682
mov ebx, dword [rsp + 0x58]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14009960f
mov ebx, 0xc0000017
jmp 0x140099682
lfence
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x58]
mov dword [rsp + 0x48], 2
xor r9d, r9d
mov qword [rsp + 0x40], rax
mov r8d, r12d
mov eax, dword [rsp + 0x58]
mov rdx, rbp
mov rcx, qword [rcx]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
call qword [sym.imp.bcrypt.dll_BCryptEncrypt]
mov ebx, eax
test eax, eax
js 0x140099664
mov eax, dword [rsp + 0x58]
mov qword [rsi], rdi
mov dword [r14], eax
jmp 0x140099682
lfence
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
jmp 0x140099682
mov ebx, 0xc000000d
mov rdx, qword [r15]
not ebx
shr ebx, 0x1f
mov eax, 0xffffffff
sub rdx, 0x18
lock xadd dword [rdx + 0x10], eax
mov rdi, qword [rsp + 0x70]
sub eax, 1
jg 0x1400996b5
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140048c62.0]
mov eax, ebx
mov rbx, qword [rsp + 0xb0]
jmp 0x1400996ec
mov rdx, qword [r15]
mov eax, 0xffffffff
sub rdx, 0x18
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400996ea
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140048c62.0]
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400c17f0
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret
Function at 0x140099be0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x14013c010]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rsi, r8
mov rbx, rdx
mov rbp, rcx
mov qword [rsp + 0x60], rcx
call fcn.1400046f0
mov rcx, rax
test rax, rax
je 0x140099dfb
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140048c62.0]
add rax, 0x18
mov qword [rbp + 0x808], rax
test rbx, rbx
je 0x140099dd7
mov rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], 0
jne 0x140099c46
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x808]
call fcn.1400040e0
mov rax, qword [rbp + 0x808]
cmp dword [rax - 8], 1
jle 0x140099c85
mov edx, dword [rax - 0x10]
lea rcx, [rbp + 0x808]
call fcn.140003f70
mov rax, qword [rbp + 0x808]
mov qword [rbp + 0x800], rax
mov qword [rbp + 0x820], rsi
mov rdi, rbp
mov esi, 0x5c00
xor r15d, r15d
nop
mov qword [rdi + 8], r15
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_CreateEventW]
mov qword [rdi], rax
test rax, rax
je 0x140099d60
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x40], xmm1
mov ebx, esi
or ebx, 0x220000
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r9 + 3]
mov rcx, qword [rbp + 0x800]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x140099d52
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], SafeArrayUnaccessData
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x10
lea r8, [rsp + 0x50]
mov edx, ebx
mov rcx, r14
call qword [sym.imp.api_ms_win_core_io_l1_1_0.dll_DeviceIoControl]
mov ebx, eax
mov rcx, r14
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
test ebx, ebx
jne 0x140099d57
mov qword [rsp + 0x40], r15
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x10], xmm0
add esi, 0xc
add rdi, 0x20
cmp esi, 0x5ef4
jl 0x140099ca0
mov qword [rbp + 0x7e8], r15
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_CreateEventW]
mov qword [rbp + 0x7e0], rax
test rax, rax
je 0x140099dc0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
mov r9, rbp
lea r8, [0x14009a040]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov qword [rbp + 0x810], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_CreateEventW]
mov qword [rbp + 0x818], rax
mov rax, rbp
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400c17f0
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140004820
int3
Function at 0x14009a6d0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov edi, edx
mov rsi, rcx
mov r9d, edx
lea rcx, str._s__d_nDriverEventIndex_d
lea rdx, str.CRtkAudioDriverEvent::NotifyEvent
mov r8d, 0xd1
call fcn.14005b9a0
mov edx, 2
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoInitializeEx]
mov rcx, qword [rsi + 0x820]
mov ebx, eax
test rcx, rcx
je 0x14009a731
mov r8, qword [rcx]
mov rdx, qword [rsi + 0x800]
mov rax, qword [r8]
mov r8d, edi
call qword [case.0x140048c62.0]
cmp ebx, 1
jbe 0x14009a761
mov r9d, ebx
lea rdx, str.CRtkAudioDriverEvent::NotifyEvent
mov r8d, 0xda
lea rcx, str._s__d_CoInitializeEx_hr_x
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.14005b9a0
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoUninitialize]
Function at 0x1400a11c0
Capabilities:
Check if file exists
Print debug messages
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rdx
test rdx, rdx
jne 0x1400a11ec
mov r8d, 0x2e2
lea rdx, str.CRtkBssGen4PresetLoader::OnAddDevice
lea rcx, str._s__d_RETURN_ON_FALSE
add rsp, 0x20
pop rbx
jmp fcn.14005b9a0
mov rcx, rbx
call fcn.14000f0f0
test eax, eax
jne 0x1400a120f
call fcn.14001de20
test byte [rax + 4], 8
je 0x1400a121c
mov rcx, rbx
call fcn.140024db0
test eax, eax
je 0x1400a121c
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp fcn.14009f960
add rsp, 0x20
pop rbx
ret

Function at 0x1400a1230
Capabilities:
Print debug messages

Disassembly:
push rbx
sub rsp, 0x20
call fcn.14000b5c0
mov rcx, rax
call fcn.14008f5a0
call fcn.14000b5c0
cmp dword [rax + 0x140], 0
jne 0x1400a1289
cmp dword [0x140143c1c], 0
je 0x1400a1289
cmp dword [0x140143c18], 0
jne 0x1400a1270
mov rax, qword [0x14013d2a0]
test byte [rax + 0x1c], 1
je 0x1400a1289
mov r8d, 0x3e
lea rdx, str.CMMPlatform::AudioDevList_GetHeadPosition
lea rcx, str._s__d_please_call_AudioDevList_AddRef_before_AudioDevList_GetHeadPosition
call fcn.14005b9a0
call fcn.14000b5c0
mov rbx, qword [rax + 0xe0]
test rbx, rbx
je 0x1400a12cd
nop word [rax + rax]
call fcn.14000b5c0
call fcn.14000b5c0
mov rdx, qword [rbx + 0x10]
mov rbx, qword [rbx]
cmp dword [rdx + 0x170], 0
je 0x1400a12c8
cmp dword [rdx + 0x184], 1
jne 0x1400a12c8
call fcn.14009f960
test rbx, rbx
jne 0x1400a12a0
call fcn.14000b5c0
sub dword [rax + 0x140], 1
mov ecx, dword [rax + 0x140]
jne 0x1400a12f4
mov rcx, qword [rax + 0x150]
add rsp, 0x20
pop rbx
jmp qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
cmp ecx, 0x32
jle 0x1400a1317
mov r8d, 0x80
lea rdx, str.CMMPlatform::AudioDevList_Release
lea rcx, str._s__d_calling_AudioDevList_Release_isnt_matched_AudioDevList_AddRef_or_directly_return_in_EnumAudioDeviceStart_loop
add rsp, 0x20
pop rbx
jmp fcn.14005b9a0
add rsp, 0x20
pop rbx
ret

Function at 0x1400a2a30
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rdx
mov rdi, rcx
call fcn.1400a3190
test rax, rax
jne 0x1400a2a95
mov ecx, 0x50c
call fcn.1400c1b88
lea rcx, [rdi + 8]
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x40]
mov rdx, rbx
call fcn.1400a3970
mov rax, qword [rsp + 0x40]
test rax, rax
jne 0x1400a2a95
lea r8d, [rax + 0x5a]
lea rdx, str.CRtkEffectConditionsBase::ResetConditions
lea rcx, str._s__d_RETURN_ON_FALSE
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.14005b9a0
mov r8, rax
mov rdx, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.1400a2ab0
Function at 0x1400a6600
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x14013c010]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rdi, rcx
mov qword [rsp + 0x30], rcx
lea rax, vtable.CSimpleOrientationSensorManagerEvents.0
mov qword [rcx], rax
xor ebp, ebp
mov qword [rcx + 0x20], rbp
mov qword [rcx + 0x28], rbp
mov qword [rcx + 0x30], rbp
mov dword [rcx + 0x38], SafeArrayUnaccessData
mov dword [rcx + 0x58], ebp
mov dword [rcx + 0x5c], 0xa
mov qword [rcx + 0x60], rbp
mov qword [rcx + 0x68], rbp
mov dword [rcx + 0x3c], 0x3f400000
mov dword [rcx + 0x40], 0x3e800000
mov dword [rcx + 0x44], 0x40100000
mov qword [rcx + 0x48], 0x26
mov qword [rcx + 0x50], rbp
mov dword [rcx + 8], ebp
mov qword [rcx + 0x10], rbp
mov dword [rcx + 0xc], 1
mov ecx, 0x108
call fcn.1400c1b88
mov rbx, rax
mov qword [rsp + 0x38], rax
xor edx, edx
mov r8d, 0x108
mov rcx, rax
call fcn.1400c7980
mov r8, rdi
mov rcx, rbx
call fcn.1400aef20
nop
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x78], rbp
mov qword [rdi + 0x80], rbp
mov qword [rdi + 0x88], rbp
lea rbx, [rdi + 0x90]
lea rax, vtable.CSensorsMgr.2.0
mov qword [rdi], rax
lea rax, vtable.CSensorsMgr.1.0
mov qword [rdi + 0x70], rax
lea rax, vtable.CSensorsMgr.0
mov qword [rbx], rax
mov dword [rdi + 0x98], ebp
mov dword [rdi + 0x9c], 1
mov qword [rdi + 0xa0], rbp
mov qword [rdi + 0xa8], rbp
lea r8d, [rbp + 0xa]
lea rdx, str.CSensorsMgr::CSensorsMgr
lea rcx, [0x1400e3358]
call fcn.14005b9a0
mov qword [rsp + 0x38], rbx
call fcn.140094140
mov rsi, rax
test rbx, rbx
je 0x1400a677d
lea rcx, [rax + 0xa0]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
lea rcx, [rsi + 0xc8]
mov rax, qword [rcx]
test rax, rax
je 0x1400a6766
cmp qword [rax + 0x10], rbx
je 0x1400a6770
mov rax, qword [rax]
test rax, rax
jne 0x1400a6758
lea rdx, [rsp + 0x38]
call fcn.140006520
lea rcx, [rsi + 0xa0]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov dword [rdi + 0x98], ebp
mov dword [rdi + 0x9c], 1
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebp
mov r9, rdi
lea r8, [0x1400a6ce0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov qword [rdi + 0xa0], rax
mov rax, rdi
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400c17f0
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
Function at 0x1400a69f0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
lea rdx, str.CSensorsMgr::WorkThreadLoop
lea rcx, [0x1400e3358]
mov r8d, 0x27
call fcn.14005b9a0
xor ebx, ebx
nop dword [rax + rax]
mov r8d, 0x2d
lea rdx, str.CSensorsMgr::WorkThreadLoop
lea rcx, [0x1400e3358]
call fcn.14005b9a0
mov ecx, 0x2710
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
mov r8d, 0x31
lea rdx, str.CSensorsMgr::WorkThreadLoop
lea rcx, [0x1400e3358]
call fcn.14005b9a0
lea rcx, [rdi - 0x70]
call fcn.1400a6ab0
test eax, eax
jne 0x1400a6a73
inc ebx
cmp ebx, 5
jl 0x1400a6a20
jmp 0x1400a6a8c
mov r8d, 0x34
lea rdx, str.CSensorsMgr::WorkThreadLoop
lea rcx, [0x1400e3358]
call fcn.14005b9a0
mov r8d, 0x38
lea rdx, str.CSensorsMgr::WorkThreadLoop
lea rcx, [0x1400e3358]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.14005b9a0
Function at 0x1400ad7a0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0x30
lea r9, [rsp + 0x40]
mov dword [rsp + 0x40], 0
lea r8, str.TVModeRun
mov rcx, 0xffffffff80000002
lea rdx, str.SOFTWARERealtekAudioGUI_INFORMATION
call fcn.14007edf0
mov r9d, dword [rsp + 0x40]
lea rdx, str.CServiceMain::CheckLastTimeTVMode
mov r8d, 0x2e4
lea rcx, str._s__d_hadRun_d
call fcn.14005b9a0
cmp dword [rsp + 0x40], 1
jne 0x1400ad949
mov r9d, 1
lea rdx, str.CServiceMain::CheckLastTimeTVMode
mov r8d, 0x2e7
lea rcx, str._s__d_hadRun_d
call fcn.14005b9a0
call fcn.14000b5c0
mov rcx, rax
call fcn.14008f5a0
call fcn.14000b5c0
cmp dword [rax + 0x140], 0
jne 0x1400ad86c
cmp dword [0x140143c1c], 0
je 0x1400ad86c
cmp dword [0x140143c18], 0
jne 0x1400ad853
mov rax, qword [0x14013d2a0]
test byte [rax + 0x1c], 1
je 0x1400ad86c
mov r8d, 0x3e
lea rdx, str.CMMPlatform::AudioDevList_GetHeadPosition
lea rcx, str._s__d_please_call_AudioDevList_AddRef_before_AudioDevList_GetHeadPosition
call fcn.14005b9a0
call fcn.14000b5c0
mov rbx, qword [rax + 0xe0]
nop dword [rax + rax]
test rbx, rbx
je 0x1400ad937
call fcn.14000b5c0
call fcn.14000b5c0
mov rcx, qword [rbx + 0x10]
mov rbx, qword [rbx]
test rcx, rcx
je 0x1400ad880
cmp dword [rcx + 0x1ac], 1
jne 0x1400ad880
add rcx, 0xc8
mov qword [rsp + 0x48], rdi
call fcn.140010410
lea r9, [rsp + 0x40]
mov dword [rsp + 0x40], 0
lea r8, str.TVModeSpkMute
mov rcx, 0xffffffff80000002
lea rdx, str.SOFTWARERealtekAudioGUI_INFORMATION
mov rdi, rax
call fcn.14007edf0
mov r9d, dword [rsp + 0x40]
lea rdx, str.CServiceMain::CheckLastTimeTVMode
mov r8d, 0x2f4
lea rcx, str._s__d_bMuted_d
call fcn.14005b9a0
mov r9, qword [rdi]
mov rcx, rdi
mov edx, dword [rsp + 0x40]
mov rax, qword [r9 + 0x10]
call qword [case.0x140048c62.0]
xor r9d, r9d
lea r8, str.TVModeRun
lea rdx, str.SOFTWARERealtekAudioGUI_INFORMATION
mov rcx, 0xffffffff80000002
call fcn.14007ef10
mov rdi, qword [rsp + 0x48]
call fcn.14000b5c0
mov rcx, rax
add rsp, 0x30
pop rbx
jmp fcn.14008f620
add rsp, 0x30
pop rbx
ret

Function at 0x1400ae400
Capabilities:
Access the windows event log

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
sub rsp, 0x70
mov rax, qword [0x14013c010]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, rdx
mov rdi, rcx
mov rdx, qword [rcx + 0x10]
movzx ebp, r8w
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rbx, rax
test rax, rax
je 0x1400ae486
mov rcx, qword [rdi + 0x10]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x50], rcx
mov edx, 2
xor ecx, ecx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x40], rcx
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov dword [rsp + 0x30], ecx
mov word [rsp + 0x28], dx
movzx edx, bp
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400c17f0
mov rbx, qword [rsp + 0x98]
add rsp, 0x70
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400ae4b0
Capabilities:
Access the windows event log

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x280
mov rax, qword [0x14013c010]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov rdi, rcx
mov dword [rsp + 0x20], r8d
mov r9, rdx
lea r8, str._s_failed_w_err_0x_08lx
mov edx, 0x104
lea rcx, [rsp + 0x60]
call fcn.14002aeb0
mov rdx, qword [rdi + 0x10]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rbx, rax
test rax, rax
je 0x1400ae559
mov rcx, qword [rdi + 0x10]
lea rax, [rsp + 0x60]
mov r9d, 2
mov qword [rsp + 0x50], rcx
xor ecx, ecx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x40], rcx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], ecx
lea edx, [r9 - 1]
mov word [rsp + 0x28], r9w
xor r9d, r9d
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.1400c17f0
mov rbx, qword [rsp + 0x2a8]
add rsp, 0x280
pop rdi
ret
Function at 0x1400ae7f0
Capabilities:
Check for time delay via gettickcount
Query service status
Stop service

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x70
mov rax, qword [0x14013c010]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rdi, rdx
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
mov ebx, eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 0x24
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l2_1_0.dll_QueryServiceStatusEx]
test eax, eax
jne 0x1400ae843
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
jmp 0x1400ae921
mov eax, dword [rsp + 0x3c]
cmp eax, 1
je 0x1400ae91f
cmp eax, 3
jne 0x1400ae8a8
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 0x24
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l2_1_0.dll_QueryServiceStatusEx]
test eax, eax
je 0x1400ae838
cmp dword [rsp + 0x3c], 1
je 0x1400ae91f
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
sub eax, ebx
cmp eax, 0x2710
ja 0x1400ae93c
cmp dword [rsp + 0x3c], 3
je 0x1400ae855
lea r8, [rsp + 0x38]
mov edx, 1
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_winsvc_l1_1_0.dll_ControlService]
test eax, eax
je 0x1400ae838
cmp dword [rsp + 0x3c], 1
je 0x1400ae91f
nop word [rax + rax]
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 0x24
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l2_1_0.dll_QueryServiceStatusEx]
test eax, eax
je 0x1400ae838
cmp dword [rsp + 0x3c], 1
je 0x1400ae91f
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
sub eax, ebx
cmp eax, 0x2710
ja 0x1400ae93c
cmp dword [rsp + 0x3c], 1
jne 0x1400ae8d0
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400c17f0
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rdi
ret
mov eax, 0x5b4
jmp 0x1400ae921
Function at 0x1400aee30
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x14013c010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov ebx, edx
mov rdi, rcx
lea rdx, str.CSilencePlayerMgr::PlayASlienceMS
mov r8d, 0xc9
lea rcx, str._s__d
call fcn.14005b9a0
lea rax, [rsp + 0x30]
mov dword [rdi + 8], ebx
mov qword [rsp + 0x28], rax
lea r8, [0x1400aeeb0]
mov r9, rdi
mov dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov qword [rdi], rax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400c17f0
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret

Function at 0x1400afb20
Capabilities:
Query or enumerate registry value

Disassembly:
sub rsp, 0x58
mov rax, qword [0x14013c010]
xor rax, rsp
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x30]
mov dword [rsp + 0x38], 0
mov r9d, 0x11
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.SYSTEMCurrentControlSetControlPriorityControl
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400afbab
mov rcx, qword [rsp + 0x30]
lea r9, [rsp + 0x40]
mov dword [rsp + 0x40], eax
lea rdx, str.ConvertibleSlateMode
lea rax, [rsp + 0x3c]
mov dword [rsp + 0x3c], 4
mov qword [rsp + 0x28], rax
xor r8d, r8d
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400c17f0
add rsp, 0x58
ret