joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140065400
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
mov edi, edx
mov rcx, qword [rcx + 0x250]
call fcn.140060130
test eax, eax
jne 0x140065442
mov r8d, 0x264
lea rdx, str.CJackMgr::UpdateOneJack
lea rcx, str._s__d_EXIT_ON_FALSE
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.14005dbf0
mov rcx, qword [rbx + 0x250]
add rcx, 0x10
call fcn.140044480
mov rcx, qword [rbx + 0x250]
cmp edi, dword [rcx + 0x80]
jne 0x14006547a
mov edx, dword [rcx + 0x7c]
mov r8d, 1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
mov rcx, qword [rbx + 0x250]
cmp edi, dword [rcx + 0x78]
jne 0x140065498
mov edx, dword [rcx + 0x74]
mov r8d, 1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
mov rcx, qword [rbx + 0x250]
sub dword [rcx + 0x28], 1
mov eax, dword [rcx + 0x28]
jne 0x1400654b6
mov rcx, qword [rcx + 0x20]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
cmp eax, 0x32
jle 0x1400654d4
mov r8d, 0x6a
lea rdx, str.CDataAccessProtector::FinishAccess
lea rcx, str._s__d_calling_FinishAccess_isnt_matched_RequestAccess_or_directly_return_in_EnumAudioDeviceStart_loop
call fcn.14005dbf0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x140065900
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x20
mov ebx, r8d
mov r14, rdx
mov rsi, rcx
cmp r8d, 0xf
jg 0x140065a0f
mov qword [rsp + 0x30], rbp
call fcn.14002a070
mov rbp, rax
test rax, rax
jne 0x140065964
mov r8d, 0x56f
lea rdx, str.CJackMgr::OnDriverEvent
lea rcx, str._s__d_RETURN_ON_FALSE
call fcn.14005dbf0
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov rcx, r14
mov qword [rsp + 0x38], rdi
call fcn.140088c10
movsxd rdi, eax
test eax, eax
jns 0x140065982
mov rcx, r14
call fcn.14008aa40
jmp 0x140065987
mov eax, 0xffffffff
test edi, edi
jle 0x1400659b7
cmp edi, 9
jl 0x14006599f
mov r8d, 0x6d5
lea rdx, str.CJackInfo::MapRealHdaPinIndex
jmp 0x1400659cd
add ebx, dword [rbp + rdi*4 + 0x1730]
mov rcx, rsi
mov edx, ebx
call fcn.1400654e0
mov rdi, qword [rsp + 0x38]
jmp 0x14006594e
test eax, eax
js 0x1400659fb
cmp eax, 9
jl 0x1400659f2
mov r8d, 0x6dc
lea rdx, str.CJackInfo::MapRealUsbPinIndex
lea rcx, str._s__d_RETURN_VALUE_ON_FALSE
call fcn.14005dbf0
mov ebx, 0xffffffff
mov rcx, rsi
mov edx, ebx
call fcn.1400654e0
mov rdi, qword [rsp + 0x38]
jmp 0x14006594e
cdqe
add ebx, dword [rbp + rax*4 + 0x1754]
mov edx, ebx
mov rcx, rsi
call fcn.1400654e0
mov rdi, qword [rsp + 0x38]
jmp 0x14006594e
cmp ebx, 0x11
jne 0x140065953
call fcn.14002a070
mov rcx, rsi
mov qword [rsi + 0x250], rax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp fcn.140064e60

Function at 0x140065a40
Capabilities:
Print debug messages

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call fcn.14002a070
mov rcx, rbx
mov qword [rbx + 0x250], rax
add rsp, 0x20
pop rbx
jmp fcn.140064e60
Function at 0x1400679b0
Capabilities:
Log keystrokes via application hook

Disassembly:
push rbx
sub rsp, 0x20
xor r9d, r9d
lea rdx, [0x140067a40]
mov rbx, rcx
xor r8d, r8d
lea ecx, [r9 + 0xd]
call qword [sym.imp.USER32.dll_SetWindowsHookExW]
mov r8d, 0x54
lea rdx, str.CLowLevelKeyboardEventNotify::RegisterLLKeyboard
lea rcx, [0x1400e2bd0]
mov qword [rbx + 0xb8], rax
call fcn.14005dbf0
cmp qword [rbx + 0xb8], 0
jne 0x140067a30
mov r8d, 0x58
lea rdx, str.CLowLevelKeyboardEventNotify::RegisterLLKeyboard
lea rcx, str._s__d_set_hook_fail__
call fcn.14005dbf0
call fcn.14000b5e0
mov rcx, rax
mov edx, 0x42e
mov r8d, 0x1388
add rsp, 0x20
pop rbx
jmp fcn.1400b43a0
add rsp, 0x20
pop rbx
ret
Function at 0x14006b9c0
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x140158010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rcx
call fcn.14006b860
xor ecx, ecx
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea r8, [0x14006ba20]
mov r9, rbx
mov dword [rsp + 0x20], ecx
xor edx, edx
mov dword [rbx + 0x88], ecx
mov dword [rsp + 0x30], ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov qword [rbx + 0x78], rax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400beb20
add rsp, 0x40
pop rbx
ret
Function at 0x140070080
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x50
mov rax, qword [0x140158010]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rbx, rcx
test rcx, rcx
jne 0x1400700c7
lea r8d, [rcx + 0x73]
lea rcx, str._s__d_RETURN_ON_FALSE
lea rdx, str.CNamedPipeHelper::SendPipeMessage
call fcn.14005dbf0
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400beb20
add rsp, 0x50
pop rbx
ret
mov qword [rsp + 0x30], 0
lea rcx, str..pipeRtkAudUServiceNamedPipe
mov dword [rsp + 0x28], 0
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 3
mov edx, 0xc0000000
mov qword [rsp + 0x68], rdi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14007015c
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], 0
mov r8d, 0x208
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_WriteFile]
mov ecx, dword [rsp + 0x40]
lea rdx, str.CNamedPipeHelper::SendPipeMessage
mov r9d, dword [rbx]
mov r8d, 0x85
mov dword [rsp + 0x28], ecx
mov ecx, dword [rbx + 4]
mov dword [rsp + 0x20], ecx
lea rcx, str._s__d_dwEventId_x_nIndex_d_dwWritten_d
call fcn.14005dbf0
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
jmp 0x140070186
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
lea r9, str..pipeRtkAudUServiceNamedPipe
mov r8d, 0x8c
lea rdx, str.CNamedPipeHelper::SendPipeMessage
mov dword [rsp + 0x20], eax
lea rcx, str._s__d_CreateFile__s__Err_d
call fcn.14005dbf0
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400beb20
add rsp, 0x50
pop rbx
ret

Function at 0x140070570
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
sub rsp, 0x20
mov rbp, rcx
mov rbx, rdx
mov rcx, rdx
call fcn.1400bcec0
test eax, eax
je 0x140070632
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 0x22]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_LoadLibraryExW]
mov rbx, rax
test rax, rax
je 0x140070632
mov qword [rsp + 0x30], rsi
lea r8, [0x1400eb578]
mov qword [rsp + 0x38], rdi
mov rcx, rax
xor edi, edi
lea edx, [rdi + 0x66]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_1.dll_FindResourceW]
mov rsi, rax
test rax, rax
je 0x14007060a
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_SizeofResource]
test eax, eax
je 0x14007060a
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_LockResource]
mov rdi, rax
test rax, rax
je 0x14007060a
mov rdx, rax
mov rcx, rbp
call fcn.1400703a0
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
mov rsi, qword [rsp + 0x30]
test rdi, rdi
mov rdi, qword [rsp + 0x38]
je 0x140070632
mov eax, 1
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rbp
ret
mov rbx, qword [rsp + 0x40]
xor eax, eax
add rsp, 0x20
pop rbp
ret
Function at 0x140071f60
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov edi, edx
mov rsi, rcx
cmp edx, 0xffffffff
je 0x140071fca
movsxd rax, dword [rcx + 0x68]
mov byte [rax + rcx + 0x6c], dil
mov eax, dword [rcx + 0x68]
inc eax
mov dword [rcx + 0x68], eax
cmp edx, 0xa
je 0x140071f91
cmp eax, 0x200
jne 0x140071fd4
add rcx, 0x6c
mov qword [rsp + 0x30], rbx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringA]
xor edx, edx
lea rcx, [rsi + 0x6c]
mov r8d, 0x200
call fcn.1400c53e0
mov rbx, qword [rsp + 0x30]
mov eax, edi
mov dword [rsi + 0x68], 0
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
add rcx, 0x6c
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringA]
mov rsi, qword [rsp + 0x38]
mov eax, edi
add rsp, 0x20
pop rdi
ret
Function at 0x14007d4b0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov esi, edx
lea rcx, str._s__d_bMute_d
mov r9d, edx
mov r8d, 0x95
lea rdx, str.CPrivacyMute::ControlMuteAll
call fcn.14005dbf0
call fcn.14000b470
mov rcx, rax
call fcn.14008cd40
call fcn.14000b470
cmp dword [rax + 0x140], 0
jne 0x14007d52b
cmp dword [0x14015fde8], 0
je 0x14007d52b
cmp dword [0x14015fdb4], 0
jne 0x14007d512
mov rax, qword [0x1401591e0]
test byte [rax + 0x1c], 1
je 0x14007d52b
mov r8d, 0x3e
lea rdx, str.CMMPlatform::AudioDevList_GetHeadPosition
lea rcx, str._s__d_please_call_AudioDevList_AddRef_before_AudioDevList_GetHeadPosition
call fcn.14005dbf0
mov qword [rsp + 0x30], rbx
call fcn.14000b470
mov rdi, qword [rax + 0xe0]
test rdi, rdi
je 0x14007d5d3
call fcn.14000b470
call fcn.14000b470
test rdi, rdi
je 0x14007d63f
mov rbx, qword [rdi + 0x10]
mov rdi, qword [rdi]
test rbx, rbx
je 0x14007d5ca
cmp dword [rbx + 0x184], 1
jne 0x14007d5ca
mov rcx, rbx
call fcn.140016400
cmp dword [rbx + 0x84], 0
jne 0x14007d5ca
mov rax, qword [rbx + 0x110]
test rax, rax
je 0x14007d593
cmp dword [rbx + 0x100], 0
jne 0x14007d5a6
lea rcx, [rbx + 0xc8]
call fcn.140010120
mov rax, qword [rbx + 0x110]
cmp qword [rax + 0x10], 0
jbe 0x14007d5ca
mov rcx, qword [rax]
test rcx, rcx
je 0x14007d63f
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14007d5ca
mov rax, qword [rcx]
mov edx, esi
call qword [rax + 0x10]
test rdi, rdi
jne 0x14007d545
call fcn.14000b470
sub dword [rax + 0x140], 1
mov ecx, dword [rax + 0x140]
jne 0x14007d5f6
mov rcx, qword [rax + 0x150]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
jmp 0x14007d614
cmp ecx, 0x32
jle 0x14007d614
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
call fcn.14005dbf0
mov r9d, esi
lea rdx, str.CPrivacyMute::ControlMuteAll
mov r8d, 0xa6
lea rcx, str._s__d_bMute_d
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.14005dbf0
mov ecx, 0x80004005
call fcn.140004fd0
int3
Function at 0x14007da80
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x140158010]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, r9
mov r14, r8
mov rbp, rdx
test rdx, rdx
jne 0x14007dacd
lea r8d, [rdx + 0x68]
lea rdx, str.CRegClient::GetRegUI4Property
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14005dbf0
xor eax, eax
jmp 0x14007db43
test rsi, rsi
jne 0x14007dad8
lea r8d, [rsi + 0x69]
jmp 0x14007dab6
xor eax, eax
mov qword [rsp + 0x50], rax
xor r15d, r15d
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x38], r15d
mov edi, 1
mov r9d, edi
mov r8, rbp
mov rdx, rcx
lea rcx, [rsp + 0x48]
call fcn.1400278b0
test eax, eax
je 0x14007db5c
mov r9, rbp
mov r8d, eax
lea rdx, str.CRegClient::GetRegUI4Property
lea rcx, str._s_nRet_d_szRegKey_s
call fcn.14005dbf0
mov edi, r15d
cmp qword [rsp + 0x48], 0
je 0x14007db41
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, edi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400beb20
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov dword [rsp + 0x3c], 4
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
test eax, eax
jne 0x14007db2b
cmp dword [rsp + 0x40], 4
jne 0x14007db2b
mov eax, dword [rsp + 0x38]
mov dword [rsi], eax
jmp 0x14007db2e
Function at 0x14007dbb0
Capabilities:
Set registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x68
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x140158010]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r15d, r9d
mov r14, r8
mov rsi, rdx
mov rbp, rcx
test rdx, rdx
jne 0x14007dc06
mov r8d, 0x83
lea rdx, str.CRegClient::SetRegUI4Property
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14005dbf0
xor eax, eax
jmp 0x14007dcee
test r14, r14
jne 0x14007dc13
mov r8d, 0x84
jmp 0x14007dbec
xor eax, eax
mov qword [rsp + 0x48], rax
xor edi, edi
mov ebx, edi
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x50], rdi
call fcn.14007eb60
test eax, eax
jne 0x14007dc4f
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
call fcn.14007de30
test eax, eax
jne 0x14007dc4f
mov r8d, 0x8d
jmp 0x14007dcc4
mov r9d, 2
mov r8, rsi
mov rdx, rbp
lea rcx, [rsp + 0x40]
call fcn.1400278b0
test eax, eax
je 0x14007dc89
mov r8d, 0x92
lea rdx, str.CRegClient::SetRegUI4Property
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14005dbf0
mov rbx, qword [rsp + 0x40]
jmp 0x14007dcde
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, r14
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
test eax, eax
je 0x14007dcd9
mov r8d, 0x96
lea rdx, str.CRegClient::SetRegUI4Property
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14005dbf0
jmp 0x14007dcde
mov edi, 1
test rbx, rbx
je 0x14007dcec
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, edi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400beb20
add rsp, 0x68
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14007dd10
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r14
sub rsp, 0x68
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x140158010]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rsi, r9
mov r14, r8
mov rbp, qword [rsp + 0xb0]
test rdx, rdx
jne 0x14007dd65
mov r8d, 0xda
lea rdx, str.CRegClient::GetRegBinary
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14005dbf0
xor eax, eax
jmp 0x14007de12
test rbp, rbp
jne 0x14007dd72
mov r8d, 0xdc
jmp 0x14007dd4b
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x50], rax
mov edi, 1
mov r9d, edi
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.1400278b0
test eax, eax
je 0x14007ddab
mov r8d, 0xe5
jmp 0x14007dde8
test rsi, rsi
je 0x14007ddb5
mov rax, qword [rsi]
jmp 0x14007ddb7
xor eax, eax
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
test eax, eax
jne 0x14007dde2
cmp dword [rsp + 0x38], 3
je 0x14007ddfd
mov r8d, 0xe9
lea rdx, str.CRegClient::GetRegBinary
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14005dbf0
xor edi, edi
cmp qword [rsp + 0x40], 0
je 0x14007de10
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, edi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400beb20
add rsp, 0x68
pop r14
pop rdi
pop rsi
pop rbp
ret

Function at 0x14007e0d0
Capabilities:
Delete registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov rax, qword [0x140158010]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r12d, r9d
mov r15, r8
mov r14, rdx
mov rbp, rcx
xor eax, eax
mov qword [rsp + 0x50], rax
xor edi, edi
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x50], edi
mov qword [rsp + 0x58], rdi
or r9d, 0x20006
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x48]
call fcn.1400278b0
mov esi, eax
mov rbx, qword [rsp + 0x48]
test eax, eax
jne 0x14007e166
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteValueW]
mov esi, eax
test eax, eax
je 0x14007e190
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r15
mov r8d, 0x147
lea rcx, str._s__d_DeleteValue__x_s_s__nRet_d
jmp 0x14007e17c
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], eax
mov r8d, 0x14c
lea rcx, str._s__d_Open__x_s__nRet_d_AccMask_x
mov qword [rsp + 0x20], r14
mov r9, rbp
lea rdx, str.CRegClient::DeleteRegValue
call fcn.14005dbf0
test rbx, rbx
je 0x14007e1a1
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov rbx, rdi
test esi, esi
sete dil
test rbx, rbx
je 0x14007e1b5
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, edi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400beb20
add rsp, 0x70
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14007ea10
Capabilities:
Set registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x68
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x140158010]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rdi, r9
mov r15, r8
mov r14, rdx
mov rsi, rcx
xor eax, eax
mov qword [rsp + 0x40], rax
xor ebx, ebx
mov ebp, ebx
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x48], rbx
call fcn.14007eb60
test eax, eax
jne 0x14007ea93
xor r8d, r8d
mov rdx, r14
mov rcx, rsi
call fcn.14007de30
test eax, eax
jne 0x14007ea93
mov r8d, 0x1e8
lea rdx, str.CRegClient::SetRegStringValue
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14005dbf0
jmp 0x14007eb34
mov r9d, 2
mov r8, r14
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.1400278b0
mov esi, eax
mov r9d, eax
mov r8d, 0x1ee
lea rdx, str.CRegClient::SetRegStringValue
lea rcx, str._s__d_nRet_d
call fcn.14005dbf0
mov rbp, qword [rsp + 0x38]
test esi, esi
jne 0x14007eb31
test rdi, rdi
jne 0x14007eada
lea esi, [rdi + 0xd]
jmp 0x14007eb13
mov rax, 0xffffffffffffffff
lea rax, [rax + 1]
cmp word [rdi + rax*2], 0
jne 0x14007eae1
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9d, 1
xor r8d, r8d
mov rdx, r15
mov rcx, rbp
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov esi, eax
mov r9d, esi
mov r8d, 0x1f5
lea rdx, str.CRegClient::SetRegStringValue
lea rcx, str._s__d_nRet_d
call fcn.14005dbf0
test esi, esi
sete bl
test rbp, rbp
je 0x14007eb42
mov rcx, rbp
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, ebx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400beb20
add rsp, 0x68
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14007ff50
Capabilities:
Query or enumerate registry key

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x280
mov rax, qword [0x140158010]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov r9d, dword [rcx + 8]
xor ebp, ebp
mov rsi, rdx
mov qword [rsp + 0x48], rbp
mov r8, rdx
mov qword [rsp + 0x40], rbp
mov rdx, qword [rcx]
mov rdi, rcx
or r9d, 0x2001f
mov qword [rsp + 0x50], rbp
lea rcx, [rsp + 0x40]
call fcn.1400278b0
mov ebx, eax
test eax, eax
jne 0x140080067
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x58]
mov qword [rsp + 0x30], rbp
lea r8, [rsp + 0x70]
mov qword [rsp + 0x28], rbp
xor edx, edx
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x58], 0x100
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegEnumKeyExW]
test eax, eax
jne 0x140080041
nop dword [rax]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.14007ff50
mov ebx, eax
test eax, eax
jne 0x140080067
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x58]
mov qword [rsp + 0x30], rbp
lea r8, [rsp + 0x70]
mov qword [rsp + 0x28], rbp
xor edx, edx
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x58], 0x100
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegEnumKeyExW]
test eax, eax
je 0x14007fff0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140080056
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov qword [rsp + 0x40], rbp
mov rdx, rsi
mov dword [rsp + 0x48], ebp
mov rcx, rdi
call fcn.140027780
mov ebx, eax
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140080077
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, ebx
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.1400beb20
mov rbx, qword [rsp + 0x2b0]
add rsp, 0x280
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400800a0
Capabilities:
Persist via run registry key

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x60
mov qword [r11 - 0x38], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov rax, qword [0x140158010]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov qword [r11 - 0x20], 0
lea rax, [r11 - 0x48]
mov qword [r11 - 0x30], rax
lea rax, [r11 - 0x40]
mov qword [r11 - 0x28], rax
call fcn.140004ea0
mov rcx, rax
test rax, rax
je 0x14008024b
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x20], rax
lea rbx, str.RtkAudUService
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140004660
mov rdi, 0xffffffffffffffff
test al, al
jne 0x14008013b
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140080120
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.1400048e0
nop
call fcn.140004ea0
mov rcx, rax
test rax, rax
je 0x140080240
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x28], rax
lea rbx, str.SOFTWAREMicrosoftWindowsCurrentVersionRun_
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.140004660
test al, al
jne 0x140080191
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x140080176
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.1400048e0
nop
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x48]
call fcn.14007e700
nop
mov r9, qword [rsp + 0x48]
mov r8d, reloc.OLEAUT32.dll_SafeArrayCopy
lea rdx, str.CRegKeyMgr::CheckRtkAudUServiceRunKey
lea rcx, str._s__d__s
call fcn.14005dbf0
call fcn.140006580
mov rdx, rax
test rax, rax
mov rax, qword [rsp + 0x48]
jne 0x1400801e1
mov ebx, edi
jmp 0x14008020a
cmp dword [rax - 0x10], 0
jge 0x1400801eb
mov ebx, edi
jmp 0x14008020a
mov rcx, rax
call fcn.1400c4db0
mov rbx, rax
test rax, rax
mov rax, qword [rsp + 0x48]
jne 0x140080204
mov ebx, edi
jmp 0x14008020a
sub rbx, rax
sar rbx, 1
not ebx
shr ebx, 0x1f
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140080226
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, ebx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400beb20
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rdi
ret
mov ecx, 0x80004005
call fcn.140004fd0
nop
mov ecx, 0x80004005
call fcn.140004fd0
int3