joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140004250
Capabilities:
Create service
Delete service
Stop service

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0xa0
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rsi, rcx
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rbx, rax
test rax, rax
je 0x140004367
mov r8d, 0xf01ff
mov qword [rsp + 0xb8], rdi
lea rdx, str.WinIoDrv0
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov rdi, rax
test rax, rax
je 0x1400042f2
xor eax, eax
lea r8, [rsp + 0x70]
mov rcx, rdi
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rax
lea edx, [rax + 1]
mov dword [rsp + 0x88], eax
call qword [sym.imp.ADVAPI32.dll_ControlService]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_DeleteService]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor eax, eax
lea r8, str.WinIoDrv0
mov qword [rsp + 0x60], rax
lea rdx, str.WinIoDrv0
mov qword [rsp + 0x58], rax
mov r9d, 0xf01ff
mov qword [rsp + 0x50], rax
mov rcx, rbx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 1
call qword [sym.imp.ADVAPI32.dll_CreateServiceW]
mov rdi, qword [rsp + 0xb8]
test rax, rax
je 0x140004359
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call fcn.140004540
xor eax, eax
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14002ba20
mov rbx, qword [rsp + 0xc0]
add rsp, 0xa0
pop rsi
ret

Function at 0x140004390
Capabilities:
Get common file path

Disassembly:
push rbx
sub rsp, 0x460
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x450], rax
mov ebx, ecx
mov r8, 0xffffffffffffffff
lea rcx, [0x1400659a0]
call fcn.140003790
call fcn.140004660
cmp eax, 1
jne 0x1400043cf
jmp 0x1400044ae
xor edx, edx
lea rcx, [rsp + 0x240]
mov r8d, 0x208
call fcn.14002d420
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x208
call fcn.14002d420
lea rdx, [rsp + 0x30]
mov ecx, 0x102
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea rax, str.WinIoDrv
mov rdx, 0xffffffffffffffff
lea r9, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r8, [0x1400458a0]
lea rcx, [rsp + 0x30]
call fcn.140003760
lea rcx, [0x140045938]
cmp ebx, 1
lea rax, str.IoDrvx64.sys
mov rdx, 0xffffffffffffffff
cmovne rax, rcx
lea r9, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea r8, str._s_s_s
lea rax, [0x140045934]
lea rcx, [rsp + 0x240]
mov qword [rsp + 0x20], rax
call fcn.140003760
lea rcx, [rsp + 0x240]
call fcn.1400044d0
test eax, eax
je 0x1400044ae
lea rcx, [rsp + 0x240]
call fcn.140003ff0
call fcn.140004660
test eax, eax
jne 0x1400044ae
lea rcx, [rsp + 0x240]
call fcn.140004250
call fcn.140004660
mov rcx, qword [rsp + 0x450]
xor rcx, rsp
call fcn.14002ba20
add rsp, 0x460
pop rbx
ret
Function at 0x14000b920
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push rbp
sub rsp, 0x20
mov rbp, rcx
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x14000b9c3
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rdi
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rcx, rbp
call fcn.140003660
mov ecx, 0x2000
lea rdi, [rax + 1]
lea rdx, [rdi + rdi]
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rcx, rax
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rcx, rbp
mov rbx, rax
call fcn.140005da0
mov r8, rax
mov rdx, rdi
mov rcx, rbx
call fcn.140032c1c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rdx, rsi
mov ecx, 0xd
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rbp
ret

Function at 0x14000ba60
Capabilities:
Read file on windows

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rdx, rcx
xor ebx, ebx
lea rcx, [rsp + 0x28]
mov qword [rsp + 0x28], rbx
call fcn.14000ca70
lea r8, [0x14004eeec]
lea rcx, [rsp + 0x20]
call fcn.140033d20
test eax, eax
je 0x14000babd
lea rcx, [rsp + 0x28]
call fcn.14000ca70
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14002ba20
add rsp, 0x40
pop rbx
ret
mov rcx, qword [rsp + 0x20]
xor r8d, r8d
mov dword [rsp + 0x34], ebx
lea edx, [r8 + 0x3c]
call fcn.140034424
mov r9, qword [rsp + 0x20]
lea rcx, [rsp + 0x34]
mov edx, 1
lea r8d, [rdx + 3]
call fcn.1400340e8
movzx eax, byte [rsp + 0x37]
xor r8d, r8d
movzx edx, byte [rsp + 0x34]
imul ecx, eax, 0x10100
add edx, 4
movzx eax, byte [rsp + 0x35]
add ecx, eax
shl ecx, 8
add edx, ecx
mov rcx, qword [rsp + 0x20]
call fcn.140034424
mov r9, qword [rsp + 0x20]
lea rcx, [rsp + 0x30]
mov edx, 1
mov word [rsp + 0x30], bx
lea r8d, [rdx + 1]
call fcn.1400340e8
mov rcx, qword [rsp + 0x20]
call fcn.140033dfc
movzx edx, byte [rsp + 0x31]
lea rcx, [rsp + 0x28]
movzx eax, byte [rsp + 0x30]
call fcn.14000ca70
shl edx, 8
mov ecx, 0x40
add edx, eax
mov eax, 0x20
cmp edx, 0x14c
cmovne eax, ecx
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14002ba20
add rsp, 0x40
pop rbx
ret
Function at 0x14000c970
Capabilities:
Create process on windows

Disassembly:
push rbx
sub rsp, 0x700
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x6f0], rax
xor eax, eax
mov rbx, rcx
xor edx, edx
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x74]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
lea r8d, [rax + 0x64]
call fcn.14002d420
xor edx, edx
mov dword [rsp + 0x70], 0x68
mov r8d, 0x400
lea rcx, [rsp + 0x2f0]
call fcn.14002d420
mov r8d, 0x104
lea rdx, [rsp + 0xe0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea r9, [rsp + 0xe0]
mov qword [rsp + 0x20], rbx
lea r8, [0x14004b0b0]
mov rdx, 0xffffffffffffffff
lea rcx, [rsp + 0x2f0]
call fcn.14000a9a0
lea rax, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x2f0]
lea rax, [rsp + 0x70]
xor r8d, r8d
mov qword [rsp + 0x40], rax
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
mov rcx, qword [rsp + 0x6f0]
xor rcx, rsp
call fcn.14002ba20
add rsp, 0x700
pop rbx
ret
Function at 0x14000e370
Capabilities:
Query or enumerate registry key

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x370
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x360], rax
mov qword [rsp + 0x48], rcx
lea rax, [rsp + 0x40]
mov rdi, rcx
mov qword [rsp + 0x20], rax
xor ebp, ebp
mov rcx, 0xffffffff80000002
mov r9d, 0x20019
mov qword [rsp + 0x48], rbp
xor r8d, r8d
mov qword [rsp + 0x40], rbp
mov rsi, rdx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000e4be
xor edx, edx
lea rcx, [rsp + 0x160]
mov r8d, 0x200
call fcn.14002d420
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x100
call fcn.14002d420
mov ebx, ebp
lea r15, str.ControlClass4d36e972_e325_11ce_bfc1_08002be10318
lea r14, [0x14006309c]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x40]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x38], rbp
lea r8, [rsp + 0x60]
mov qword [rsp + 0x30], rbp
mov edx, ebx
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x50], 0x80
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14000e4b3
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
lea r8, str._s_s_s_s
mov r9, rsi
mov qword [rsp + 0x20], r14
mov rdx, 0xffffffffffffffff
lea rcx, [rsp + 0x160]
call fcn.14000a910
lea rax, [rsp + 0x48]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x160]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14000e4f7
inc ebx
cmp ebx, 0x3e8
jb 0x14000e410
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, [0x140044950]
mov rcx, rdi
call fcn.140001e10
mov rax, rdi
mov rcx, qword [rsp + 0x360]
xor rcx, rsp
call fcn.14002ba20
mov rbx, qword [rsp + 0x3b0]
add rsp, 0x370
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
lea rax, [rsp + 0x60]
mov r9, rsi
mov qword [rsp + 0x28], rax
lea r8, str._s_s_s
mov rdx, 0xffffffffffffffff
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x160]
call fcn.14000a910
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, [rsp + 0x160]
jmp 0x14000e4c5
Function at 0x14000e550
Capabilities:
Query or enumerate registry key

Disassembly:
push rdi
sub rsp, 0x470
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x460], rax
xor edi, edi
lea rcx, [rsp + 0x60]
xor edx, edx
mov qword [rsp + 0x48], rdi
mov r8d, 0x200
mov qword [rsp + 0x40], rdi
call fcn.14002d420
xor edx, edx
lea rcx, [rsp + 0x260]
mov r8d, 0x200
call fcn.14002d420
lea edx, [rdi + 0x16]
lea rcx, [0x14006bf80]
call fcn.14000b480
mov rcx, rax
call fcn.140005da0
mov rdx, rax
mov r9d, 0x20019
lea rax, [rsp + 0x40]
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000e73f
mov qword [rsp + 0x480], rbx
mov ebx, edi
mov qword [rsp + 0x488], rbp
lea rbp, str.ControlClass4d36e972_e325_11ce_bfc1_08002be10318
mov qword [rsp + 0x490], rsi
lea rsi, [0x14006309c]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x40]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x38], rdi
lea r8, [rsp + 0x60]
mov qword [rsp + 0x30], rdi
mov edx, ebx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x50], 0x100
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14000e71c
lea edx, [rax + 0x16]
lea rcx, [0x14006bf80]
call fcn.14000b480
mov rcx, rax
call fcn.140005da0
mov r9, rax
mov qword [rsp + 0x30], rbp
lea rax, [rsp + 0x60]
mov rdx, 0xffffffffffffffff
mov qword [rsp + 0x28], rax
lea r8, str._s_s_s_s
lea rcx, [rsp + 0x260]
mov qword [rsp + 0x20], rsi
call fcn.14000a910
lea rax, [rsp + 0x48]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x260]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000e70e
lea edx, [rax + 0x16]
lea rcx, [0x14006bf80]
call fcn.14000b480
mov rcx, rax
call fcn.140005da0
mov r9, rax
lea r8, str._s_s_s
lea rax, [rsp + 0x60]
mov rdx, 0xffffffffffffffff
mov qword [rsp + 0x28], rax
lea rcx, [0x14006cf9c]
mov qword [rsp + 0x20], rsi
call fcn.140001cf0
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc ebx
cmp ebx, 0x3e8
jb 0x14000e610
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rsi, qword [rsp + 0x490]
mov rbp, qword [rsp + 0x488]
mov rbx, qword [rsp + 0x480]
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.14002ba20
add rsp, 0x470
pop rdi
ret
Function at 0x140010100
Capabilities:
Get file version info

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov r13, qword [rsp + 0xb0]
mov rbp, rcx
xor eax, eax
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
mov r12, r9
mov r15, r8
mov r14, rdx
call fcn.14000ca70
mov rcx, rbp
mov dword [rsp + 0x30], eax
call fcn.140005da0
mov rcx, rax
lea rdx, [rsp + 0x30]
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov esi, eax
test eax, eax
jne 0x140010171
lea rcx, [rsp + 0x20]
call fcn.14000ca70
jmp 0x140010233
mov qword [rsp + 0x50], rbx
mov rcx, rsi
mov qword [rsp + 0x48], rdi
call fcn.140002ff0
mov rbx, rax
test rax, rax
je 0x14001019a
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.14002d420
jmp 0x14001019c
xor ebx, ebx
mov rcx, rbp
call fcn.140005da0
mov edx, dword [rsp + 0x30]
mov r9, rbx
mov r8d, esi
mov rcx, rax
call sub.VERSION.dll_GetFileVersionInfoW
mov rdi, qword [rsp + 0x48]
test eax, eax
je 0x14001021c
lea r9, [rsp + 0x34]
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x28]
mov rcx, rbx
lea rdx, [0x14006309c]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14001021c
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x20]
movzx eax, word [rdx + 0x12]
mov dword [r14], eax
movzx eax, word [rdx + 0x10]
mov dword [r15], eax
movzx eax, word [rdx + 0x16]
mov dword [r12], eax
movzx eax, word [rdx + 0x14]
mov dword [r13], eax
call fcn.14000ca70
mov rcx, rbx
call fcn.14002ba80
jmp 0x14001022e
mov rcx, rbx
call fcn.14002ba80
lea rcx, [rsp + 0x20]
call fcn.14000ca70
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14002ba20
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret
Function at 0x140010a70
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x80
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0xc8], rbx
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rbx, r8
mov rdi, rdx
mov rbp, rcx
mov qword [rsp + 0x50], rcx
call fcn.140018fb0
test eax, eax
je 0x140010abb
call fcn.1400217d0
xor r15d, r15d
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x50], r15d
mov qword [0x14006e9d8], r15
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.Mozilla_4.0__compatible__MSIE_8.0__Win32_
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [0x14006e9d8], rax
test rax, rax
jne 0x140010b09
lea rdx, [0x140044950]
mov rcx, rbp
call fcn.140001e10
jmp 0x140010c81
lea rdx, [0x140045a28]
lea rcx, [rsp + 0x58]
call fcn.140004dd0
nop
xor r8d, r8d
xor r9d, r9d
mov rdx, rdi
mov rcx, qword [0x14006e9d8]
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r14, rax
test rax, rax
je 0x140010c4f
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
xor r9d, r9d
mov r8, rbx
lea rdx, [0x1400510f8]
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rdi, rax
test rax, rax
je 0x140010c46
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x140010c3d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x140010c3d
nop dword [rax]
mov dword [rsp + 0x48], r15d
lea rdx, [rsp + 0x48]
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
mov eax, dword [rsp + 0x48]
inc eax
mov esi, eax
mov ecx, eax
call fcn.140002ff0
mov rbx, rax
test rax, rax
je 0x140010c22
mov r8d, esi
xor edx, edx
mov rcx, rax
call fcn.14002d420
mov r8d, dword [rsp + 0x48]
inc r8d
xor edx, edx
mov rcx, rbx
call fcn.14002d420
lea r9, [rsp + 0x50]
mov r8d, dword [rsp + 0x48]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x140010c2a
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.14000b590
jmp 0x140010c2a
mov rbx, r15
mov dword [rsp + 0x48], r15d
mov rcx, rbx
call fcn.14002ba80
cmp dword [rsp + 0x48], 0
ja 0x140010bb0
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [0x14006e9d8]
test rcx, rcx
je 0x140010c61
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
lea rcx, [rsp + 0x58]
call fcn.140005d80
mov rdx, rax
mov rcx, rbp
call fcn.1400080f0
nop
lea rcx, [rsp + 0x58]
call fcn.140004e80
mov rax, rbp
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14002ba20
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400115e0
Capabilities:
Create directory
Get common file path
Write file on windows

Disassembly:
push rbx
sub rsp, 0x480
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x470], rax
xor edx, edx
lea rcx, [rsp + 0x260]
mov r8d, 0x208
call fcn.14002d420
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x208
call fcn.14002d420
lea rdx, [rsp + 0x50]
mov ecx, 0x102
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea rax, str.WinIoDrv
mov rdx, 0xffffffffffffffff
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r8, [0x1400458a0]
lea rcx, [rsp + 0x260]
call fcn.140003760
lea rcx, [rsp + 0x260]
call fcn.1400044d0
test eax, eax
jne 0x140011697
xor eax, eax
mov qword [rsp + 0x38], 0x18
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x260]
mov qword [rsp + 0x40], rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
call fcn.1400069e0
mov ebx, eax
cmp eax, 1
jne 0x14001172a
lea rax, str.IoDrvx64.sys
mov rdx, 0xffffffffffffffff
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x260]
lea rax, [0x140045934]
lea r8, str._s_s_s
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x50]
call fcn.140003760
lea rcx, [rsp + 0x50]
call fcn.1400044d0
test eax, eax
jne 0x14001172a
lea r8, [0x14004ea20]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.140033d20
test eax, eax
jne 0x14001172a
mov r9, qword [rsp + 0x30]
lea rcx, [0x14004b150]
mov edx, 0x38d0
mov r8d, ebx
call fcn.140034b50
mov rcx, qword [rsp + 0x30]
call fcn.140033dfc
lea rdx, [0x14006cf9c]
mov ecx, ebx
call fcn.140004390
mov dword [0x14006e71c], eax
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.14002ba20
add rsp, 0x480
pop rbx
ret
Function at 0x140018fb0
Capabilities:
Query or enumerate registry value

Disassembly:
sub rsp, 0x58
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov edx, 0x5d
mov qword [rsp + 0x30], 0
lea rcx, [0x14006bf80]
call fcn.14000b480
mov rcx, rax
call fcn.140005da0
mov rdx, rax
mov r9d, 0xf023f
lea rax, [rsp + 0x30]
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140019082
lea edx, [rax + 0x4b]
mov dword [rsp + 0x40], 1
lea rcx, [0x14006bf80]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], 4
call fcn.14000b480
mov rcx, rax
call fcn.140005da0
lea rcx, [rsp + 0x3c]
xor r8d, r8d
mov qword [rsp + 0x28], rcx
lea r9, [rsp + 0x40]
lea rcx, [rsp + 0x38]
mov rdx, rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x14001906c
mov rcx, qword [rsp + 0x30]
jmp 0x14001908c
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14002ba20
add rsp, 0x58
ret
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140019092
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14002ba20
add rsp, 0x58
ret
Function at 0x1400190e0
Capabilities:
Query or enumerate registry key

Disassembly:
mov r11, rsp
push r14
sub rsp, 0x1d0
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
xor ebx, ebx
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0x70], ebx
xor edx, edx
mov r8d, 0x100
lea rcx, [r11 - 0x118]
call fcn.14002d420
lea rdx, [0x140044950]
lea rcx, [rsp + 0x78]
call fcn.140001e10
nop
lea rdx, [0x14006cf9c]
lea rcx, [rsp + 0x98]
call fcn.140001e10
nop
lea rdx, str.EnumPCI
lea rcx, [rsp + 0x98]
call fcn.140001fd0
lea rcx, [rsp + 0x98]
call fcn.140005da0
mov rdx, rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140019231
mov edi, ebx
nop word [rax + rax]
mov dword [rsp + 0x70], 0x80
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x70]
lea r8, [rsp + 0xc0]
mov edx, edi
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x140019226
lea r8, [0x14006bf48]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x48]
call fcn.140009d70
nop
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140001fc0
nop
lea rcx, [rsp + 0x48]
call fcn.140001e70
inc edi
cmp edi, 0x3e8
jb 0x1400191b0
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx esi, bx
lea r14, [0x140000000]
nop dword [rax + rax]
movsx rax, si
mov rdi, qword [r14 + rax*8 + 0x64620]
lea rcx, [rsp + 0x78]
call fcn.140005da0
mov rdx, rdi
mov rcx, rax
call fcn.14002d7c8
test rax, rax
jne 0x1400192aa
inc si
cmp si, 4
jl 0x140019240
nop
movsx rax, bx
mov rdi, qword [r14 + rax*8 + 0x64640]
lea rcx, [rsp + 0x78]
call fcn.140005da0
mov rdx, rdi
mov rcx, rax
call fcn.14002d7c8
test rax, rax
jne 0x1400192a1
inc bx
cmp bx, 0xb
jl 0x140019270
jmp 0x1400192c5
lea rdx, str._Rst_
jmp 0x1400192b1
lea rdx, str._Vmd_
mov r8, 0xffffffffffffffff
lea rcx, [0x14006dea8]
call fcn.14000ad60
nop
lea rcx, [rsp + 0x98]
call fcn.140001e70
nop
lea rcx, [rsp + 0x78]
call fcn.140001e70
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.14002ba20
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop r14
ret
Function at 0x14001c030
Capabilities:
Query or enumerate registry value

Disassembly:
sub rsp, 0x458
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x440], rax
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x200
call fcn.14002d420
xor edx, edx
lea rcx, [rsp + 0x240]
mov r8d, 0x200
call fcn.14002d420
lea rax, str.ServicesmonitorEnum
mov qword [rsp + 0x30], 0
lea r9, [0x14006cf9c]
mov qword [rsp + 0x20], rax
lea r8, [0x1400458a0]
mov rdx, 0xffffffffffffffff
lea rcx, [rsp + 0x240]
call fcn.14000a910
lea rax, [rsp + 0x30]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x240]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14001c1a6
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rdx, [0x14004fb40]
lea rax, [rsp + 0x40]
mov dword [rsp + 0x38], 0x200
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test eax, eax
jne 0x14001c1a0
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rsp + 0x40]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14001c130
test rax, rax
je 0x14001c1a6
lea rax, [0x14006ce94]
lea r10, [rsp + 0x40]
sub r10, rax
nop
movzx r9d, word [rax]
movzx edx, word [rax + r10]
sub r9d, edx
jne 0x14001c166
add rax, 2
test edx, edx
jne 0x14001c150
test r9d, r9d
je 0x14001c1a6
mov r8, 0xffffffffffffffff
lea rdx, [rsp + 0x40]
lea rcx, [0x14006ce94]
call fcn.14000add0
mov eax, 1
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.14002ba20
add rsp, 0x458
ret
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.14002ba20
add rsp, 0x458
ret
Function at 0x14001ced0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x140064d98]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov edi, r8d
mov qword [rsp + 0x30], 0
mov rsi, rdx
lea rbp, [0x14006fea0]
mov rbx, rcx
xor edx, edx
mov rcx, rbp
mov r8d, 0x200
call fcn.14002d420
lea rax, [rsp + 0x30]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14001cf8e
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbp
mov rdx, rsi
mov dword [rsp + 0x38], 0x200
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
je 0x14001cf7f
cmp ebx, 0xea
jne 0x14001cf8e
mov rdx, 0xffffffffffffffff
mov rcx, rbp
call fcn.140033100
test edi, edi
je 0x14001cfbd
sub edi, 1
je 0x14001cfa5
cmp edi, 1
je 0x14001cfaf
lea rax, [0x140044950]
jmp 0x14001cffd
cmp word [0x14006fea0], 0
je 0x14001cfb4
mov rax, rbp
jmp 0x14001cffd
lea rax, str.0.0.0.0
jmp 0x14001cffd
cmp word [0x14006fea0], 0
je 0x14001cff6
lea rdx, str.PCIVEN
mov rcx, rbp
call fcn.140029c70
test rax, rax
jne 0x14001cff6
lea rdx, str.USBVID
mov rcx, rbp
call fcn.140029c70
test rax, rax
lea rax, [0x14004f900]
je 0x14001cffd
lea rax, [0x14004f42c]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14002ba20
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret