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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x1f8
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov rax, qword [0x14003f5b0]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov r8d, 1
mov rdx, qword [rsp + 0x208]
mov rcx, qword [rsp + 0x200]
call qword [sym.imp.SETUPAPI.dll_SetupDiOpenDevRegKey]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x34], 0x100
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
xor r8d, r8d
lea rdx, str.CoInstallers32
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x14000a00a
lea rax, [rsp + 0x80]
mov qword [rsp + 0x60], rax
lea rdx, str.SynTPCo35_02.dll
mov rcx, qword [rsp + 0x60]
call fcn.140001a70
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0xc0]
call fcn.1400150e0
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x68], rax
lea r8, str._PS2DeviceInstall
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0xa0]
call fcn.140001460
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0xc0]
call fcn.14000de70
cmp qword [rsp + 0xb8], 0x10
jb 0x140009f85
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x38], rax
jmp 0x140009f92
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x38], rax
mov r8, qword [rsp + 0x38]
mov edx, dword [rsp + 0x34]
lea rcx, [rsp + 0xe0]
call fcn.140013a10
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140009fe5
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
mov r9d, 7
xor r8d, r8d
lea rdx, str.CoInstallers32
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
jmp 0x140009ff8
lea rdx, str.CoInstallers32
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0xa0]
call fcn.14000de70
mov eax, 1
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.140019ef0
add rsp, 0x1f8
ret
Function at 0x14000b5a0
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x338
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x14003f5b0]
xor rax, rsp
mov qword [rsp + 0x320], rax
mov dword [rsp + 0x40], 0x104
mov eax, dword [rsp + 0x40]
mov r8d, eax
xor edx, edx
lea rcx, [rsp + 0x100]
call fcn.140017280
mov dword [rsp + 0x20], 0
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPInstall
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0xd0]
call fcn.140014700
nop
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x100]
mov rdx, qword [0x14002f640]
mov rcx, rax
call fcn.140014180
test eax, eax
jne 0x14000b658
lea rcx, [rsp + 0xd0]
call fcn.1400147b0
jmp 0x14000b78d
lea rax, str.oemsetup.bat
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x100]
lea r8, str._s_s
mov edx, 0x104
lea rcx, [rsp + 0x210]
call fcn.1400188f8
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
lea rcx, [rsp + 0x210]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0xffffffffffffffff
jne 0x14000b6d6
lea rcx, [rsp + 0xd0]
call fcn.1400147b0
jmp 0x14000b78d
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, 0x70
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.140017280
mov dword [rsp + 0x60], 0x70
mov dword [rsp + 0x64], 0x40
mov qword [rsp + 0x68], 0
lea rax, str.open
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x210]
mov qword [rsp + 0x78], rax
lea rax, str._uninstall
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x90], 0
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
test eax, eax
je 0x14000b780
mov edx, 0xffffffff
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + 0xd0]
call fcn.1400147b0
mov rcx, qword [rsp + 0x320]
xor rcx, rsp
call fcn.140019ef0
add rsp, 0x338
ret

Function at 0x14000b7b0
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xe8
mov dword [rsp + 0x50], 0
mov r8d, 0x68
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.140017280
mov dword [rsp + 0x70], 0x68
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0xf0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jne 0x14000b847
mov dword [rsp + 0x54], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x50]
add rsp, 0xe8
ret
Function at 0x14000c4c0
Capabilities:
Delete directory
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x298
mov rax, qword [0x14003f5b0]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov dword [rsp + 0x20], 1
mov rdx, qword [rsp + 0x2a8]
lea rcx, [rsp + 0x170]
call fcn.140017560
lea rdx, [0x1400309ec]
lea rcx, [rsp + 0x170]
call fcn.1400174c0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0xffffffffffffffff
jne 0x14000c539
jmp 0x14000c66b
cmp dword [rsp + 0x20], 0
je 0x14000c652
lea rdx, [0x140030b0c]
lea rcx, [rsp + 0x5c]
call fcn.140017630
test eax, eax
je 0x14000c639
lea rdx, [0x140030b10]
lea rcx, [rsp + 0x5c]
call fcn.140017630
test eax, eax
je 0x14000c639
mov eax, dword [rsp + 0x30]
and eax, 0x10
test eax, eax
je 0x14000c5f3
mov rdx, qword [rsp + 0x2a8]
lea rcx, [rsp + 0x170]
call fcn.140017560
lea rdx, [rsp + 0x5c]
lea rcx, [rsp + 0x170]
call fcn.1400174c0
lea rdx, [0x140030218]
lea rcx, [rsp + 0x170]
call fcn.1400174c0
lea rdx, [rsp + 0x170]
mov rcx, qword [rsp + 0x2a0]
call fcn.14000c4c0
mov edx, 0x80
lea rcx, [rsp + 0x170]
call fcn.1400190ac
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
jmp 0x14000c639
mov rdx, qword [rsp + 0x2a8]
lea rcx, [rsp + 0x170]
call fcn.140017560
lea rdx, [rsp + 0x5c]
lea rcx, [rsp + 0x170]
call fcn.1400174c0
mov edx, 0x80
lea rcx, [rsp + 0x170]
call fcn.1400190ac
lea rcx, [rsp + 0x170]
call fcn.140018810
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
mov dword [rsp + 0x20], eax
jmp 0x14000c539
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rsp + 0x2a8]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.140019ef0
add rsp, 0x298
ret

Function at 0x14000ca90
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x258
mov rax, qword [0x14003f5b0]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov edx, 0x104
lea rcx, [rsp + 0x130]
call qword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryA]
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x20]
call fcn.140017560
lea rdx, str._regsvr32.exe__s__u
lea rcx, [rsp + 0x20]
call fcn.1400174c0
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x20]
call fcn.1400174c0
lea rdx, [0x140030598]
lea rcx, [rsp + 0x20]
call fcn.1400174c0
lea rcx, [rsp + 0x20]
call fcn.14000b7b0
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140019ef0
add rsp, 0x258
ret
Function at 0x140013740
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push rdi
sub rsp, 0x5d0
mov qword [rsp + 0xd8], 0xfffffffffffffffe
mov rax, qword [0x14003f5b0]
xor rax, rsp
mov qword [rsp + 0x5c0], rax
mov byte [rsp + 0x1c0], 0
lea rax, [rsp + 0x1c1]
mov rdi, rax
xor eax, eax
mov ecx, 0x3ff
rep stosb byte [rdi], al
lea r9, [rsp + 0x30]
mov r8d, 1
lea rdx, [rsp + 0x188]
lea rcx, str.Keyboard
call qword [sym.imp.SETUPAPI.dll_SetupDiClassGuidsFromNameA]
mov edx, 0xf003f
lea rcx, [rsp + 0x188]
call qword [sym.imp.SETUPAPI.dll_SetupDiOpenClassRegKey]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0xffffffffffffffff
je 0x1400139f6
mov dword [rsp + 0x30], 0x400
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xc8]
xor r8d, r8d
lea rdx, str.UpperFilters
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x1400139eb
lea rax, [rsp + 0x168]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x108]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x148]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x128]
mov qword [rsp + 0xa8], rax
lea rdx, [0x1400300e2]
mov rcx, qword [rsp + 0x68]
call fcn.140001a70
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x58], rax
lea rdx, [0x1400300e2]
mov rcx, qword [rsp + 0x78]
call fcn.140001a70
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x90], rax
lea rdx, [0x1400300e2]
mov rcx, qword [rsp + 0x88]
call fcn.140001a70
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xa0], rax
lea rdx, [0x1400300e2]
mov rcx, qword [rsp + 0x98]
call fcn.140001a70
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x60], rax
lea rdx, str.SynTP
mov rcx, qword [rsp + 0xa8]
call fcn.140001a70
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x198]
call fcn.140015210
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x18], 0x10
jb 0x140013985
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
jmp 0x14001398f
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov r8, qword [rsp + 0x50]
mov edx, dword [rsp + 0x30]
lea rcx, [rsp + 0x1c0]
call fcn.140013a10
mov dword [rsp + 0x48], eax
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x198]
call fcn.14000de70
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x20], rax
mov r9d, 7
xor r8d, r8d
lea rdx, str.UpperFilters
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x5c0]
xor rcx, rsp
call fcn.140019ef0
add rsp, 0x5d0
pop rdi
ret
Function at 0x140014070
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x40
xor ebx, ebx
mov rdi, r9
mov rsi, r8
mov r15, rdx
mov r14d, ebx
test r9, r9
je 0x140014099
mov r14d, dword [r9]
test rdx, rdx
je 0x140014163
test r8, r8
je 0x140014163
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140014154
mov qword [rsp + 0x30], rcx
cmp qword [rsp + 0x80], rbx
je 0x1400140f1
mov rdx, qword [rsp + 0x80]
lea rax, [rsp + 0x30]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x140014154
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x68]
lea r9, [rsp + 0x78]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov rdx, r15
mov dword [rsp + 0x68], 4
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov r15d, eax
cmp qword [rsp + 0x80], rbx
je 0x140014131
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test r15d, r15d
jne 0x140014154
mov eax, dword [rsp + 0x78]
cmp eax, 4
je 0x14001414b
cmp eax, 3
jne 0x140014150
cmp dword [rsp + 0x68], 4
jne 0x140014150
mov ebx, 1
mov eax, ebx
jmp 0x140014165
test rdi, rdi
je 0x140014163
mov dword [rsi], r14d
mov eax, 1
jmp 0x140014165
xor eax, eax
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
Function at 0x140014180
Capabilities:
Query environment variable
Query or enumerate registry value

Disassembly:
mov r11, rsp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
xor esi, esi
mov r14, r9
mov rdi, r8
mov r15, rdx
mov r12d, esi
test rdx, rdx
je 0x14001431d
test r8, r8
je 0x14001431d
test r9, r9
je 0x14001431d
mov rcx, qword [rcx + 0x10]
mov qword [r11 + 8], rbx
or rbx, 0xffffffffffffffff
mov qword [r11 + 0x18], rbp
test rcx, rcx
je 0x1400142d9
mov rbp, qword [rsp + 0x98]
mov r12d, dword [r9]
mov qword [r11 - 0x38], rcx
test rbp, rbp
je 0x14001420c
lea rax, [r11 - 0x38]
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rbp
mov qword [r11 - 0x48], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x1400142d9
mov rcx, qword [rsp + 0x30]
lea r9, [rsp + 0x78]
xor r8d, r8d
mov rdx, r15
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov r15d, eax
test rbp, rbp
je 0x14001423a
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [rsp + 0x78]
cmp ecx, 2
jne 0x1400142a6
mov eax, 2
mul r12
cmovo rax, rbx
mov rcx, rax
call fcn.1400165f0
mov rbp, rax
test rax, rax
je 0x1400142a2
mov r8d, r12d
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
mov rdx, rdi
mov rcx, rbp
sub rdx, rbp
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx + rcx - 1], al
test al, al
jne 0x140014280
mov rcx, rdi
call fcn.14001a444
mov rcx, rbp
mov dword [r14], eax
call fcn.140016874
mov ecx, dword [rsp + 0x78]
test r15d, r15d
jne 0x1400142d9
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x1400142b8
cmp ecx, 7
jne 0x1400142bd
mov esi, 1
mov eax, esi
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x140014319
inc rbx
cmp byte [rcx + rbx], sil
jne 0x1400142e6
inc ebx
cmp ebx, r12d
ja 0x140014319
sub rdi, rcx
nop dword [rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdi + rcx - 1], al
test al, al
jne 0x140014300
mov dword [r14], ebx
mov eax, 1
jmp 0x1400142bf
xor eax, eax
jmp 0x1400142bf
xor eax, eax
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
Function at 0x140014500
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push r14
sub rsp, 0x60
mov rcx, qword [rcx + 0x10]
mov rsi, r9
mov r14d, r8d
mov rbp, rdx
test rcx, rcx
je 0x1400145e3
test rdx, rdx
je 0x1400145e3
test r9, r9
je 0x1400145e3
mov qword [r11 + 0x10], rbx
xor ebx, ebx
mov qword [r11 - 0x18], rcx
cmp qword [rsp + 0x98], rbx
je 0x1400145a4
mov rdx, qword [rsp + 0x98]
lea rax, [r11 + 8]
xor r9d, r9d
mov qword [r11 - 0x28], rax
lea rax, [r11 - 0x18]
xor r8d, r8d
mov qword [r11 - 0x30], rax
mov qword [r11 - 0x38], rbx
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x14001459f
xor eax, eax
mov rbx, qword [rsp + 0x78]
lea r11, [rsp + 0x60]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x90]
mov r9d, r14d
xor r8d, r8d
mov dword [rsp + 0x28], eax
mov rdx, rbp
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov esi, eax
cmp qword [rsp + 0x98], rbx
je 0x1400145da
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
sete bl
mov eax, ebx
jmp 0x140014587
lea r11, [rsp + 0x60]
xor eax, eax
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
Function at 0x140014fb0
Capabilities:
Get common file path

Disassembly:
push rdi
sub rsp, 0x150
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x168], rbx
mov rax, qword [0x14003f5b0]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rbx, rcx
xor edi, edi
mov dword [rsp + 0x20], edi
mov eax, dword [0x140041478]
test al, 1
jne 0x140015034
or eax, 1
mov dword [0x140041478], eax
mov qword [0x140041470], 0xf
mov qword [0x140041468], rdi
mov byte [0x140041458], dil
xor r8d, r8d
lea rdx, [0x1400300e2]
lea rcx, [0x140041458]
call fcn.14000e6a0
lea rcx, [0x14002e9f0]
call fcn.140016a64
nop
cmp dword [0x140041454], 0
jne 0x140015095
mov r9d, 1
lea r8d, [r9 + 0x22]
lea rdx, [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
cmp byte [rsp + 0x30], 0
jne 0x140015060
mov r8, rdi
jmp 0x14001507a
lea rax, [rsp + 0x30]
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140015070
lea rdx, [rsp + 0x30]
lea rcx, [0x140041458]
call fcn.14000e6a0
mov dword [0x140041454], 1
mov qword [rbx + 0x18], 0xf
mov qword [rbx + 0x10], rdi
mov byte [rbx], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [0x140041458]
mov rcx, rbx
call fcn.14000e4b0
mov rax, rbx
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140019ef0
mov rbx, qword [rsp + 0x168]
add rsp, 0x150
pop rdi
ret
Function at 0x140015e30
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x270
mov rax, qword [0x14003f5b0]
xor rax, rsp
mov qword [rsp + 0x260], rax
lea r9, [rsp + 0x150]
mov rdi, r8
mov ebx, edx
sub r9, rcx
nop
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [r9 + rcx - 1], al
test al, al
jne 0x140015e60
xor edx, edx
lea rcx, [rsp + 0xe0]
lea r8d, [rdx + 0x68]
call fcn.140017280
test rdi, rdi
lea rax, [rsp + 0xc0]
cmovne rax, rdi
xor edi, edi
lea rdx, [rsp + 0x150]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xe0]
xor r9d, r9d
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
xor r8d, r8d
xor ecx, ecx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0xe0], 0x68
mov word [rsp + 0x120], bx
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x140015f4a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2e4
jne 0x140015f46
lea r8d, [rdi + 0x70]
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.140017280
lea rax, str.runas
lea rcx, [rsp + 0x50]
xorps xmm0, xmm0
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x50], 0x70
movdqa xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x80], ebx
mov qword [rsp + 0x68], rax
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
jmp 0x140015f4f
xor eax, eax
jmp 0x140015f4f
mov eax, 1
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.140019ef0
mov rbx, qword [rsp + 0x280]
add rsp, 0x270
pop rdi
ret
Function at 0x140016080
Capabilities:
Check if file exists
Create process on windows
Get file attributes

Disassembly:
push rbx
push rsi
push rdi
push r14
sub rsp, 0x28
cmp qword [rdx + 0x18], 0x10
mov esi, r9d
mov rdi, r8
mov rbx, rdx
mov r14, rcx
jb 0x1400160a2
mov rcx, qword [rdx]
jmp 0x1400160a5
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1400160e6
cmp qword [rbx + 0x18], 0x10
jb 0x1400160bf
mov rcx, qword [rbx]
call fcn.140016874
xor esi, esi
mov qword [rbx + 0x18], 0xf
mov qword [rbx + 0x10], rsi
mov byte [rbx], sil
cmp qword [rdi + 0x18], 0x10
jb 0x1400160df
mov rcx, qword [rdi]
call fcn.140016874
xor eax, eax
jmp 0x14001618c
xor edx, edx
mov rcx, r14
mov qword [rsp + 0x20], rbp
lea r8d, [rdx + 0x70]
call fcn.140017280
mov dword [r14 + 4], esi
xor esi, esi
lea rax, str.open
mov dword [r14], 0x70
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rax
cmp qword [rbx + 0x18], 0x10
jb 0x140016121
mov rax, qword [rbx]
jmp 0x140016124
mov rax, rbx
mov qword [r14 + 0x18], rax
cmp qword [rdi + 0x18], 0x10
jb 0x140016134
mov rax, qword [rdi]
jmp 0x140016137
mov rax, rdi
cmp dword [rsp + 0x70], 1
mov qword [r14 + 0x20], rax
mov eax, esi
sete al
mov rcx, r14
mov qword [r14 + 0x28], rsi
mov dword [r14 + 0x30], eax
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
cmp qword [rbx + 0x18], 0x10
mov ebp, eax
jb 0x140016167
mov rcx, qword [rbx]
call fcn.140016874
mov qword [rbx + 0x18], 0xf
mov qword [rbx + 0x10], rsi
mov byte [rbx], sil
cmp qword [rdi + 0x18], 0x10
jb 0x140016185
mov rcx, qword [rdi]
call fcn.140016874
mov eax, ebp
mov rbp, qword [rsp + 0x20]
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], rsi
mov byte [rdi], sil
add rsp, 0x28
pop r14
pop rdi
pop rsi
pop rbx
ret

Function at 0x1400184c8
Capabilities:
Terminate process

Disassembly:
xor r8d, r8d
xor edx, edx
jmp fcn.140018330

Function at 0x14001f388
Capabilities:
Delete file

Disassembly:
sub rsp, 0x28
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x14001f39e
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14001f3a0
xor eax, eax
test eax, eax
je 0x14001f3b0
mov ecx, eax
call fcn.14001bc00
or eax, 0xffffffff
jmp 0x14001f3b2
xor eax, eax
add rsp, 0x28
ret
Function at 0x14000b9fc
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_IsDebuggerPresent]
mov ecx, 1
mov dword [0x140016950], eax
call fcn.14000b77c
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetUnhandledExceptionFilter]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_UnhandledExceptionFilter]
cmp dword [0x140016950], 0
jne case.default.0x14000ba52
mov ecx, 1
call fcn.14000b77c
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xc0000409
add rsp, 0x20
pop rbx
jmp qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TerminateProcess]
mov esp, 0x5c68a46
sub dil, byte [r8d - 0x561462ab]
div dword [rcx + rsi*4 - 0x16]
fadd dword [0x190df7877]
fidivr dword [rdx - 0x78]
sbb eax, 0xd2d05eb4
xchg esp, eax
leave
movabs dword [0x7bebf0566579be5f], eax
dec dword [rcx - 0x53]
push rsi
test bl, 0x3d
or al, 0x54
push rsp
invalid
Function at 0x140002ee0
Capabilities:
Accept command line arguments

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x14005e1d8]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbp, rcx
lea rdx, [rsp + 0x28]
mov rcx, r8
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rsi, rax
test rax, rax
je 0x140002f68
xor ebx, ebx
cmp dword [rsp + 0x28], ebx
jle 0x140002f68
mov rdi, rax
nop word [rax + rax]
mov r8d, 0xe
mov rdx, qword [rdi]
lea rcx, str.__cef_dll_path
call fcn.140038c60
test eax, eax
je 0x140002f57
inc ebx
add rdi, 8
cmp ebx, dword [rsp + 0x28]
jl 0x140002f30
jmp 0x140002f68
movsxd rax, ebx
mov rcx, qword [rsi + rax*8]
add rcx, 0x1e
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
mov qword [rsp + 0x30], rbp
mov ecx, 0x58
call fcn.140033d40
mov rdi, rax
lea rax, [0x140053c98]
mov qword [rdi + 8], rax
lea rax, [0x140053c50]
mov qword [rdi + 0x18], rax
lea rax, vtable.CefApp.0
mov qword [rdi], rax
lea rax, vtable.CefApp.1.0
mov qword [rdi + 0x50], rax
lea rax, vtable.CefBrowserProcessHandler.1.0
mov qword [rdi + 0x10], rax
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rax + 4]
lea rax, vtable.CefBrowserProcessHandler.0
mov qword [rcx + rdi + 0x18], rax
lea rax, vtable.adobe::nglworkflow::NGLCefApp.2.0
mov qword [rdi], rax
lea rax, vtable.adobe::nglworkflow::NGLCefApp.1.0
mov qword [rdi + 0x10], rax
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
lea rax, vtable.adobe::nglworkflow::NGLCefApp.0
mov qword [rcx + rdi + 8], rax
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x48]
mov dword [rcx + rdi + 4], edx
mov dword [rdi + 0x20], 0
xorps xmm0, xmm0
movups xmmword [rdi + 0x28], xmm0
mov qword [rdi + 0x38], 0
mov qword [rdi + 0x40], 0xf
mov byte [rdi + 0x28], 0
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdi
mov rax, qword [rcx]
call qword [rax]
mov qword [rsp + 0x20], rdi
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdi
mov rax, qword [rcx]
call qword [rax]
xor r8d, r8d
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.1400063a0
mov ebx, eax
mov rcx, qword [rdi + 8]
movsxd rdx, dword [rcx + 4]
lea rcx, [rdi + 8]
add rcx, rdx
mov rdx, qword [rcx]
call qword [rdx + 8]
nop
mov eax, ebx
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140033d20
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret