joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140005680
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov edi, r8d
mov rsi, rdx
mov rbp, rcx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_LoadResource]
test rax, rax
jne 0x1400056b3
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rcx, rax
mov qword [rsp + 0x30], rbx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x1400056fa
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_SizeofResource]
mov ecx, eax
add rcx, rbx
and edi, 0xf
jbe 0x1400056f5
nop
cmp rbx, rcx
jae 0x1400056fa
movzx eax, word [rbx]
lea rbx, [rbx + rax*2]
add rbx, 2
add edi, 0xffffffff
jne 0x1400056e0
cmp rbx, rcx
jb 0x1400056fe
xor eax, eax
jmp 0x14000570a
xor eax, eax
cmp word [rbx], ax
cmove rbx, rax
mov rax, rbx
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x14000b4c0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1400d5010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rcx
xor edi, edi
add rcx, 8
mov dword [rcx + 0x28], edi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_InitializeCriticalSection]
mov qword [rbx + 0x38], rdi
lea rax, vtable.CAsyncEventNotifyBase.0
mov qword [rbx], rax
lea r8, [0x14000b690]
mov qword [rbx + 0x40], rdi
lea rax, [rsp + 0x30]
mov dword [rbx + 0x48], edi
mov r9, rbx
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], edi
mov qword [rbx + 0x50], rdi
mov qword [rbx + 0x58], rdi
mov qword [rbx + 0x60], rdi
mov qword [rbx + 0x68], rdi
mov qword [rbx + 0x70], rdi
mov dword [rbx + 0x78], 0xa
mov dword [rsp + 0x30], edi
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rbx + 0x38], rax
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_CreateEventW]
mov qword [rbx + 0x40], rax
mov rax, rbx
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140076320
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
Function at 0x14000efc0
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
sub rsp, 0x28
mov rbp, rdx
test rdx, rdx
lea rdx, str.CAudioDeviceMuteStateHandler::OnAddDevice
mov rsi, rcx
jne 0x14000eff1
mov r8d, 0xf4
lea rcx, str._s__d_RETURN_ON_FALSE
add rsp, 0x28
pop rsi
pop rbp
jmp fcn.14002f950
mov qword [rsp + 0x40], rbx
lea rcx, [0x1400934a8]
mov qword [rsp + 0x58], rdi
mov r8d, 0xf6
mov qword [rsp + 0x20], r14
call fcn.14002f950
or edi, 0xffffffff
cmp dword [rsi + 0x30], 0
je 0x14000f0fa
mov rdx, qword [rbp + 0x138]
lea rcx, [rsp + 0x48]
call fcn.140005160
mov r14, rax
mov rcx, qword [rax]
cmp dword [rcx - 0x10], 0
jge 0x14000f040
mov ebx, edi
jmp 0x14000f05e
lea rdx, str.0.0.0.00000000
call fcn.14007e078
mov rbx, rax
test rax, rax
jne 0x14000f058
mov ebx, edi
jmp 0x14000f05e
sub rbx, qword [r14]
sar rbx, 1
mov rdx, qword [rsp + 0x48]
mov eax, edi
shr ebx, 0x1f
xor bl, 1
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f082
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x14000f0e2
lea rcx, [rbp + 0xd0]
call fcn.14000cfe0
mov rbx, rax
test rax, rax
je 0x14000f0c9
call fcn.140009810
mov edx, dword [rsi + 0x38]
test dword [rax + 0xa8], 0x100
je 0x14000f0be
test edx, edx
je 0x14000f0e2
mov r8, qword [rbx]
mov rcx, rbx
call qword [r8 + 0x10]
jmp 0x14000f0e2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
jmp 0x14000f0e2
mov r8d, 0x10d
lea rdx, str.CAudioDeviceMuteStateHandler::OnAddDevice
lea rcx, [0x1400934a8]
call fcn.14002f950
call fcn.140009ad0
mov rcx, rax
mov edx, 0x3fd
mov r8d, 0xc8
call fcn.14006e470
cmp dword [rsi + 0x2c], 0
je 0x14000f1dd
mov rdx, qword [rbp + 0x138]
lea rcx, [rsp + 0x50]
call fcn.140005160
mov r14, rax
mov rcx, qword [rax]
cmp dword [rcx - 0x10], 0
jge 0x14000f125
mov ebx, edi
jmp 0x14000f143
lea rdx, str.0.0.1.00000000
call fcn.14007e078
mov rbx, rax
test rax, rax
jne 0x14000f13d
mov ebx, edi
jmp 0x14000f143
sub rbx, qword [r14]
sar rbx, 1
mov rdx, qword [rsp + 0x50]
shr ebx, 0x1f
xor bl, 1
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x14000f165
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x14000f1c5
lea rcx, [rbp + 0xd0]
call fcn.14000cfe0
mov rbx, rax
test rax, rax
je 0x14000f1ac
call fcn.140009810
mov edx, dword [rsi + 0x34]
test dword [rax + 0xa8], 0x100
je 0x14000f1a1
test edx, edx
je 0x14000f1c5
mov r8, qword [rbx]
mov rcx, rbx
call qword [r8 + 0x10]
jmp 0x14000f1c5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
jmp 0x14000f1c5
mov r8d, 0x129
lea rdx, str.CAudioDeviceMuteStateHandler::OnAddDevice
lea rcx, [0x1400934a8]
call fcn.14002f950
call fcn.140009ad0
mov rcx, rax
mov edx, 0x3fe
mov r8d, 0xc8
call fcn.14006e470
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x40]
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop rsi
pop rbp
ret
Function at 0x14000f200
Capabilities:
Print debug messages

Disassembly:
push rbx
sub rsp, 0x20
test rdx, rdx
mov rbx, rcx
lea rdx, str.CAudioDeviceMuteStateHandler::OnRemoveDevice
jne 0x14000f22c
mov r8d, 0x133
lea rcx, str._s__d_RETURN_ON_FALSE
add rsp, 0x20
pop rbx
jmp fcn.14002f950
mov r8d, 0x135
lea rcx, [0x1400934a8]
call fcn.14002f950
cmp dword [rbx + 0x30], 0
je 0x14000f25c
call fcn.140009ad0
mov rcx, rax
mov edx, 0x3fd
mov r8d, 0xc8
call fcn.14006e470
cmp dword [rbx + 0x2c], 0
je 0x14000f27f
call fcn.140009ad0
mov rcx, rax
mov edx, 0x3fe
mov r8d, 0xc8
add rsp, 0x20
pop rbx
jmp fcn.14006e470
add rsp, 0x20
pop rbx
ret
Function at 0x140010f10
Capabilities:
Print debug messages

Disassembly:
push rbx
push rdi
sub rsp, 0x28
cmp dword [rcx + reloc.OLEAUT32.dll_LPSAFEARRAY_UserUnmarshal], 0
mov rdi, rdx
mov rbx, rcx
je 0x140010f5e
mov r8d, 0x2d
lea rdx, str.CDestructorHelper::AvoidDelete
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.14002f950
mov r8d, 0xe6
lea rdx, str.CAudioDeviceSessionEvents::AddNewAudioSession
lea rcx, str._s__d_RETURN_ON_FALSE
add rsp, 0x28
pop rdi
pop rbx
jmp fcn.14002f950
inc dword [rcx + 0x120]
mov ecx, 0x28
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x20], r14
call fcn.140076964
mov rsi, rax
mov qword [rsp + 0x40], rax
xor eax, eax
xor r14d, r14d
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
mov qword [rsi + 0x10], rax
lea rax, vtable.CAudioSessionEvents.0
mov qword [rsi], rax
mov qword [rsi + 8], r14
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], r14
call fcn.140012760
test eax, eax
je 0x14001100d
lea rdi, [rbx + 0x138]
mov qword [rsp + 0x48], rbp
mov rbp, qword [rdi + 8]
mov rcx, rdi
call fcn.1400054c0
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x40], rax
mov rcx, qword [rax]
test rax, rax
je 0x140010fde
mov qword [rax + 0x10], rsi
mov qword [rdi + 0x20], rcx
mov qword [rax + 8], rbp
mov rbp, qword [rsp + 0x48]
mov qword [rax], r14
inc qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140011004
mov qword [rcx], rax
mov qword [rdi + 8], rax
jmp 0x140011015
mov qword [rdi], rax
mov qword [rdi + 8], rax
jmp 0x140011015
mov rcx, rsi
call fcn.140010c80
sub dword [rbx + 0x120], 1
mov r14, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x50]
jne case.default.0x14001103e
cmp dword [rbx + reloc.OLEAUT32.dll_LPSAFEARRAY_UserUnmarshal], 0
je case.default.0x14001103e
mov rcx, qword [rbx + 0x118]
add rsp, 0x28
pop rdi
pop rbx
jmp qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
add rsp, 0x28
pop rdi
pop rbx
ret
Function at 0x140014b70
Capabilities:
Print debug messages

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
test rdx, rdx
jne 0x140014b9a
lea r8d, [rdx + 0x4a]
lea rdx, str.CControlChangeEventNotify::OnAddDevice
lea rcx, str._s__d_RETURN_ON_FALSE
add rsp, 0x20
pop rbx
jmp fcn.14002f950
lea rcx, [rdx + 0xd0]
call fcn.14000cfe0
test rax, rax
je 0x140014bbe
mov r8, qword [rax]
lea rdx, [rbx - 8]
mov rcx, rax
add rsp, 0x20
pop rbx
jmp qword [r8 + 0x38]
add rsp, 0x20
pop rbx
ret

Function at 0x140014bd0
Capabilities:
Print debug messages

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
test rdx, rdx
jne 0x140014bfa
lea r8d, [rdx + 0x59]
lea rdx, str.CControlChangeEventNotify::OnRemoveDevice
lea rcx, str._s__d_RETURN_ON_FALSE
add rsp, 0x20
pop rbx
jmp fcn.14002f950
lea rcx, [rdx + 0xd0]
call fcn.14000cfe0
test rax, rax
je 0x140014c1e
mov r8, qword [rax]
lea rdx, [rbx - 8]
mov rcx, rax
add rsp, 0x20
pop rbx
jmp qword [r8 + 0x40]
add rsp, 0x20
pop rbx
ret
Function at 0x140016fc0
Capabilities:
Query or enumerate registry value
Write file on windows

Disassembly:
jmp 0x140016fc0
push rbp
lea rbp, [rsp - 0x400]
sub rsp, 0x500
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x510], rbx
mov rax, qword [0x1400d5010]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
xor edx, edx
lea r8d, [rdx + 0x64]
lea rcx, [rsp + 0x60]
call fcn.14007eaa0
mov dword [rsp + 0x4c], 3
mov dword [rsp + 0x48], 0x64
mov qword [rsp + 0x38], 0
xor eax, eax
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x50]
call fcn.140054fa0
nop
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, qword [rsp + 0x50]
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
test eax, eax
je 0x14001705f
mov r8d, 0x35
jmp 0x1400170af
mov rcx, qword [rsp + 0x38]
test rcx, rcx
jne 0x14001706f
lea r8d, [rcx + 0x36]
jmp 0x1400170af
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x4c]
xor r8d, r8d
lea rdx, str.AsusPresetInformation
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
mov ebx, eax
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
test ebx, ebx
je 0x1400170c7
mov r8d, 0x3b
lea rdx, str.CCustomizeASUS::WritePreset
lea rcx, str._s__d_RETURN_ON_FALSE
call fcn.14002f950
jmp 0x140017197
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x30]
call fcn.14007eaa0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x1e0]
call fcn.14007eaa0
mov qword [rsp + 0x40], 0
lea rdx, [rbp + 0x1e0]
call fcn.1400171e0
lea rax, str.ASUS.txt
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x1e0]
lea r8, [0x140093108]
mov edx, 0x104
lea rcx, [rbp - 0x30]
call fcn.140013c20
lea r8, [0x1400976dc]
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen_s]
mov ebx, eax
test eax, eax
jne 0x14001716e
mov edx, dword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
lea r8d, [rax + 1]
lea rcx, [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__flushall]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov r9d, eax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r8d, ebx
lea rdx, str.CCustomizeASUS::WritePreset
lea rcx, str._s_err_d_LastErr_d_szFile_s
call fcn.14002f950
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400171b6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.140076320
mov rbx, qword [rsp + 0x510]
add rsp, 0x500
pop rbp
ret
Function at 0x1400171e0
Capabilities:
Get common file path

Disassembly:
push rbx
sub rsp, 0x240
mov rax, qword [0x1400d5010]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov rbx, rdx
lea rcx, [rsp + 0x20]
xor edx, edx
mov r8d, 0x208
call fcn.14007eaa0
xor r9d, r9d
lea rdx, [rsp + 0x20]
xor ecx, ecx
lea r8d, [r9 + 0x24]
call qword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetSpecialFolderPathW]
lea rcx, [rsp + 0x20]
or rax, 0xffffffffffffffff
nop dword [rax]
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140017230
cmp word [rsp + rax*2 + 0x1e], 0x5c
jne 0x14001725b
lea rax, [rax*2 - 2]
cmp rax, 0x208
jae 0x140017296
xor ecx, ecx
mov word [rsp + rax + 0x20], cx
lea rcx, [rsp + 0x20]
call fcn.140016e70
lea r8, [rsp + 0x20]
mov edx, 0x103
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov eax, 1
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.140076320
add rsp, 0x240
pop rbx
ret
call fcn.140076b90
int3
Function at 0x140025560
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x90
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0xd8], rbx
mov rax, qword [0x1400d5010]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov ebp, r8d
mov esi, edx
mov edi, ecx
xor eax, eax
mov qword [rsp + 0x74], rax
mov dword [rsp + 0x70], 0x1001
mov dword [rsp + 0x74], ecx
mov word [rsp + 0x78], si
mov word [rsp + 0x7a], bp
lea r9, str.RealtekAudioBackgroundProcessClass
lea r8, str.RealtekAudioBackgroundProcessClass
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowExW]
mov r14, rax
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], 0x2000
lea rax, [rsp + 0x70]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x60], 0xc
lea r9, [rsp + 0x58]
mov r8, qword [0x1400da180]
mov edx, 0x4a
mov rcx, r14
call qword [sym.imp.USER32.dll_SendMessageW]
mov r15, rax
call fcn.140004150
mov rcx, rax
test rax, rax
jne 0x140025628
mov ecx, 0x80004005
call fcn.140003ec0
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x80], rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r14
mov r9d, 0xc4
lea r8, str.CJackRetaskCommandLineHelper::SendRetaskCommandToActiveRtkAudUService
lea rdx, str._s__d_hWnd_x_Wid_x_DevType_d_Seq_d_hr_x_LastErr_d
lea rcx, [rsp + 0x80]
call fcn.1400053a0
mov rbx, qword [rsp + 0x80]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringW]
cmp dword [0x1400d9638], 0
je 0x1400256e3
cmp dword [0x1400d9670], 0
jne 0x1400256ab
mov rax, qword [0x1400d53a8]
test byte [rax + 0x1c], 1
je 0x1400256e3
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], edi
mov r9, r14
mov r8d, 0xc8
lea rdx, str.CJackRetaskCommandLineHelper::SendRetaskCommandToActiveRtkAudUService
lea rcx, str._s__d_hWnd_x_Wid_x_DevType_d_Seq_d_hr_x_LastErr_d
call fcn.14002f950
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400256fd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140076320
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x140025780
Capabilities:
Get common file path
Get program files directory

Disassembly:
push rdi
sub rsp, 0x70
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x80], rbx
mov rax, qword [0x1400d5010]
xor rax, rsp
mov qword [rsp + 0x60], rax
call fcn.140004150
mov rcx, rax
test rax, rax
jne 0x1400257be
mov ecx, 0x80004005
call fcn.140003ec0
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rbx, [0x1400d9f80]
cmp word [0x1400d9f80], 0
jne 0x1400257f5
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x26]
xor ecx, ecx
call qword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetFolderPathW]
lea r9, str.RealtekAudioHDA
mov r8, rbx
lea rdx, [0x140093108]
lea rcx, [rsp + 0x58]
call fcn.1400053a0
mov rbx, qword [rsp + 0x58]
add rbx, 0xffffffffffffffe8
mov rcx, rbx
call fcn.140005200
add rax, 0x18
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x40]
lea rdx, str.RtkNGui64.exe
call fcn.140025920
mov rcx, rbx
call fcn.140005200
add rax, 0x18
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x48]
lea rdx, str.RAVCpl64.exe
call fcn.140025920
lea rdi, [0x1400d9980]
cmp word [0x1400d9980], 0
jne 0x140025885
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x25]
xor ecx, ecx
call qword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetFolderPathW]
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140005160
mov r8, rax
lea rdx, str.RtkUGui64.exe
call fcn.140025920
mov rcx, rbx
call fcn.140005200
add rax, 0x18
mov qword [rsp + 0x38], rax
lea r8, [rsp + 0x38]
lea rdx, str.RAVBg64.exe
call fcn.140025920
call fcn.140025e40
call fcn.140025d40
call fcn.140025a70
call fcn.140025c70
call fcn.140069380
nop
or eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x1400258f6
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140076320
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rdi
ret
Function at 0x140025a70
Capabilities:
Persist via run registry key

Disassembly:
mov r11, rsp
push r14
sub rsp, 0x70
mov qword [r11 - 0x58], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov rax, qword [0x1400d5010]
xor rax, rsp
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [r11 - 0x20], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
xor ebp, ebp
mov qword [r11 - 0x38], rbp
movdqu xmmword [rsp + 0x48], xmm0
mov dword [rsp + 0x58], 0xa
lea rcx, [r11 - 0x48]
call fcn.14004d0e0
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x140025c36
mov rcx, qword [r14 + 0x10]
mov r14, qword [r14]
sub rcx, 0x18
call fcn.140005200
lea rdi, [rax + 0x18]
mov qword [rsp + 0x60], rdi
mov rcx, rax
call fcn.140005200
lea rbx, [rax + 0x18]
mov qword [rsp + 0x28], rbx
movsxd rsi, dword [rbx - 0x10]
test esi, esi
js 0x140025c2b
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, esi
or eax, ecx
jge 0x140025b32
mov edx, esi
lea rcx, [rsp + 0x28]
call fcn.140003e00
mov rbx, qword [rsp + 0x28]
lea eax, [rsi + 1]
movsxd rdx, eax
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsupr_s]
cmp esi, dword [rbx - 0xc]
jg 0x140025c20
mov dword [rbx - 0x10], esi
mov word [rbx + rsi*2], bp
cmp dword [rbx - 0x10], 0
jl 0x140025bdb
lea rdx, str.RTHDVBG
mov rcx, rbx
call fcn.14007e078
test rax, rax
je 0x140025b79
sub rax, rbx
sar rax, 1
test eax, eax
jns 0x140025bc1
cmp dword [rbx - 0x10], 0
jl 0x140025bdb
lea rdx, str.RTHDVCPL
mov rcx, rbx
call fcn.14007e078
test rax, rax
je 0x140025b9d
sub rax, rbx
sar rax, 1
test eax, eax
jns 0x140025bc1
cmp dword [rbx - 0x10], 0
jl 0x140025bdb
lea rdx, str.RTKUGUI
mov rcx, rbx
call fcn.14007e078
test rax, rax
je 0x140025bdb
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140025bdb
xor r9d, r9d
mov r8, rdi
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionRun_
mov rcx, 0xffffffff80000002
call fcn.14004c500
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140025bf6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140025c15
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r14, r14
jne 0x140025ada
jmp 0x140025c36
mov ecx, 0x80070057
call fcn.140003ec0
int3
mov ecx, 0x80070057
call fcn.140003ec0
nop
lea rcx, [rsp + 0x30]
call fcn.140012580
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140076320
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
Function at 0x140025c70
Capabilities:
Create process on windows

Disassembly:
push rdi
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rsi
mov rax, qword [0x1400d5010]
xor rax, rsp
mov qword [rsp + 0x30], rax
call fcn.140004150
mov rcx, rax
test rax, rax
jne 0x140025cb0
mov ecx, 0x80004005
call fcn.140003ec0
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x28], rax
xor edi, edi
lea rsi, str.RTKCPL
nop dword [rax + rax]
mov r8, qword [rsi]
lea rdx, str.schtasks__delete__TN__s__F
lea rcx, [rsp + 0x28]
call fcn.140025f30
xor edx, edx
mov rbx, qword [rsp + 0x28]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WinExec]
inc edi
lea rsi, [rsi + 8]
cmp edi, 0x1d
jb 0x140025cd0
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140025d19
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140076320
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret

Function at 0x140025d40
Capabilities:
Check if file exists
Delete file
Get common file path
Get file attributes

Disassembly:
push rdi
sub rsp, 0x50
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x70], rsi
mov rax, qword [0x1400d5010]
xor rax, rsp
mov qword [rsp + 0x40], rax
call fcn.140004150
mov rcx, rax
test rax, rax
jne 0x140025d85
mov ecx, 0x80004005
call fcn.140003ec0
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x38], rax
xor edi, edi
lea rsi, str.Music__Photos_and_VideosSRS_Audio_Control_Panel.lnk
lea rbp, [0x1400d9b80]
cmp word [0x1400d9b80], 0
jne 0x140025dc5
mov qword [rsp + 0x20], rbp
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x17]
xor ecx, ecx
call qword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetFolderPathW]
mov r9, qword [rsi]
mov r8, rbp
lea rdx, [0x140093108]
lea rcx, [rsp + 0x38]
call fcn.1400053a0
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140025df8
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteFileW]
inc edi
add rsi, 8
cmp edi, 0x24
jb 0x140025da4
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140025e1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140076320
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
Function at 0x140025e40
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
push rbx
sub rsp, 0x50
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x1400d5010]
xor rax, rsp
mov qword [rsp + 0x40], rax
call fcn.140004150
mov rcx, rax
test rax, rax
jne 0x140025e76
mov ecx, 0x80004005
call fcn.140003ec0
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rbx, [0x1400d9980]
cmp word [0x1400d9980], 0
jne 0x140025ead
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x25]
xor ecx, ecx
call qword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetFolderPathW]
lea r9, str.RTSnMg64.cpl
mov r8, rbx
lea rdx, [0x140093108]
lea rcx, [rsp + 0x38]
call fcn.1400053a0
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140025efd
lea r9, [0x140094658]
lea r8, str.RTSnMg64.cpl
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionControl_Paneldont_load
mov rcx, 0xffffffff80000002
call fcn.14004ca80
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140025f17
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140076320
add rsp, 0x50
pop rbx
ret