joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1801bf4b0
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x80
mov rdi, rcx
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov r14, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
cmp rdi, 0x40000000
jbe 0x1801bf4f0
lea rax, [rdi - 0x40000000]
cmp r14, rax
cmovb r14, rax
mov rsi, qword [0x18027c0f8]
lea r15, [rdi + 0x40000000]
cmp rcx, r15
cmovbe r15, rcx
sub r15, 0xfff
test rsi, rsi
je 0x1801bf52e
cmp rsi, r14
jb 0x1801bf526
cmp rsi, r15
jae 0x1801bf526
cmp qword [rsi + 8], 0
jne 0x1801bf6f7
mov rsi, qword [rsi]
test rsi, rsi
jne 0x1801bf511
mov qword [rsp + 0xa0], rbx
mov rbx, rdi
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0xb0], r12
mov r12d, 0x40
cmp rdi, r14
jb 0x1801bf5c2
nop dword [rax]
nop dword [rax + rax]
mov ebp, dword [rsp + 0x48]
mov rax, rbx
xor edx, edx
div rbp
sub rbx, rdx
sub rbx, rbp
cmp rbx, r14
jb 0x1801bf5b9
nop word [rax + rax]
mov r8d, 0x30
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x1801bf5b9
cmp dword [rsp + 0x70], 0x10000
je 0x1801bf63b
mov rbx, qword [rsp + 0x58]
cmp rbx, rbp
jb 0x1801bf5b9
sub rbx, rbp
cmp rbx, r14
jae 0x1801bf580
test rsi, rsi
jne 0x1801bf6a0
cmp rdi, r15
ja 0x1801bf6df
nop dword [rax + rax]
mov ebp, dword [rsp + 0x48]
xor edx, edx
mov rax, rdi
mov ebx, ebp
div rbp
mov eax, ebp
sub rax, rdx
add rax, rdi
mov rdi, rax
cmp rax, r15
ja 0x1801bf6df
mov r8d, 0x30
lea rdx, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x1801bf6df
cmp dword [rsp + 0x70], 0x10000
je 0x1801bf671
xor edx, edx
lea edi, [rbp - 1]
add rdi, qword [rsp + 0x68]
add rdi, qword [rsp + 0x50]
mov rax, rdi
div rbx
sub rdi, rdx
cmp rdi, r15
jbe 0x1801bf5f2
jmp 0x1801bf6df
test rbx, rbx
je 0x1801bf5b9
mov r9d, r12d
mov edx, 0x1000
mov r8d, 0x3000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
test rax, rax
jne 0x1801bf6a0
cmp rbx, r14
jae 0x1801bf560
jmp 0x1801bf5c2
test rdi, rdi
je 0x1801bf6df
mov r9d, r12d
mov edx, 0x1000
mov r8d, 0x3000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
test rax, rax
jne 0x1801bf6a0
cmp rdi, r15
jbe 0x1801bf5d0
jmp 0x1801bf6df
xor edx, edx
lea rcx, [rsi + 0x40]
mov dword [rsi + 0x10], edx
nop dword [rax]
mov qword [rcx], rdx
mov rax, rcx
mov qword [rsi + 8], rcx
add r12, 0x40
add rcx, 0x40
mov rdx, rax
cmp r12, 0xfc0
jbe 0x1801bf6b0
mov rax, qword [0x18027c0f8]
mov qword [rsi], rax
mov qword [0x18027c0f8], rsi
mov r12, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xa0]
mov rax, rsi
mov rsi, qword [rsp + 0xb8]
add rsp, 0x80
pop r15
pop r14
pop rdi
ret
Function at 0x1801c18ac
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rbx, rdx
lea r8, [rsp + 0x60]
mov edi, ecx
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
jne 0x1801c18e6
xor r9d, r9d
mov dword [rsp + 0x60], r9d
jmp 0x1801c18eb
mov r9d, dword [rsp + 0x60]
and qword [rsp + 0x30], 0
mov r8d, edi
and dword [rsp + 0x28], 0
xor edx, edx
mov ecx, 0x1300
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov edx, eax
test eax, eax
je 0x1801c1934
mov r8, qword [rbx]
dec r8
add r8, rdx
movzx ecx, byte [r8]
lea rax, reloc.WS2_32.dll_accept
cmp byte [rcx + rax], 0
je 0x1801c1934
dec r8
sub rdx, 1
jne 0x1801c191a
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret
Function at 0x14000631c
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push r15
sub rsp, 0xb0
xor r14d, r14d
mov dword [rsp + 0x20], r14d
lea rcx, [rax - 0x78]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetStartupInfoW]
nop
mov rax, qword gs:[0x30]
mov rbx, qword [rax + 8]
mov esi, r14d
xor eax, eax
lock cmpxchg qword [0x140010960], rbx
je 0x140006383
cmp rax, rbx
jne 0x140006376
mov ebx, 1
mov esi, ebx
jmp 0x140006388
mov ecx, 0x3e8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x14000635b
mov ebx, 1
mov eax, dword [0x140010968]
cmp eax, ebx
jne 0x1400063a0
mov edi, 0x1f
mov ecx, edi
call sub.msvcrt.dll__amsg_exit
jmp 0x14000640c
mov eax, dword [0x140010968]
test eax, eax
jne 0x140006401
mov dword [0x140010968], ebx
lea r15, [0x1400089c8]
lea rdi, [0x1400089b0]
mov qword [rsp + 0x30], rdi
mov eax, r14d
mov dword [rsp + 0x24], eax
cmp rdi, r15
jae 0x1400063f3
test eax, eax
jne 0x1400063f7
cmp qword [rdi], r14
je 0x1400063e8
mov rax, qword [rdi]
mov rcx, qword [0x140008930]
call rcx
mov dword [rsp + 0x24], eax
add rdi, 8
mov qword [rsp + 0x30], rdi
jmp 0x1400063ca
test eax, eax
je 0x140006407
mov eax, 0xff
jmp 0x140006562
mov dword [0x14000e3e4], ebx
mov edi, 0x1f
mov eax, dword [0x140010968]
cmp eax, ebx
jne 0x140006433
lea rdx, [0x1400089a8]
lea rcx, [0x140008938]
call sub.msvcrt.dll__initterm
mov dword [0x140010968], 2
test esi, esi
jne 0x140006441
mov rax, r14
xchg qword [0x140010960], rax
cmp qword [0x140010970], r14
je 0x140006474
lea rcx, [0x140010970]
call fcn.140006730
test eax, eax
je 0x140006474
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
mov rax, qword [0x140010970]
mov r9, qword [0x140008930]
call r9
mov rax, qword [sym.imp.msvcrt.dll__wcmdln]
mov rcx, qword [rax]
test rcx, rcx
jne 0x14000648d
mov eax, 0xff
jmp 0x140006562
mov qword [rsp + 0x28], rcx
mov edx, dword [rsp + 0x20]
movzx eax, word [rcx]
cmp ax, 0x20
ja 0x140006513
test ax, ax
je 0x1400064a8
test edx, edx
jne 0x140006513
sub ax, bx
cmp ax, di
ja 0x1400064be
add rcx, 2
mov qword [rsp + 0x28], rcx
movzx eax, word [rcx]
jmp 0x1400064a8
test byte [rsp + 0x7c], bl
movzx eax, word [rsp + 0x80]
mov r9d, 0xa
cmovne r9d, eax
mov r8, rcx
xor edx, edx
lea rcx, [0x140000000]
call fcn.140001394
mov dword [0x14000e3e0], eax
cmp dword [0x14000e400], r14d
jne 0x1400064fc
mov ecx, eax
call qword [sym.imp.msvcrt.dll_exit]
cmp dword [0x14000e3e4], r14d
jne 0x140006511
call qword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x14000e3e0]
jmp 0x140006562
cmp ax, 0x22
jne 0x140006527
mov eax, r14d
test edx, edx
sete al
mov edx, eax
mov dword [rsp + 0x20], eax
add rcx, 2
mov qword [rsp + 0x28], rcx
jmp 0x140006496
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret
sub rsp, 0x28
call fcn.14015e000
add rsp, 0x28
jmp 0x14000631c
Function at 0x1400046ec
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140004736
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140004736
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140004736
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140004736
cmp dword [rcx + 0x84], 0xe
jbe 0x140004736
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140004738
xor al, al
add rsp, 0x28
ret
Function at 0x140006ff0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], r9d
mov rbx, 0xffffffffffffffff
mov r15d, r9d
mov rdi, r8
mov rbp, rdx
mov r14, rcx
lea r12d, [rbx + 2]
test rcx, rcx
je 0x1400070cf
test rdx, rdx
je 0x1400070cf
lea rax, [rsp + 0x30]
mov dword [rsp + 0x38], r12d
mov rdx, rcx
mov qword [rsp + 0x20], rax
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x30], 0
mov r9d, r12d
xor r8d, r8d
xor sil, sil
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400070b2
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x38]
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov rdx, rbp
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400070a7
cmp dword [rsp + 0x38], r12d
movzx esi, sil
cmove esi, r12d
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test sil, sil
je 0x1400070cf
mov rax, rbx
nop word [rax + rax]
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400070c0
test rax, rax
jne 0x1400070f3
movzx eax, byte [rsp + 0xb0]
mov r9d, r15d
mov r8, rdi
mov byte [rsp + 0x20], al
mov rdx, rbp
mov rcx, r14
call fcn.1400071c0
movzx esi, al
test al, al
je 0x14000710b
inc rbx
cmp word [rdi + rbx*2], 0
jne 0x1400070f3
test rbx, rbx
je 0x14000710b
movzx eax, sil
jmp 0x14000719f
mov dword [rsp + 0x40], r15d
test rbp, rbp
jne 0x14000711c
xor al, al
jmp 0x14000719f
xor bl, bl
mov dword [rsp + 0x38], r12d
cmp byte [0x14023d341], bl
je 0x14000719c
cmp qword [0x140230b28], 8
lea rax, [rsp + 0x30]
lea rdx, [0x140230b10]
mov qword [rsp + 0x20], rax
cmovae rdx, qword [0x140230b10]
mov r9d, r12d
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000719c
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x38]
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov rdx, rbp
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test eax, eax
movzx ebx, bl
cmove ebx, r12d
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx eax, bl
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14014f2f0
add rsp, 0x50
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1400071c0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x60
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], r9d
mov rbp, r8
mov rdi, rdx
mov rsi, rcx
test rcx, rcx
je 0x1400072b6
test rdx, rdx
je 0x1400072b6
mov qword [rsp + 0x58], rbx
xor bl, bl
mov qword [rsp + 0x50], r14
mov r14d, 1
mov dword [rsp + 0x38], r14d
cmp byte [rsp + 0xa0], bl
je 0x14000723f
lea rax, [rsp + 0x30]
mov r9d, r14d
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.SOFTWAREAMDBranding
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140007263
lea rax, [rsp + 0x30]
mov r9d, r14d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400072a7
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x38]
xor r8d, r8d
mov qword [rsp + 0x20], rbp
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000729c
mov ecx, dword [rsp + 0x38]
dec ecx
movzx ebx, bl
cmp ecx, r14d
cmovbe ebx, r14d
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r14, qword [rsp + 0x50]
movzx eax, bl
mov rbx, qword [rsp + 0x58]
jmp 0x1400072b8
xor al, al
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14014f2f0
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400072d0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov r14d, r9d
mov r15, r8
mov rsi, rdx
test rdx, rdx
je 0x1400074b3
mov qword [rsp + 0x60], rbx
lea rax, [rbp - 0x38]
mov dword [rbp - 0x28], r9d
lea rdx, str.SOFTWAREAMDDVR
mov qword [rsp + 0x50], r12
xor r8d, r8d
mov r12d, 1
mov dword [rbp - 0x30], 3
mov r9d, r12d
mov qword [rbp - 0x38], 0
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x20], rax
xor bl, bl
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140007385
mov rcx, qword [rbp - 0x38]
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x30]
xor r8d, r8d
mov qword [rsp + 0x20], r15
mov rdx, rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000737b
cmp dword [rbp - 0x30], 3
movzx ebx, bl
cmove ebx, r12d
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test bl, bl
jne 0x1400074a4
lea rax, [rbp - 0x38]
mov qword [rsp + 0x58], rdi
mov r9d, r12d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rbp - 0x28], r14d
lea rdx, str.SOFTWAREAMDDVR
mov dword [rbp - 0x30], 3
mov rcx, 0xffffffff80000002
mov qword [rbp - 0x38], 0
xor dil, dil
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000740b
mov rcx, qword [rbp - 0x38]
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x30]
xor r8d, r8d
mov qword [rsp + 0x20], r15
mov rdx, rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140007401
cmp dword [rbp - 0x30], 3
movzx edi, dil
cmove edi, r12d
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx ebx, dil
test dil, dil
mov rdi, qword [rsp + 0x58]
jne 0x1400074a4
xor bl, bl
mov dword [rbp - 0x28], r14d
cmp byte [0x14023d341], bl
mov dword [rbp - 0x30], 3
je 0x1400074a4
cmp qword [0x140230b28], 8
lea rax, [rbp - 0x38]
lea rdx, [0x140230b10]
mov qword [rsp + 0x20], rax
cmovae rdx, qword [0x140230b10]
mov r9d, r12d
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400074a4
mov rcx, qword [rbp - 0x38]
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x30]
xor r8d, r8d
mov qword [rsp + 0x20], r15
mov rdx, rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000749a
cmp dword [rbp - 0x30], 3
movzx ebx, bl
cmove ebx, r12d
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r12, qword [rsp + 0x50]
movzx eax, bl
mov rbx, qword [rsp + 0x60]
jmp 0x1400074b5
xor al, al
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.14014f2f0
add rsp, 0x68
pop r15
pop r14
pop rsi
pop rbp
ret
Function at 0x1400074d0
Capabilities:
Query or enumerate registry value

Disassembly:
mov r11, rsp
push rsi
push rdi
sub rsp, 0x58
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 4
mov rsi, r8
mov rdi, rdx
test rcx, rcx
je 0x14000759a
test rdx, rdx
je 0x14000759a
mov qword [r11 + 0x20], rbx
lea rax, [r11 - 0x38]
mov qword [r11 - 0x18], rbp
mov rdx, rcx
mov ebp, 1
mov dword [rsp + 0x38], 4
mov r9d, ebp
mov qword [r11 - 0x38], 0
xor r8d, r8d
mov qword [r11 - 0x48], rax
mov rcx, 0xffffffff80000001
xor bl, bl
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140007588
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x38]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000757d
cmp dword [rsp + 0x38], 4
movzx ebx, bl
cmove ebx, ebp
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbp, qword [rsp + 0x50]
movzx eax, bl
mov rbx, qword [rsp + 0x88]
jmp 0x14000759c
xor al, al
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14014f2f0
add rsp, 0x58
pop rdi
pop rsi
ret

Function at 0x1400075b0
Capabilities:
Query or enumerate registry value

Disassembly:
mov r11, rsp
push rsi
push rdi
sub rsp, 0x58
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 4
mov rsi, r8
mov rdi, rdx
test rcx, rcx
je 0x14000767a
test rdx, rdx
je 0x14000767a
mov qword [r11 + 0x20], rbx
lea rax, [r11 - 0x38]
mov qword [r11 - 0x18], rbp
mov rdx, rcx
mov ebp, 1
mov dword [rsp + 0x38], 4
mov r9d, ebp
mov qword [r11 - 0x38], 0
xor r8d, r8d
mov qword [r11 - 0x48], rax
mov rcx, 0xffffffff80000002
xor bl, bl
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140007668
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x38]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000765d
cmp dword [rsp + 0x38], 4
movzx ebx, bl
cmove ebx, ebp
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbp, qword [rsp + 0x50]
movzx eax, bl
mov rbx, qword [rsp + 0x88]
jmp 0x14000767c
xor al, al
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14014f2f0
add rsp, 0x58
pop rdi
pop rsi
ret
Function at 0x140007690
Capabilities:
Query or enumerate registry value

