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

Disassembly:
push rbx
sub rsp, 0x40
xor eax, eax
mov rbx, rdx
mov r9d, 0x20019
mov dword [rdx], eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x30]
lea rdx, str.SoftwareIntelDisplayigfxcui3D
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x60], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000bda5
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x60]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
lea rdx, str.AntiAliasingCMAA
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000bda5
mov eax, dword [rsp + 0x58]
mov dword [rbx], eax
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000bdb5
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
add rsp, 0x40
pop rbx
ret

Function at 0x14000bdc0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x270
mov rax, qword [0x1400b64d0]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rdi, rdx
lea rax, [rsp + 0x38]
lea rdx, str.SoftwareIntelDisplayigfxcuiigfxsrvcDesktopGammaDefault
xor esi, esi
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
mov ebx, 0x80004005
mov qword [rsp + 0x38], rsi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000be98
lea rcx, [rsp + 0x52]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x50], si
call fcn.140051000
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
lea r9, [rsp + 0x30]
lea rdx, str.BrightnessDefault
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
xor r8d, r8d
mov dword [rsp + 0x40], 0x208
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000be8d
lea rdx, [0x14006d150]
lea rcx, [rsp + 0x50]
mov r8, rdi
call fcn.140054670
mov ebx, esi
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1400525d0
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x14000bec0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x270
mov rax, qword [0x1400b64d0]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rdi, rdx
lea rax, [rsp + 0x38]
lea rdx, str.SoftwareIntelDisplayigfxcuiigfxsrvcDesktopGammaDefault
xor esi, esi
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
mov ebx, 0x80004005
mov qword [rsp + 0x38], rsi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000bf98
lea rcx, [rsp + 0x52]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x50], si
call fcn.140051000
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
lea r9, [rsp + 0x30]
lea rdx, str.ContrastDefault
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
xor r8d, r8d
mov dword [rsp + 0x40], 0x208
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000bf8d
lea rdx, [0x14006d150]
lea rcx, [rsp + 0x50]
mov r8, rdi
call fcn.140054670
mov ebx, esi
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1400525d0
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret

Function at 0x14000bfc0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x270
mov rax, qword [0x1400b64d0]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rdi, rdx
lea rax, [rsp + 0x40]
xor ebx, ebx
lea rdx, str.SoftwareIntelDisplayigfxcuiigfxsrvcDesktopGammaDefault
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x34], ebx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000c0ad
lea rcx, [rsp + 0x52]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x50], bx
call fcn.140051000
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x48]
lea r9, [rsp + 0x38]
lea rdx, str.GammaDefault
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x34]
xor r8d, r8d
mov dword [rsp + 0x48], 0x208
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000c0a8
lea r8, [rsp + 0x30]
lea rdx, [0x14006d7dc]
lea rcx, [rsp + 0x50]
call fcn.140054670
movss xmm0, dword [rsp + 0x30]
mulss xmm0, dword [0x14006e590]
cvttss2si rax, xmm0
movss dword [rsp + 0x30], xmm0
mov dword [rdi], eax
jmp 0x14000c0ad
mov ebx, 0x80004005
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14000c0bd
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1400525d0
mov rbx, qword [rsp + 0x280]
add rsp, 0x270
pop rdi
ret
Function at 0x14000c0e0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
xor ebx, ebx
mov rdi, rdx
lea rax, [rsp + 0x30]
mov dword [rdx], ebx
lea rdx, str.SoftwareIntelDisplayigfxcuiigfxsrvcDesktopGammaDefault
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x60], 4
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0x58], ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000c172
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x60]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
lea rdx, str.HueDefault
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000c172
cmp dword [rsp + 0x58], 0x168
cmovbe ebx, dword [rsp + 0x58]
mov dword [rdi], ebx
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000c182
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret

Function at 0x14000c190
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
xor edi, edi
mov rbx, rdx
lea rax, [rsp + 0x30]
mov dword [rdx], edi
lea rdx, str.SoftwareIntelDisplayigfxcuiigfxsrvcDesktopGammaDefault
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x58], 4
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x60], edi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000c215
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x58]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
lea rdx, str.SaturationDefault
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000c215
mov dword [rbx], edi
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000c225
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret

Function at 0x14000c240
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0x40
xor eax, eax
mov rbx, rdx
mov r9d, 0x20019
mov dword [rdx], eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x30]
lea rdx, str.SoftwareIntelDisplayigfxcui3D
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x60], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000c2c5
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x60]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
lea rdx, str.AntiAliasingMSAA
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000c2c5
mov eax, dword [rsp + 0x58]
mov dword [rbx], eax
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000c2d5
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
add rsp, 0x40
pop rbx
ret
Function at 0x14000c2e0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0x40
xor eax, eax
mov rbx, rdx
mov dword [rdx], 1
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x30]
lea rdx, str.SoftwareIntelDisplayigfxcui3D
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x60], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000c369
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x60]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
lea rdx, str.Basic
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000c369
mov eax, dword [rsp + 0x58]
mov dword [rbx], eax
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000c379
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
add rsp, 0x40
pop rbx
ret

Function at 0x14000c390
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0x40
xor eax, eax
mov rbx, rdx
mov r9d, 0x20019
mov dword [rdx], eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x30]
lea rdx, str.SoftwareIntelDisplayigfxcui3D
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x60], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000c415
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x60]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
lea rdx, str.VSync
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000c415
mov eax, dword [rsp + 0x58]
mov dword [rbx], eax
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000c425
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
add rsp, 0x40
pop rbx
ret

Function at 0x14000d0b0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
movsxd rcx, edx
mov rax, r8
lea rdx, [rsp + 0x38]
mov rdi, r9
xor esi, esi
mov qword [rsp + 0x20], rdx
xor r8d, r8d
mov rdx, rax
mov r9d, 0x20019
mov ebx, 0x80004005
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x58], 4
mov dword [rsp + 0x30], esi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000d12f
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x58]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x70]
xor r8d, r8d
mov rdx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
cmove ebx, esi
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rsi, qword [rsp + 0x60]
mov eax, ebx
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x14000d210
Capabilities:
Query or enumerate registry value

Disassembly:
push rdi
sub rsp, 0x40
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rsi
mov rsi, rdx
mov rdi, rcx
xor ebx, ebx
mov dword [rsp + 0x60], ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x68], 0x20
lea r8, [rsp + 0x30]
lea rdx, str.SoftwareIntelDisplayigfxcui3D
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x14000d28a
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
lea rdx, str.Default
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x14000d2e0
mov rax, qword [rdi]
mov rdx, rsi
mov rcx, rdi
call qword [rax + 0x58]
mov rax, qword [rdi]
lea rdx, [rsi + 0xc]
mov rcx, rdi
call qword [rax + 0x60]
mov rax, qword [rdi]
lea rdx, [rsi + 0x10]
mov rcx, rdi
call qword [rax + 0x68]
mov rax, qword [rdi]
lea rdx, [rsi + 0x18]
mov rcx, rdi
call qword [rax + 0x70]
mov rax, qword [rdi]
lea rdx, [rsi + 0x1c]
mov rcx, rdi
call qword [rax + 0x78]
mov rax, qword [rdi]
lea rdx, [rsi + 0x14]
mov rcx, rdi
call qword [rax + 0x80]
mov ebx, eax
mov dword [rsp + 0x60], eax
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000d2f1
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov eax, ebx
jmp 0x14000d2f9
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret

Function at 0x14000da20
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, r8
movsxd rcx, edx
lea r8, [rsp + 0x38]
mov rdx, rax
mov rdi, r9
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 4
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x58], 0
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
mov ebx, eax
test eax, eax
js 0x14000daaf
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
lea r9, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
xor r8d, r8d
mov rdx, rdi
mov ebx, 0x80004005
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000daaf
movss xmm0, dword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
xor ebx, ebx
cvtps2pd xmm0, xmm0
movsd qword [rax], xmm0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x14000ddc0
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
mov eax, 0x14e0
call fcn.140052570
sub rsp, rax
mov rax, qword [0x1400b64d0]
xor rax, rsp
mov qword [rsp + 0x14d0], rax
mov rdi, rdx
lea rax, [rsp + 0x50]
xor esi, esi
lea rdx, str.SoftwareIntelDisplayigfxcui3D
mov r9d, 0x2001f
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x20], rax
mov ebx, 0x80004005
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x58], esi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14000de6f
lea rax, [rsp + 0x58]
lea rdx, str.SoftwareIntelDisplayigfxcui3D
xor r9d, r9d
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
mov rcx, 0xffffffff80000001
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14000dfba
mov rcx, qword [rsp + 0x50]
lea rdx, str.Default
mov r9d, 3
xor r8d, r8d
mov dword [rsp + 0x28], 0x20
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x14000dfba
lea rcx, [rsp + 0xaa4]
xor edx, edx
mov r8d, 0xa24
mov byte [rsp + 0xaa0], sil
call fcn.140051000
lea r8, str.Default
lea rcx, [rsp + 0xabc]
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
mov dword [rsp + 0xab8], 7
mov dword [rsp + 0x14c4], 0x20
call fcn.1400526dc
mov r9d, 0x20
lea rcx, [rsp + 0xcc4]
mov edx, r9d
mov r8, rdi
call fcn.140050e80
lea rdx, [rsp + 0x70]
lea rax, [rsp + 0xaa0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayLock
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rdx, [rdx + 0x80]
lea rax, [rax + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
dec rcx
jne 0x14000df20
mov rcx, qword [rax + 0x20]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov qword [rdx + 0x20], rcx
lea rcx, [rsp + 0x60]
call fcn.140029ad0
mov rcx, qword [rax]
test rcx, rcx
je 0x14000dff1
mov rax, qword [rcx]
lea rdx, [rsp + 0x70]
call qword [rax + 0x80]
mov rcx, qword [rsp + 0x60]
mov ebx, eax
test rcx, rcx
je 0x14000dfba
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14000dfca
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rcx, qword [rsp + 0x14d0]
xor rcx, rsp
call fcn.1400525d0
lea r11, [rsp + 0x14e0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
mov ecx, 0x80004003
call fcn.140063fd0
int3
Function at 0x14000e780
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
push r14
sub rsp, 0x60
mov rdi, r8
movsxd rsi, edx
lea rax, [r11 - 0x18]
mov rbp, r9
xor r14d, r14d
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
mov r9d, 0x2001f
mov qword [r11 - 0x48], rax
mov ebx, 0x80004005
mov qword [r11 - 0x18], r14
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14000e806
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r14d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14000e838
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x90]
mov r9d, 4
xor r8d, r8d
mov rdx, rbp
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
cmove ebx, r14d
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea r11, [rsp + 0x60]
mov eax, ebx
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret

Function at 0x14000e860
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x60
movsd xmm0, qword [rsp + 0xa0]
mov rsi, r8
movsxd rbp, edx
cvtpd2ps xmm0, xmm0
lea rax, [rax - 0x28]
mov r14, r9
xor r15d, r15d
xor r8d, r8d
mov rdx, rsi
mov qword [rax], r15
mov r9d, 0x2001f
mov rcx, rbp
movss dword [rax + 0x38], xmm0
mov qword [rsp + 0x20], rax
mov ebx, 0x80004005
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
test eax, eax
je 0x14000e8fb
mov qword [rsp + 0x40], r15
lea rax, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r15d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov edi, eax
test eax, eax
jne 0x14000e92f
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x88]
mov r9d, 4
xor r8d, r8d
mov rdx, r14
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test edi, edi
mov ebx, eax
cmove ebx, r15d
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea r11, [rsp + 0x60]
mov eax, ebx
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x1400276b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
lea ebp, [rdx - 1]
mov eax, edx
xor r10d, r10d
mov r14, r8
imul eax, edx
test ebp, ebp
je 0x140027763
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
lea ebx, [rax + rdx]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], r15
lea r11, [r9 + 2]
lea r15d, [rbx + 1]
mov edi, r10d
mov esi, ebx
nop
lea eax, [r10 + 1]
inc r10d
lea r11, [r11 + 4]
add eax, esi
add esi, ebx
lea r9, [r14 + rax*4]
mov eax, edi
add edi, r15d
movzx ecx, byte [r14 + rax*4]
lea r8, [r14 + rax*4]
movzx eax, byte [r9]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov byte [r11 - 6], al
movzx ecx, byte [r8 + 1]
movzx eax, byte [r9 + 1]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov byte [r11 - 5], al
movzx ecx, byte [r8 + 2]
movzx eax, byte [r9 + 2]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov byte [r11 - 4], al
cmp r10d, ebp
jb 0x1400276f0
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x18]
xor eax, eax
pop r14
pop rbp
ret

Function at 0x14002b080
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x30
mov r12, r9
mov r13, r8
mov rbx, rdx
mov r14, rcx
call fcn.140033610
xor edi, edi
lea r8d, [rdi + 5]
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rsi, rax
test rax, rax
je 0x14002b199
mov r8d, 0xf0
mov rdx, rbx
mov rcx, r14
mov qword [rsp + 0x68], r15
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov r15d, edi
test rax, rax
je 0x14002b0f7
mov rdx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r15, rax
mov rdx, rsi
mov rcx, r14
mov qword [rsp + 0x60], rbp
mov ebx, edi
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x14002b17b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbp, rax
test rax, rax
je 0x14002b17b
mov rdx, r15
mov rcx, rax
call fcn.140032220
mov r9, r12
mov r8, r13
mov rsi, rax
mov rax, qword [rsp + 0x80]
mov rcx, r14
mov rdx, rsi
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_CreateDialogIndirectParamW]
mov rdi, rax
test rax, rax
jne 0x14002b15d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp rsi, rbp
je 0x14002b183
test rsi, rsi
je 0x14002b183
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalHandle]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x14002b183
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov r15, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
test ebx, ebx
je 0x14002b199
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rdi
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
Function at 0x1400325c0
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x50], rax
test rax, rax
jne 0x1400325e8
add rsp, 0x30
pop rbx
ret
lea rax, [rsp + 0x40]
lea r8, [0x14002f870]
mov r9, rbx
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x48], rdi
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdi, rax
test rax, rax
jne 0x140032629
mov rcx, qword [rbx + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x50], rdi
mov rax, rdi
mov rdi, qword [rsp + 0x48]
add rsp, 0x30
pop rbx
ret

Function at 0x140032ab0
Capabilities:
Accept command line arguments

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp byte [0x1400c4278], 0
mov esi, edx
mov rdi, rcx
je 0x140032ad6
or eax, 0xffffffff
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor ecx, ecx
mov qword [rsp + 0x30], rbx
call qword [sym.imp.ole32.dll_CoInitialize]
mov ebx, eax
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x140032b18
cmp eax, 0x80010106
jne 0x140032b54
lea rcx, str.Mscoree.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x140032b1c
mov eax, ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov byte [rdi + 0x62], 1
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea r8, [rsp + 0x40]
mov rcx, rdi
mov rdx, rax
call fcn.1400301d0
cmp al, 1
jne 0x140032b44
mov edx, esi
mov rcx, rdi
call fcn.140031e40
mov ebx, eax
jmp 0x140032b48
mov ebx, dword [rsp + 0x40]
cmp byte [rdi + 0x62], 0
je 0x140032b54
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rsi, qword [rsp + 0x38]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, [0x1400c4710]
mov edx, r9d
jmp 0x140032ab0