joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140068c80
Capabilities:
Create process on windows
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
lea rbp, [rsp - 0x3d0]
sub rsp, 0x4d0
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rbp + 0x3c0], rax
mov r8d, 0x104
lea rdx, [rbp - 0x60]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140068e98
mov r8d, 0x104
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
test eax, eax
je 0x140068e98
movabs rax, 0xa37c4d919a0a7df2
mov qword [rsp + 0x4e0], rdi
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x40]
mov rax, qword [rsp + 0x30]
lea rcx, [rbp + 0x1b0]
mov qword [rsp + 0x40], rax
movabs rdi, 0xa3184db19a697ddd
movabs rax, 0xae32b28cdfa179df
movabs rbx, 0xae32b2acdfcd79ba
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x78], rax
pxor xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x40], xmm0
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
movabs rax, 0xa3384d8f9a577dfd
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x1b0]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
movabs rax, 0xae32b2e0df9879f4
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rsp + 0x50]
mov qword [rbp - 0x78], rax
pxor xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rsp + 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_lstrcatW]
movabs rax, 0xa34b4ddc9a067d9e
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x60]
mov rax, qword [rsp + 0x30]
mov r8d, 0x104
mov qword [rsp + 0x60], rax
movabs rax, 0xae32b2cfdfa879ca
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rsp + 0x60]
mov qword [rbp - 0x68], rax
pxor xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x60], xmm0
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov rdi, qword [rsp + 0x4e0]
test eax, eax
je 0x140068e98
xor ebx, ebx
lea r9, [rbp + 0x1b0]
mov dword [rsp + 0x28], ebx
lea r8, [rbp - 0x60]
xor edx, edx
mov qword [rsp + 0x20], rbx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
setg bl
mov eax, ebx
jmp 0x140068e9a
xor eax, eax
mov rcx, qword [rbp + 0x3c0]
xor rcx, rsp
call fcn.1400f48b0
mov rbx, qword [rsp + 0x4e8]
add rsp, 0x4d0
pop rbp
ret
Function at 0x14007d030
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rdx
mov rdi, rcx
mov ecx, 8
call fcn.1400f4b70
mov r9, rax
mov rax, qword [rbx]
mov qword [r9], rax
mov qword [rsp + 0x30], r9
lea rbx, [rdi + 8]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0
lea r8, [0x14007fd20]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
je 0x14007d0ac
mov rax, rdi
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400f48b0
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
mov dword [rbx], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3

Function at 0x14007d0c0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rcx
mov ecx, 1
call fcn.1400f4b70
mov qword [rsp + 0x30], rax
lea rdi, [rbx + 8]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x14007fd50]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbx], rax
test rax, rax
je 0x14007d133
mov rax, rbx
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400f48b0
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
mov dword [rdi], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3

Function at 0x14007d150
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rdx
mov rdi, rcx
mov ecx, 8
call fcn.1400f4b70
mov r9, rax
mov rax, qword [rbx]
mov qword [r9], rax
mov qword [rsp + 0x30], r9
lea rbx, [rdi + 8]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0
lea r8, [0x14007fd80]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
je 0x14007d1cc
mov rax, rdi
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400f48b0
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
mov dword [rbx], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3

Function at 0x14007d1e0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rdx
mov rdi, rcx
mov ecx, 8
call fcn.1400f4b70
mov r9, rax
mov rax, qword [rbx]
mov qword [r9], rax
mov qword [rsp + 0x30], r9
lea rbx, [rdi + 8]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0
lea r8, [0x14007fdb0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
je 0x14007d25c
mov rax, rdi
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400f48b0
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
mov dword [rbx], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
Function at 0x14007d270
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rdx
mov rdi, rcx
mov ecx, 8
call fcn.1400f4b70
mov r9, rax
mov rax, qword [rbx]
mov qword [r9], rax
mov qword [rsp + 0x30], r9
lea rbx, [rdi + 8]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0
lea r8, [0x14007fde0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
je 0x14007d2ec
mov rax, rdi
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400f48b0
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
mov dword [rbx], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3

Function at 0x14007fb00
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r10, rcx
mov r9d, 0x270
mov ecx, dword [rcx]
cmp ecx, r9d
jne 0x14007fb61
lea r8, [r10 + 8]
nop dword [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r9, 1
jne 0x14007fb20
mov ecx, dword [r10]
jmp 0x14007fc4a
cmp ecx, 0x4e0
jb 0x14007fc4a
lea r11, [r10 + 0x9c4]
mov qword [rsp], rbx
mov eax, dword [r11]
mov ebx, 0xe3
mov edx, dword [r11 + 4]
lea r8, [r11 + 4]
xor edx, eax
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 + 0x634]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x14007fb80
lea r11, [r10 + 0xd50]
mov ebx, 0x18c
mov eax, dword [r11]
nop dword [rax + rax]
mov edx, eax
lea r8, [r11 + 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 - 0xd4c]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x14007fbd0
mov edx, dword [r10 + 0x1380]
xor edx, dword [r10 + 4]
mov rbx, qword [rsp]
btr edx, 0x1f
xor edx, dword [r10 + 0x1380]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r10 + 0x634]
xor ecx, edx
mov dword [r10 + 0x9c0], ecx
xor ecx, ecx
mov dword [r10], ecx
mov eax, ecx
mov edx, dword [r10 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r10], eax
mov ecx, edx
mov eax, dword [r10 + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
add rsp, 8
ret
Function at 0x140088000
Capabilities:
Create thread

Disassembly:
sub rsp, 0x28
call qword [sym.imp.KERNEL32.dll_AllocConsole]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
add rsp, 0x28
jmp 0x140088000
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rsp + 0x50], rax
xor r12d, r12d
lea rsi, reloc.WS2_32.dll_accept
lea r13, [0x140173da8]
nop dword [rax]
mov r15d, dword [rsi + 4]
mov r14d, dword [rsi]
xor al, al
test dword [rsi - 4], 0xfffffffd
jne 0x1400880cf
xor bpl, bpl
xor edi, edi
lea rbx, [0x140173cd8]
nop
test rdi, rdi
je 0x140088070
cmp dword [rbx - 8], r14d
jne 0x140088070
mov bpl, 1
call qword [rbx]
inc rdi
add rbx, 0x10
cmp rbx, r13
jl 0x140088060
test bpl, bpl
jne 0x14008808a
lea rcx, str.ERROR:_Minimum_version_value_was_invalid._n
jmp 0x1400880c8
test al, al
je 0x1400880cd
test r15d, r15d
jne 0x140088097
mov al, 1
jmp 0x1400880cf
xor dil, dil
xor al, al
lea rbx, [0x140173cd8]
cmp dword [rbx - 8], r15d
jne 0x1400880b3
mov dil, 1
call qword [rbx]
test al, al
sete al
add rbx, 0x10
cmp rbx, r13
jl 0x1400880a3
test dil, dil
jne 0x1400880cf
lea rcx, str.ERROR:_Removed_version_value_was_invalid._n
call fcn.140002250
xor al, al
mov byte [rsi + 9], al
mov rcx, qword [rsi - 0x14]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
jne 0x1400880e6
mov byte [rsi + 8], al
jmp 0x140088100
mov rdx, qword [rsi - 0xc]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xc], rax
test rax, rax
setne al
mov byte [rsi + 8], al
inc r12d
add rsi, 0x30
cmp r12d, 0x1f
jb 0x140088040
mov ecx, 8
call fcn.1400f4b70
lea rcx, [0x1400804c0]
mov qword [rax], rcx
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x1400881d0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400881bb
cmp dword [rsp + 0x38], 0
jne 0x14008816d
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x140088190
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400f48b0
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov dword [rsp + 0x38], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
Function at 0x140088670
Capabilities:
Get session user name

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov ecx, 0x202
mov dword [rsp + 0x20], 0x101
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je 0x1400886bb
lea rdx, [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
jne 0x1400886d0
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor eax, eax
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1400f48b0
add rsp, 0x30
pop rbx
ret
mov rax, rbx
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1400f48b0
add rsp, 0x30
pop rbx
ret

Function at 0x1400886f0
Capabilities:
Get hostname

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov ecx, reloc.WLDAP32.dll_Ordinal_32
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je 0x14008873b
lea rdx, [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetComputerNameW]
test eax, eax
jne 0x140088750
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor eax, eax
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1400f48b0
add rsp, 0x30
pop rbx
ret
mov rax, rbx
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1400f48b0
add rsp, 0x30
pop rbx
ret

Function at 0x140088770
Capabilities:
Get hostname

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rsp + 0x28], rax
xor edx, edx
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0x20]
lea ecx, [rdx + 1]
call qword [sym.imp.KERNEL32.dll_GetComputerNameExW]
mov ecx, dword [rsp + 0x20]
mov eax, 2
inc ecx
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je 0x1400887e7
lea r8, [rsp + 0x20]
mov rdx, rax
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_GetComputerNameExW]
test eax, eax
jne 0x1400887fc
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor eax, eax
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1400f48b0
add rsp, 0x30
pop rbx
ret
mov rax, rbx
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1400f48b0
add rsp, 0x30
pop rbx
ret
Function at 0x140089170
Capabilities:
Enumerate disk properties

Disassembly:
push rbp
push rsi
push r15
sub rsp, 0x80
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rsp + 0x70], rax
xor r15d, r15d
lea rcx, [0x14010a808]
xor r8d, r8d
xor edx, edx
mov esi, r15d
lea r9d, [r15 + 2]
call qword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsW]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x14008935d
mov qword [rsp + 0xa0], rbx
lea r8, [rsp + 0x50]
mov qword [rsp + 0xb0], r14
xor edx, edx
mov rcx, rax
mov dword [rsp + 0x50], reloc.WLDAP32.dll_Ordinal_32
mov r14d, r15d
mov dword [rsp + 0x44], r15d
mov ebx, r15d
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
je 0x140089327
lea esi, [r15 + 1]
mov qword [rsp + 0xa8], rdi
nop dword [rax + rax]
lea rax, [rsp + 0x44]
mov r8d, esi
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x48]
mov eax, dword [rsp + 0x44]
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov rcx, rbp
mov qword [rsp + 0x20], rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyW]
test eax, eax
jne 0x140089299
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140089299
test rbx, rbx
je 0x14008924a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [rsp + 0x44]
mov ecx, 0x40
lea edx, [rax + rax]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
test rax, rax
je 0x1400892f2
lea rax, [rsp + 0x44]
mov r8d, esi
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x48]
mov eax, dword [rsp + 0x44]
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov rcx, rbp
mov qword [rsp + 0x20], rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyW]
test eax, eax
je 0x140089231
test rbx, rbx
je 0x1400892f2
lea rdx, str.vbox
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
jne 0x140089316
lea rdx, str.vmware
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
jne 0x140089316
lea rdx, str.qemu
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
jne 0x140089316
lea rdx, str.virtual
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
jne 0x140089316
inc r14d
lea r8, [rsp + 0x50]
mov edx, r14d
mov rcx, rbp
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
jne 0x140089200
mov esi, r15d
test rbx, rbx
je 0x14008931f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rdi, qword [rsp + 0xa8]
mov rcx, rbp
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xa0]
test eax, eax
je 0x140089359
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x103
cmovne esi, r15d
mov eax, esi
jmp 0x14008935f
xor eax, eax
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400f48b0
add rsp, 0x80
pop r15
pop rsi
pop rbp
ret
Function at 0x140089aa0
Capabilities:
Reference wmi statements

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor ebx, ebx
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rbx
call fcn.140091720
test eax, eax
je 0x140089c83
lea r8, str.rootWMI
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x48]
call fcn.140091570
test eax, eax
je 0x140089c81
mov qword [rsp + 0x90], rsi
lea rcx, [0x140141da0]
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], r14
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
lea rcx, str.SELECT__FROM_MSAcpi_ThermalZoneTemperature
mov rsi, rax
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov r14d, 1
mov rdi, rax
test rsi, rsi
je 0x140089b99
test rax, rax
je 0x140089b90
mov rcx, qword [rbp - 0x48]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea r9d, [r14 + 0x2f]
mov r8, rdi
mov qword [rsp + 0x20], rbx
mov rdx, rsi
mov r10, qword [rcx]
call qword [r10 + 0xa0]
test eax, eax
jns 0x140089b90
lea rcx, str.ExecQuery
mov r14d, ebx
call fcn.14008f300
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rsi, qword [rsp + 0x90]
test rdi, rdi
je 0x140089baf
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rdi, qword [rsp + 0x98]
test r14d, r14d
mov r14, qword [rsp + 0xa0]
je 0x140089c81
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x50], rbx
mov dword [rbp - 0x30], ebx
test rcx, rcx
je 0x140089c5d
nop dword [rax]
mov rax, qword [rcx]
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x50]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
cmp dword [rbp - 0x30], ebx
je 0x140089c58
mov rcx, qword [rbp - 0x50]
lea r9, [rbp - 0x28]
mov qword [rsp + 0x28], rbx
lea rdx, str.CurrentTemperature
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
lea rcx, [rbp - 0x28]
test eax, eax
jns 0x140089c46
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x40]
test rcx, rcx
jne 0x140089be0
jmp 0x140089c5d
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x140089c5d
mov ebx, 1
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400f48b0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rbp
ret
Function at 0x140089ca0
Capabilities:
Reference wmi statements

Disassembly:
push rbp
push rbx
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor r15d, r15d
lea r8, [0x14013d910]
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x48], r15
lea rcx, [rbp - 0x48]
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x40], r15
mov ebx, r15d
call fcn.140091570
test eax, eax
je 0x140089e8c
mov qword [rsp + 0xa0], rsi
lea rcx, [0x140141da0]
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], r14
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
lea rcx, str.SELECT__FROM_Win32_Processor
mov rsi, rax
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
lea r14d, [r15 + 1]
mov rdi, rax
test rsi, rsi
je 0x140089d8d
test rax, rax
je 0x140089d84
mov rcx, qword [rbp - 0x48]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea r9d, [r15 + 0x30]
mov r8, rdi
mov qword [rsp + 0x20], r15
mov rdx, rsi
mov r10, qword [rcx]
call qword [r10 + 0xa0]
test eax, eax
jns 0x140089d84
lea rcx, str.ExecQuery
mov r14d, r15d
call fcn.14008f300
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rsi, qword [rsp + 0xa0]
test rdi, rdi
je 0x140089da3
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rdi, qword [rsp + 0xa8]
test r14d, r14d
mov r14, qword [rsp + 0xb0]
je 0x140089e8c
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x18], r15d
test rcx, rcx
je 0x140089e68
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
lea rdx, [rbp - 0x18]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x50]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov ebx, r15d
cmp dword [rbp - 0x18], ebx
je 0x140089e68
mov rcx, qword [rbp - 0x50]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x28], r15
lea rdx, str.ProcessorId
xor r8d, r8d
mov qword [rsp + 0x20], r15
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
test eax, eax
js 0x140089e30
cmp qword [rbp - 0x28], rbx
je 0x140089e4f
lea rcx, [rbp - 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x40]
test rcx, rcx
jne 0x140089de0
jmp 0x140089e68
lea rcx, [rbp - 0x30]
mov ebx, 1
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400f48b0
add rsp, 0x80
pop r15
pop rbx
pop rbp
ret