Disassembly:
push rsi
push rdi
sub rsp, 0x58
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 4
mov rsi, rdx
mov rdi, rcx
test rcx, rcx
jne 0x1400076c0
xor al, al
jmp 0x14000776f
mov qword [rsp + 0x80], rbx
xor bl, bl
cmp byte [0x14023d341], bl
mov dword [rsp + 0x38], 4
je 0x140007764
cmp qword [0x140230b28], 8
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rbp
lea rdx, [0x140230b10]
cmovae rdx, qword [0x140230b10]
mov ebp, 1
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov r9d, ebp
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000775f
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x38]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140007754
cmp dword [rsp + 0x38], 4
movzx ebx, bl
cmove ebx, ebp
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbp, qword [rsp + 0x50]
movzx eax, bl
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14014f2f0
add rsp, 0x58
pop rdi
pop rsi
ret

Function at 0x140007790
Capabilities:
Set registry value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x70
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov ebp, r9d
mov rsi, r8
mov rdi, rdx
test rcx, rcx
je 0x140007849
test rdx, rdx
je 0x140007849
xor edx, edx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x40], rdx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rdx
xor r8d, r8d
mov qword [rsp + 0x50], rdx
xor bl, bl
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], edx
mov rdx, rcx
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14000783f
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov dword [rsp + 0x28], ebp
mov rdx, rdi
mov qword [rsp + 0x20], rsi
mov esi, 1
mov r9d, esi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x50]
test eax, eax
movzx ebx, bl
cmove ebx, esi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx eax, bl
mov rbx, qword [rsp + 0x68]
jmp 0x14000784b
xor al, al
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14014f2f0
add rsp, 0x70
pop rdi
pop rsi
pop rbp
ret
Function at 0x140007860
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x70
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rdi, rdx
xor edx, edx
mov dword [rsp + 0x5c], edx
mov word [rsp + 0x60], dx
mov word [r11 - 0x20], r8w
sar r8d, 0x10
mov word [r11 - 0x1e], r8w
test rcx, rcx
je 0x140007944
test rdi, rdi
je 0x140007944
mov qword [r11 - 0x38], rdx
lea rax, [r11 - 0x28]
mov qword [r11 - 0x40], rax
xor r9d, r9d
mov qword [r11 - 0x48], rdx
xor r8d, r8d
mov qword [r11 - 0x28], rdx
mov qword [r11 + 0x18], rbx
xor bl, bl
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], edx
mov rdx, rcx
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140007926
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x58]
mov dword [rsp + 0x28], 4
mov r9d, 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ecx, 1
movzx ebx, bl
test eax, eax
cmove ebx, ecx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx eax, bl
mov rbx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14014f2f0
add rsp, 0x70
pop rdi
ret
xor al, al
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14014f2f0
add rsp, 0x70
pop rdi
ret
Function at 0x140007960
Capabilities:
Query or enumerate registry key

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rsi, r8
mov r14b, 1
xor r12d, r12d
mov dword [rbp + 0x1f], r12d
mov dword [rbp + 0x23], r12d
test rdx, rdx
jne 0x1400079a9
xor al, al
jmp 0x140007b3b
lea rax, [rbp + 0x17]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140007b34
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
lea rax, [rbp + 0x23]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1f]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x17]
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x140007b25
mov eax, dword [rbp + 0x23]
lea r15d, [rax*2 + 2]
mov ecx, r15d
call fcn.1401567b4
mov rbx, rax
mov edi, r12d
cmp dword [rbp + 0x1f], r12d
jbe 0x140007b11
nop dword [rax]
mov dword [rbp + 0x27], r15d
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x27]
mov r8, rbx
mov edx, edi
mov rcx, qword [rbp + 0x17]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x140007b0e
mov qword [rbp - 9], r12
mov qword [rbp + 7], r12
mov qword [rbp + 0xf], 7
mov word [rbp - 9], r12w
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rbx + r8*2], 0
jne 0x140007a90
mov rdx, rbx
lea rcx, [rbp - 9]
call fcn.140005060
nop
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140007ad9
movups xmm0, xmmword [rbp - 9]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp + 7]
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp + 7], r12
mov qword [rbp + 0xf], 7
mov word [rbp - 9], r12w
add qword [rsi + 8], 0x20
jmp 0x140007ae6
lea r8, [rbp - 9]
mov rcx, rsi
call fcn.1400082f0
nop
lea rcx, [rbp - 9]
call fcn.140004ff0
inc edi
cmp edi, dword [rbp + 0x1f]
jb 0x140007a40
mov rcx, rbx
call fcn.140155e3c
mov rcx, qword [rbp + 0x17]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140007b37
xor r14b, r14b
mov rcx, rbx
call fcn.140155e3c
mov rcx, qword [rbp + 0x17]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140007b37
xor r14b, r14b
mov rcx, qword [rbp + 0x17]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140007b37
xor r14b, r14b
movzx eax, r14b
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14014f2f0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
Function at 0x140007b70
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x60
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rsp + 0x58], rax
xor ecx, ecx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rcx
lea rdx, str.SOFTWAREAMDDVR
mov qword [rsp + 0x38], rax
mov edi, r9d
mov qword [rsp + 0x30], rcx
mov rbx, r8
mov dword [rsp + 0x28], 0xf003f
xor r9d, r9d
mov dword [rsp + 0x20], ecx
xor r8d, r8d
mov rcx, 0xffffffff80000001
xor sil, sil
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140007c17
mov rcx, qword [rsp + 0x50]
lea r9d, [rax + 3]
mov dword [rsp + 0x28], edi
lea rdx, str.Procs
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ecx, 1
movzx ebx, sil
test eax, eax
cmove ebx, ecx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx eax, bl
jmp 0x140007c1b
movzx eax, sil
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14014f2f0
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret