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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x60
xor ebx, ebx
lea rax, [r11 + 8]
mov qword [r11 - 0x20], rbx
mov rbp, rdx
mov qword [r11 - 0x28], rbx
xor r9d, r9d
mov qword [r11 - 0x30], rbx
xor r8d, r8d
mov qword [r11 - 0x38], rbx
xor edx, edx
mov qword [r11 - 0x40], rax
mov rcx, rbp
mov qword [r11 - 0x48], rbx
mov qword [r11 - 0x50], rbx
mov qword [r11 - 0x58], rbx
mov dword [r11 + 8], ebx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryInfoKeyW]
test eax, eax
je 0x14005fd34
xor eax, eax
jmp 0x14005fdae
mov esi, 1
cmp dword [rsp + 0x80], esi
jne 0x14005fda2
mov ecx, 0x2000
mov dword [rsp + 0x90], 0x1000
call qword [sym.imp.msvcrt.dll_malloc]
mov rdi, rax
test rax, rax
je 0x14005fd30
mov qword [rsp + 0x38], rbx
lea r9, [rsp + 0x90]
mov qword [rsp + 0x30], rbx
mov r8, rax
mov qword [rsp + 0x28], rbx
xor edx, edx
mov rcx, rbp
mov qword [rsp + 0x20], rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegEnumValueW]
test eax, eax
jne 0x14005fd93
cmp word [rdi], bx
jne 0x14005fd95
mov esi, ebx
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_free]
mov eax, esi
jmp 0x14005fdae
cmp dword [rsp + 0x80], ebx
seta bl
mov eax, ebx
mov rbx, qword [rsp + 0x88]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400611e0
Capabilities:
Query or enumerate registry key

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
lea rbp, [rax - 0x198]
sub rsp, 0x280
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x14016b400]
xor rax, rsp
mov qword [rbp + 0x170], rax
mov rsi, rdx
mov rdi, rcx
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov r9d, 0x2001f
mov r8, rdx
mov rdx, qword [rcx]
lea rcx, [rsp + 0x48]
call fcn.140060e08
jmp 0x14006124b
lea rdx, [rsp + 0x70]
call fcn.1400611e0
xor ecx, ecx
test eax, eax
mov ebx, eax
jne 0x1400612a6
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x40], 0x100
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x70]
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegEnumKeyExW]
lea rcx, [rsp + 0x48]
test eax, eax
je 0x140061241
call fcn.14005e944
mov rdx, rsi
mov rcx, rdi
call fcn.14005ee38
mov ebx, eax
lea rcx, [rsp + 0x48]
call fcn.14005e944
mov eax, ebx
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.1400321c0
mov rbx, qword [rsp + 0x2b0]
add rsp, 0x280
pop rdi
pop rsi
pop rbp
ret
Function at 0x140061460
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x60
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x18], 0xfffffffffffffffe
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0x68], rsi
mov qword [rbp + 0x70], rdi
mov rax, qword [0x14016b400]
xor rax, rbp
mov qword [rbp + 0x20], rax
mov rbx, r9
mov rsi, r8
mov rax, rdx
xor edi, edi
mov qword [rbp], rdi
mov qword [rbp + 0x10], rcx
mov qword [rbp + 8], rdi
xor edx, edx
lea r8d, [rdi + 2]
mov rcx, rax
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_LoadLibraryExW]
mov r15, rax
test rax, rax
jne 0x1400614e1
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test eax, eax
jle 0x140061662
movzx ebx, ax
or ebx, 0x80070000
jmp 0x140061662
xor r9d, r9d
mov r8, rsi
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FindResourceExW]
mov rbx, rax
test rax, rax
jne 0x140061519
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test eax, eax
jle 0x140061658
movzx ebx, ax
or ebx, 0x80070000
jmp 0x140061658
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_LoadResource]
mov r14, rax
test rax, rax
je 0x1400614fb
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_SizeofResource]
mov rsi, r14
mov r12d, eax
movabs r13, 0xffffffffffffff0
cmp byte [r12 + r14], dil
je 0x1400615b4
inc eax
mov ebx, eax
cmp eax, 0x400
ja 0x140061584
mov ecx, ebx
call fcn.14006315c
test al, al
je 0x140061584
lea rax, [rbx + 0xf]
cmp rax, rbx
ja 0x140061571
mov rax, r13
and rax, 0xfffffffffffffff0
call fcn.1400332f0
sub rsp, rax
lea rsi, [rsp + 0x30]
jmp 0x140061593
mov rdx, rbx
lea rcx, [rbp]
call fcn.14005e834
mov rsi, rax
test rsi, rsi
jne 0x1400615a2
mov ebx, 0x8007000e
jmp 0x140061658
mov r8, rbx
mov rdx, r14
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov byte [r12 + rsi], dil
test rsi, rsi
je 0x140061643
or r12, 0xffffffffffffffff
mov r14, r12
inc r14
cmp byte [rsi + r14], dil
jne 0x1400615c4
inc r14d
movsxd rbx, r14d
add rbx, rbx
cmp rbx, 0x400
ja 0x14006160a
mov rcx, rbx
call fcn.14006315c
test al, al
je 0x14006160a
lea rax, [rbx + 0xf]
cmp rax, rbx
ja 0x1400615f7
mov rax, r13
and rax, 0xfffffffffffffff0
call fcn.1400332f0
sub rsp, rax
lea rbx, [rsp + 0x30]
jmp 0x140061619
mov rdx, rbx
lea rcx, [rbp]
call fcn.14005e834
mov rbx, rax
test rbx, rbx
je 0x140061643
mov word [rbx], di
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rbx
mov r9d, r12d
mov r8, rsi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_string_l1_1_0.dll_MultiByteToWideChar]
neg eax
sbb rdi, rdi
and rdi, rbx
mov r8d, dword [rbp + 0x80]
mov rdx, rdi
lea rcx, [rbp + 8]
call fcn.1400612e0
mov ebx, eax
mov rcx, r15
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
nop
lea rcx, [rbp]
call fcn.14005db24
mov eax, ebx
mov rcx, qword [rbp + 0x20]
xor rcx, rbp
call fcn.1400321c0
mov rbx, qword [rbp + 0x60]
mov rsi, qword [rbp + 0x68]
mov rdi, qword [rbp + 0x70]
lea rsp, [rbp + 0x30]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
Function at 0x140062998
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x20
cmp word [rdx], 0
mov r14, rdx
mov rdi, rcx
jne 0x1400629c5
mov rax, rcx
jmp 0x140062a51
movzx eax, word [rcx]
jmp 0x140062a46
mov rbx, rdi
mov rsi, r14
test ax, ax
je 0x140062a31
cmp word [rsi], 0
je 0x140062a6c
movzx ecx, word [rbx]
movzx eax, word [rsi]
cmp ecx, eax
jne 0x140062a31
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_string_l2_1_0.dll_CharNextW]
mov rcx, rsi
mov rbp, rax
call qword [sym.imp.api_ms_win_core_string_l2_1_0.dll_CharNextW]
sub rax, rsi
mov rcx, rbp
sub rcx, rbx
xor rax, rcx
test rax, 0xfffffffffffffffe
jne 0x140062a31
jmp 0x140062a26
add rbx, 2
add rsi, 2
movzx ecx, word [rsi]
movzx eax, word [rbx]
cmp eax, ecx
je 0x140062a2b
cmp rbx, rbp
jb 0x140062a14
cmp word [rbx], 0
jne 0x1400629d5
cmp word [rsi], 0
je 0x140062a6c
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_string_l2_1_0.dll_CharNextW]
mov rdi, rax
movzx eax, word [rax]
test ax, ax
jne 0x1400629ca
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov rax, rdi
jmp 0x140062a51
Function at 0x140062c0c
Capabilities:
Check if file exists

Disassembly:
mov r11, rsp
push rsi
push rdi
sub rsp, 0x258
mov rax, qword [0x14016b400]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov qword [r11 + 8], rbx
xor esi, esi
mov qword [r11 - 0x18], r14
mov ebx, 0x104
mov r14, r8
mov qword [r8], rsi
mov r8, rcx
mov edx, ebx
lea rcx, [rsp + 0x30]
call fcn.1400109f0
mov ecx, ebx
lea rax, [rsp + 0x30]
cmp word [rax], si
je 0x140062c64
add rax, 2
sub rcx, 1
jne 0x140062c55
mov rax, rbx
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140062cca
mov rcx, rbx
lea rdx, [rsp + 0x30]
lea rdx, [rdx + r8*2]
sub rcx, r8
je 0x140062cbc
lea rax, [r8 + 0x7ffffefa]
add rax, rcx
lea r8, [0x14010c578]
sub r8, rdx
test rax, rax
je 0x140062cbc
movzx r9d, word [r8 + rdx]
test r9w, r9w
je 0x140062cbc
mov word [rdx], r9w
dec rax
add rdx, 2
sub rcx, 1
jne 0x140062c9b
test rcx, rcx
lea rax, [rdx - 2]
cmovne rax, rdx
mov word [rax], si
lea r8, [rsp + 0x30]
mov qword [rsp + 0x278], rbp
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_OpenSemaphoreW]
mov rdi, rax
test rax, rax
jne 0x140062d1b
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 2
je 0x140062e60
mov rcx, qword [rsp + 0x268]
lea r8, [0x140103378]
mov edx, reloc.OLEAUT32.dll_SetErrorInfo
call fcn.1400622f0
mov esi, eax
jmp 0x140062e60
lea rdx, [rsp + 0x24]
mov dword [rsp + 0x24], esi
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.14005f868
mov ebp, eax
test eax, eax
jns 0x140062d52
mov rcx, qword [rsp + 0x268]
mov r9d, eax
mov edx, 0xce
call fcn.140062308
mov esi, ebp
jmp 0x140062e60
mov rcx, rbx
lea rax, [rsp + 0x30]
cmp word [rax], si
je 0x140062d69
add rax, 2
sub rcx, 1
jne 0x140062d5a
mov rax, rbx
mov r8, rsi
sub rax, rcx
test rcx, rcx
cmovne r8, rax
je 0x140062dca
lea rdx, [rsp + 0x30]
lea rdx, [rdx + r8*2]
sub rbx, r8
je 0x140062dbc
lea rax, [r8 + 0x7ffffefa]
add rax, rbx
lea r8, [0x14010c580]
sub r8, rdx
test rax, rax
je 0x140062dbc
movzx ecx, word [r8 + rdx]
test cx, cx
je 0x140062dbc
mov word [rdx], cx
dec rax
add rdx, 2
sub rbx, 1
jne 0x140062d9d
test rbx, rbx
lea rax, [rdx - 2]
cmovne rax, rdx
mov word [rax], si
lea r8, [rsp + 0x30]
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_OpenSemaphoreW]
test rax, rax
mov rbx, rax
sete al
test al, al
je 0x140062e06
mov rcx, qword [rsp + 0x268]
lea r8, [0x140103378]
mov edx, 0xd4
call fcn.1400622f0
mov ebp, eax
jmp 0x140062e2e
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.14005f868
mov ebp, eax
test eax, eax
jns 0x140062e3f
mov rcx, qword [rsp + 0x268]
mov r9d, eax
mov edx, 0xd6
call fcn.140062308
test rbx, rbx
je 0x140062e3b
mov rcx, rbx
call fcn.14005e968
mov esi, ebp
jmp 0x140062e60
test rbx, rbx
je 0x140062e4c
mov rcx, rbx
call fcn.14005e968
movsxd rcx, dword [rsp + 0x20]
movsxd rax, dword [rsp + 0x24]
shl rcx, 0x1f
or rax, rcx
mov qword [r14], rax
mov r14, qword [rsp + 0x250]
mov rbp, qword [rsp + 0x278]
mov rbx, qword [rsp + 0x270]
test rdi, rdi
je 0x140062e85
mov rcx, rdi
call fcn.14005e968
mov eax, esi
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.1400321c0
add rsp, 0x258
pop rdi
pop rsi
ret
Function at 0x140068e40
Capabilities:
Get common file path
Get disk information

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r13
push r15
lea rbp, [rax - 0x6a8]
sub rsp, 0x790
mov rax, qword [0x14016b400]
xor rax, rsp
mov qword [rbp + 0x680], rax
mov rdi, rdx
mov dword [rsp + 0x48], 0xb21
xor ebx, ebx
mov dword [rsp + 0x4c], 1
lea r15, str.base_stor_vssmodulescoord_srccoord.cxx
mov dword [rsp + 0x50], 0xff
lea r12, str.CVssCoordinator::IsBootVolume
mov qword [rsp + 0x30], r15
lea r13, str.CORCOORC
mov qword [rsp + 0x38], r12
lea r8d, [rbx + 0x78]
mov qword [rsp + 0x40], r13
xor edx, edx
mov dword [rbp - 0x30], 0x1000000
lea rcx, [rsp + 0x58]
call sub.msvcrt.dll_memset
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x20]
call fcn.14001cce0
mov edx, 0x105
lea rcx, [rbp + 0x260]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemDirectoryW]
test eax, eax
je 0x140068fb7
mov r8d, 0x104
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x260]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetVolumePathNameW]
test eax, eax
je 0x140068fb7
mov r8d, 0x104
lea rdx, [rbp + 0x470]
lea rcx, [rbp + 0x50]
call qword [sym.imp.api_ms_win_core_file_l1_2_0.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
je 0x140068f47
mov rdx, rdi
lea rcx, [rbp + 0x470]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
sete bl
jmp 0x140068fb7
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
test eax, eax
jle 0x140068f5c
movzx edi, ax
or edi, 0x80070000
xor edx, edx
mov qword [rsp + 0x30], r15
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x48], 0xb2d
lea r8d, [rdx + 0x78]
mov dword [rsp + 0x4c], 1
mov dword [rsp + 0x50], 0xff
mov dword [rbp - 0x30], 0x1000000
call sub.msvcrt.dll_memset
lea r9, [rbp + 0x50]
mov dword [rsp + 0x20], edi
lea r8, str.GetVolumeNameForVolumeMountPoint__s__failed_with_0x_08lx
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x20]
call fcn.14001cc70
mov dl, bl
lea rcx, [rbp - 0x20]
call fcn.14001cbf4
lea rcx, [rbp - 0x20]
mov bl, al
call fcn.14001ce00
mov al, bl
mov rcx, qword [rbp + 0x680]
xor rcx, rsp
call fcn.1400321c0
lea r11, [rsp + 0x790]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r13
pop rbp
ret
Function at 0x140070850
Capabilities:
Delete registry key

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov r14, rcx
mov r15, 0xffffffff80000002
mov rcx, r15
mov rdx, r8
mov rsi, r8
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteTreeW]
mov ebx, eax
cmp eax, 2
jne 0x1400708ff
lea rax, str.base_stor_vssmodulescoord_src_reg_util.cxx
mov dword [rbp - 0x51], 0x5a
mov qword [rbp - 0x69], rax
lea r8d, [rbx + 0x76]
lea rax, str.RecursiveDeleteKey
mov dword [rbp - 0x4d], 1
mov qword [rbp - 0x61], rax
lea rcx, [rbp - 0x41]
lea rax, str.CORREGUC
mov dword [rbp - 0x49], 0xff
xor edx, edx
mov qword [rbp - 0x59], rax
mov dword [rbp + 0x37], 0x1000000
call sub.msvcrt.dll_memset
lea r9, str.Key_with_path__p_s_not_found
mov qword [rsp + 0x28], rsi
mov r8d, 0x80042308
mov qword [rsp + 0x20], r15
lea rdx, [rbp - 0x69]
mov rcx, r14
call fcn.1400dc25c
int3
test ebx, ebx
je 0x14007097d
lea rax, str.base_stor_vssmodulescoord_src_reg_util.cxx
mov dword [rbp - 0x51], 0x5d
mov qword [rbp - 0x69], rax
lea rcx, [rbp - 0x41]
xor edx, edx
mov dword [rbp - 0x4d], 1
lea rax, str.RecursiveDeleteKey
mov dword [rbp - 0x49], 0xff
mov qword [rbp - 0x61], rax
lea rax, str.CORREGUC
mov qword [rbp - 0x59], rax
lea r8d, [rdx + 0x78]
mov dword [rbp + 0x37], 0x1000000
call sub.msvcrt.dll_memset
test ebx, ebx
jle 0x14007095c
movzx ebx, bx
or ebx, 0x80070000
mov qword [rsp + 0x28], rsi
lea r9, str.SHDeleteKey__p__s_
mov r8d, ebx
mov qword [rsp + 0x20], r15
lea rdx, [rbp - 0x69]
mov rcx, r14
call fcn.1400dcb7c
int3
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x140095288
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0xf0]
sub rsp, 0x1f0
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x228], rbx
mov rbx, rdx
lea rdi, str.base_stor_vssmodulescoord_srchwwrpdb.cxx
mov qword [rsp + 0x20], rdi
lea r14, str.CVssHardwareProviderWrapper::DeleteDatabase
mov qword [rsp + 0x28], r14
lea r15, str.CORHWDBC
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x38], 0x179
mov dword [rsp + 0x3c], 1
mov dword [rsp + 0x40], 0xff
xor esi, esi
mov dword [rbp - 0x40], 0x1000000
xor edx, edx
lea r8d, [rsi + 0x78]
lea rcx, [rsp + 0x48]
call sub.msvcrt.dll_memset
xor r8d, r8d
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x30]
call fcn.14001cce0
nop
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteFileW]
test eax, eax
jne 0x1400953e9
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test eax, eax
jle 0x140095343
movzx ebx, ax
or ebx, 0x80070000
mov dword [rbp - 0x28], ebx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x38], 0x181
mov dword [rsp + 0x3c], 1
mov dword [rsp + 0x40], 0xff
mov dword [rbp - 0x40], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x48]
call sub.msvcrt.dll_memset
lea rax, [rsp + 0x20]
mov qword [rbp + 0x120], rax
mov eax, ebx
shr eax, 0x1f
test al, al
je 0x1400953be
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x40]
call fcn.14000aeb0
lea r9, str.DeleteFile
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.1400dc9fc
nop
cmp byte [rbp - 0x3d], 0
je 0x1400953e9
lea rbx, [rsp + 0x48]
mov edi, 0xf
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400953df
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
mov qword [rbx], rsi
add rbx, 8
sub rdi, 1
jne 0x1400953ce
lea rcx, [rbp - 0x30]
call fcn.14001ce00
mov rbx, qword [rsp + 0x228]
add rsp, 0x1f0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret

Function at 0x140095424
Capabilities:
Check if file exists
Get file attributes

Disassembly:
sub rsp, 0x28
mov rcx, rdx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
cmp eax, 0xffffffff
setne al
add rsp, 0x28
ret
Function at 0x1400963b8
Capabilities:
Move file

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x1f0
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rbx, r8
mov rdi, rdx
lea r14, str.base_stor_vssmodulescoord_srchwwrpdb.cxx
mov qword [rsp + 0x20], r14
lea r15, str.CVssHardwareProviderWrapper::MoveDatabase
mov qword [rsp + 0x28], r15
lea r12, str.CORHWDBC
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x38], 0x161
mov dword [rsp + 0x3c], 1
mov dword [rsp + 0x40], 0xff
xor esi, esi
mov dword [rbp - 0x40], 0x1000000
xor edx, edx
lea r8d, [rsi + 0x78]
lea rcx, [rsp + 0x48]
call sub.msvcrt.dll_memset
xor r8d, r8d
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x30]
call fcn.14001cce0
nop
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_file_l2_1_0.dll_MoveFileExW]
test eax, eax
jne 0x140096524
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test eax, eax
jle 0x14009647e
movzx ebx, ax
or ebx, 0x80070000
mov dword [rbp - 0x28], ebx
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x38], 0x16f
mov dword [rsp + 0x3c], 1
mov dword [rsp + 0x40], 0xff
mov dword [rbp - 0x40], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x48]
call sub.msvcrt.dll_memset
lea rax, [rsp + 0x20]
mov qword [rbp + 0x120], rax
mov eax, ebx
shr eax, 0x1f
test al, al
je 0x1400964f9
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x40]
call fcn.14000aeb0
lea r9, str.MoveFileEx
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.1400dc9fc
nop
cmp byte [rbp - 0x3d], 0
je 0x140096524
lea rbx, [rsp + 0x48]
mov edi, 0xf
mov rcx, qword [rbx]
test rcx, rcx
je 0x14009651a
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
mov qword [rbx], rsi
add rbx, 8
sub rdi, 1
jne 0x140096509
lea rcx, [rbp - 0x30]
call fcn.14001ce00
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
Function at 0x1400cb9b0
Capabilities:
Get hostname

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x220]
sub rsp, 0x320
mov rax, qword [0x14016b400]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov rbx, rdx
mov dword [rsp + 0x30], 0x104
mov rdi, rcx
mov dword [rsp + 0x34], 0x10
xor edx, edx
lea rcx, [rbp]
mov r8d, 0x208
call sub.msvcrt.dll_memset
xor edx, edx
lea rcx, [rbp - 0x20]
lea r8d, [rdx + 0x20]
call sub.msvcrt.dll_memset
xor esi, esi
lea r8, [rsp + 0x30]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
lea rdx, [rbp]
mov rcx, rbx
call qword [sym.imp.ext_ms_win_cluster_clusapi_l1_1_2.dll_GetClusterResourceState]
lea rdx, [rsp + 0x34]
mov ebx, eax
lea rcx, [rbp - 0x20]
call qword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_GetComputerNameW]
cmp ebx, 2
je 0x1400cba9f
lea rax, str.base_stor_vssmodulescoord_srchwresync.cxx
mov dword [rsp + 0x50], 0xc89
mov qword [rsp + 0x38], rax
lea r8d, [rsi + 0x78]
lea rax, str.CVssHardwareProviderWrapper::CheckIsOnlineOnMachine
mov dword [rsp + 0x54], 1
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x60]
lea rax, str.CORHRSNC
mov dword [rsp + 0x58], 0xff
xor edx, edx
mov qword [rsp + 0x48], rax
mov dword [rbp - 0x28], 0x1000000
call sub.msvcrt.dll_memset
lea r8, str.This_cluster_resource_is_not_online_on_any_machine
jmp 0x1400cbb84
test eax, eax
je 0x1400cbb2a
mov r8d, 0xf
lea rdx, [rbp - 0x20]
lea rcx, [rbp]
call qword [sym.imp.msvcrt.dll__wcsnicmp]
test eax, eax
jne 0x1400cbb2a
lea rax, str.base_stor_vssmodulescoord_srchwresync.cxx
mov dword [rsp + 0x50], 0xc92
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x60]
xor edx, edx
mov dword [rsp + 0x54], 1
lea rax, str.CVssHardwareProviderWrapper::CheckIsOnlineOnMachine
mov dword [rsp + 0x58], 0xff
mov qword [rsp + 0x40], rax
lea rax, str.CORHRSNC
mov qword [rsp + 0x48], rax
lea r8d, [rdx + 0x78]
mov dword [rbp - 0x28], 0x1000000
call sub.msvcrt.dll_memset
lea r8, str.Cluster_resource_is_online_on_this_machine
mov rcx, rdi
lea rdx, [rsp + 0x38]
call fcn.14001cc70
mov al, 1
jmp 0x1400cbb93
lea rax, str.base_stor_vssmodulescoord_srchwresync.cxx
mov dword [rsp + 0x50], 0xc8e
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x60]
xor edx, edx
mov dword [rsp + 0x54], 1
lea rax, str.CVssHardwareProviderWrapper::CheckIsOnlineOnMachine
mov dword [rsp + 0x58], 0xff
mov qword [rsp + 0x40], rax
lea rax, str.CORHRSNC
mov qword [rsp + 0x48], rax
lea r8d, [rdx + 0x78]
mov dword [rbp - 0x28], 0x1000000
call sub.msvcrt.dll_memset
lea r8, str.This_cluster_resource_is_not_online_on_this_machine
lea rdx, [rsp + 0x38]
mov rcx, rdi
call fcn.14001cc70
xor al, al
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.1400321c0
mov rbx, qword [rsp + 0x350]
add rsp, 0x320
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400e5694
Capabilities:
Get disk information
Get disk size

Disassembly:
mov dword [rsp + 0x18], r8d
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rdi, qword [rbp + 0x68]
xor r12d, r12d
mov r14, rcx
mov word [rdx], r12w
mov rsi, r9
mov dword [rbp + 0x48], r12d
mov rbx, rdx
mov dword [rbp + 0x60], r12d
lea r15d, [r12 + 1]
mov dword [rbp + 0x50], r12d
mov ecx, r15d
mov dword [rbp - 0x10], r12d
mov dword [rbp + 0x58], r12d
mov word [r9], r12w
mov dword [rdi], r12d
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetErrorMode]
mov dword [rsp + 0x38], 0x10
lea rax, [rbp + 0x48]
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov r8d, 0x100
mov rdx, rsi
mov qword [rsp + 0x20], r12
mov rcx, r14
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetVolumeInformationW]
lea r9, [rbp - 0x10]
mov rcx, r14
mov ebx, eax
lea r8, [rbp + 0x50]
lea rax, [rbp + 0x58]
lea rdx, [rbp + 0x60]
mov qword [rsp + 0x20], rax
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetDiskFreeSpaceW]
mov ecx, dword [rbp + 0x50]
imul ecx, dword [rbp + 0x60]
mov dword [rdi], ecx
test ebx, ebx
je 0x1400e5748
test eax, eax
jne 0x1400e574b
mov r15d, r12d
mov eax, r15d
add rsp, 0x50
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret