joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14002b6a0
Capabilities:
Check if file exists
Delete directory
Delete file

Disassembly:
mov rcx, rdx
test r8b, r8b
je fcn.140087eb0
jmp fcn.140088160

Function at 0x14002b6d0
Capabilities:
Move file

Disassembly:
mov rcx, rdx
mov rdx, r8
jmp fcn.140188ee0

Function at 0x1400362e0
Capabilities:
Get session user name

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x240
mov rsi, rcx
mov rax, qword [0x1401f0038]
xor rax, rsp
mov qword [rsp + 0x238], rax
lea rdi, [rsp + 0x2c]
mov dword [rdi], 0x101
lea rbx, [rsp + 0x30]
mov r8d, 0x202
mov rcx, rbx
mov dl, 0xaa
call fcn.14012ffe0
mov rcx, rbx
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov edi, eax
test eax, eax
je 0x14003633e
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.14007dd90
test edi, edi
setne bl
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.14012d050
mov eax, ebx
add rsp, 0x240
pop rbx
pop rdi
pop rsi
ret

Function at 0x140036360
Capabilities:
Get session user name

Disassembly:
mov edx, 2
jmp 0x140036370
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov edi, edx
mov rsi, rcx
mov rax, qword [0x1401f0038]
xor rax, rsp
mov qword [rsp + 0x38], rax
lea r8, [rsp + 0x34]
mov dword [r8], 0
mov ecx, edx
xor edx, edx
call sub.Secur32.dll_GetUserNameExW
test al, al
je 0x140036420
lea r14, [rsp + 0x34]
mov r15d, dword [r14]
inc r15d
mov dword [r14], r15d
add r15, r15
mov rcx, r15
call fcn.14012c51c
mov rbx, rax
mov rcx, rax
xor edx, edx
mov r8, r15
call fcn.14012ffe0
mov ecx, edi
mov rdx, rbx
mov r8, r14
call sub.Secur32.dll_GetUserNameExW
test al, al
setne dil
je 0x140036419
test rbx, rbx
je 0x140036435
mov rcx, rsi
mov rdx, rbx
call fcn.14007dd90
mov rcx, rbx
call fcn.14012c524
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14012d050
mov eax, edi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
test rbx, rbx
jne 0x1400363f6
jmp 0x140036431
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x1400363a8
xor edi, edi
jmp 0x1400363fe
lea rax, str.string::assign_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string
lea r9, str.__s___nullptr
mov r8d, 0xa51
call fcn.140168d70
int3
Function at 0x140036370
Capabilities:
Get session user name

Disassembly:
mov edx, 2
jmp 0x140036370
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov edi, edx
mov rsi, rcx
mov rax, qword [0x1401f0038]
xor rax, rsp
mov qword [rsp + 0x38], rax
lea r8, [rsp + 0x34]
mov dword [r8], 0
mov ecx, edx
xor edx, edx
call sub.Secur32.dll_GetUserNameExW
test al, al
je 0x140036420
lea r14, [rsp + 0x34]
mov r15d, dword [r14]
inc r15d
mov dword [r14], r15d
add r15, r15
mov rcx, r15
call fcn.14012c51c
mov rbx, rax
mov rcx, rax
xor edx, edx
mov r8, r15
call fcn.14012ffe0
mov ecx, edi
mov rdx, rbx
mov r8, r14
call sub.Secur32.dll_GetUserNameExW
test al, al
setne dil
je 0x140036419
test rbx, rbx
je 0x140036435
mov rcx, rsi
mov rdx, rbx
call fcn.14007dd90
mov rcx, rbx
call fcn.14012c524
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14012d050
mov eax, edi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
test rbx, rbx
jne 0x1400363f6
jmp 0x140036431
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x1400363a8
xor edi, edi
jmp 0x1400363fe
lea rax, str.string::assign_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string
lea r9, str.__s___nullptr
mov r8d, 0xa51
call fcn.140168d70
int3
Function at 0x140037fb0
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x280
mov ebx, r9d
mov rsi, r8
mov edi, edx
mov r14, rcx
mov rax, qword [0x1401f0038]
xor rax, rsp
mov qword [rsp + 0x278], rax
lea rcx, str.shell32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x1401c7fec]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400380d9
mov r15, rax
lea r9, [rsp + 0x68]
mov qword [r9], 0
mov rcx, r14
xor edx, edx
xor r8d, r8d
call qword [0x140224008]
test eax, eax
jns 0x140038174
test bl, bl
je 0x140038174
xor edi, edi
lea r9, [rsp + 0x68]
mov rcx, r14
mov edx, 0x8800
xor r8d, r8d
mov rax, r15
call qword [0x140224008]
test eax, eax
js 0x14003817e
mov rdx, qword [rsp + 0x68]
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.140167ac0
movzx eax, byte [rdi + 0x17]
test al, al
js 0x140038070
and eax, 0x7f
jmp 0x14003807a
mov rax, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rax
test rax, rax
js 0x1400381af
test rdi, rdi
jne 0x14003809b
test rax, rax
jne 0x1400381db
lea rdi, [rsp + 0x70]
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400f2150
mov rcx, rsi
mov rdx, rdi
call fcn.140098e60
mov rcx, rdi
call fcn.1400f22a0
cmp byte [rsp + 0x57], 0
jns 0x1400380d1
mov rcx, qword [rsp + 0x40]
call fcn.14012c4dc
mov dil, 1
jmp 0x14003817e
lea r14, [rsp + 0x70]
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.14012ffe0
mov word [r14], 0
mov qword [rsp + 0x20], r14
xor ecx, ecx
mov edx, edi
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jns 0x140038133
cmp eax, 0x80070057
je 0x140038133
test bl, bl
je 0x140038133
or edi, 0xa000
mov qword [rsp + 0x20], r14
xor ecx, ecx
mov edx, edi
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
setns dil
js 0x14003818e
lea rbx, [rsp + 0x30]
mov qword [rbx], r14
mov rcx, r14
call fcn.14014edd4
mov qword [rbx + 8], rax
lea r14, [rsp + 0x40]
mov rcx, r14
mov rdx, rbx
call fcn.1400f2150
mov rcx, rsi
mov rdx, r14
call fcn.140098e60
mov rcx, r14
call fcn.1400f22a0
jmp 0x14003818e
test eax, eax
jns 0x140038051
xor edi, edi
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14003818e
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.14012d050
mov eax, edi
add rsp, 0x280
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea rax, str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
mov r8d, 0x13a
call fcn.140168d70
lea rax, str.string_view::string_view__CharT___size_t_:_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len__0____s___nullptr
mov r8d, 0x13c
call fcn.140168d70
int3
Function at 0x140038680
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x1401f0038]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r12, qword [rcx + 0x10]
cmp r12, qword [rcx + 0x18]
je 0x1400386e1
test r12, r12
je 0x1400387f8
mov rax, qword [rdi]
mov qword [r12], rax
add qword [rsi + 0x10], 8
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14012d050
nop
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [rsi]
mov rbx, qword [rsi + 8]
mov rax, rbx
sub rax, r14
jbe 0x140038746
sar rax, 3
lea rcx, [rax + 1]
shr rcx, 0x3f
add rax, rcx
inc rax
sar rax, 1
mov r13, rax
neg r13
shl rax, 3
mov r14, rbx
sub r14, rax
mov r15, r12
sub r15, rbx
je 0x14003872f
mov rcx, r14
mov rdx, rbx
mov r8, r15
call fcn.14012f930
mov r12, qword [rsi + 8]
add r14, r15
mov qword [rsi + 0x10], r14
lea rax, [r12 + r13*8]
mov qword [rsi + 8], rax
mov r12, r14
jmp 0x1400386ae
mov rax, r12
sub rax, r14
sar rax, 2
cmp r12, r14
mov r15d, 1
cmovne r15, rax
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x50], rax
mov rax, r15
shr rax, 0x3d
jne 0x140038824
lea rcx, [r15*8]
call fcn.14012c4a0
mov rdx, r15
and rdx, 0xfffffffffffffffc
mov rcx, r12
sub rcx, rbx
mov r9, r12
lea rdx, [rax + rdx*2]
mov r8, rdx
sub r9, rbx
je 0x1400387c3
sar rcx, 3
lea r8, [r9 + rdx]
shl rcx, 3
xor r9d, r9d
mov r10, rdx
add r10, r9
je 0x1400387f8
mov r11, qword [rbx + r9]
mov qword [r10], r11
add r9, 8
cmp rcx, r9
jne 0x1400387ab
lea r9, [rax + r15*8]
mov qword [rsi], rax
lea rcx, [rsp + 0x30]
mov qword [rcx], r14
mov qword [rsi + 8], rdx
mov qword [rcx + 8], rbx
mov qword [rsi + 0x10], r8
mov qword [rcx + 0x10], r12
mov qword [rsi + 0x18], r9
mov qword [rcx + 0x18], r12
call fcn.1400cfb10
mov r12, qword [rsi + 0x10]
jmp 0x1400386ae
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x28
call fcn.140168d70
call fcn.140167c30
int3
Function at 0x14003d870
Capabilities:
Query or enumerate registry key

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
movaps xmmword [rsp + 0x280], xmm6
mov rbx, rdx
mov rdi, rcx
mov rax, qword [0x1401f0038]
xor rax, rsp
mov qword [rsp + 0x278], rax
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x60], r15
xor eax, eax
mov qword [rsp + 0x68], rax
mov esi, dword [rcx + 8]
mov r9d, esi
or r9d, 0x2001f
mov rcx, qword [rcx]
lea rdx, [rsp + 0x70]
mov qword [rdx], rax
mov qword [rsp + 0x20], rdx
mov rdx, rbx
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14003d916
mov ebp, eax
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.14012d050
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x280]
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x40], rbx
lea rbx, [rsp + 0x70]
mov r12, qword [rbx]
lea r14, [rsp + 0x58]
mov qword [r14], r12
and esi, 0x300
mov dword [r14 + 8], esi
lea r13, [rsp + 0x50]
mov qword [r13], r15
lea r15, [rsp + 0x4c]
mov dword [r15], 0x100
mov r8d, 0x200
mov rcx, rbx
mov dl, 0xaa
call fcn.14012ffe0
xorps xmm6, xmm6
mov rsi, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov qword [rsp + 0x38], r13
movups xmmword [rsp + 0x20], xmm6
mov qword [rsp + 0x30], 0
mov rcx, r12
xor edx, edx
mov r8, rbx
mov r9, r15
call rsi
test eax, eax
jne 0x14003d9a6
mov rcx, r14
mov rdx, rbx
call fcn.14003d870
test eax, eax
jne 0x14003d9d4
mov dword [rsp + 0x4c], 0x100
mov r12, qword [rsp + 0x58]
jmp 0x14003d964
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14003d9bf
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x60], 0
mov rcx, rdi
mov rdx, qword [rsp + 0x40]
call fcn.14003e070
mov ebp, eax
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14003d8e8
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14003d8e8
Function at 0x14003e070
Capabilities:
Delete registry key

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rdx
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14003e10b
mov rdi, qword [rdi]
cmp qword [rbx], 0
je 0x14003e0ec
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14003e0df
lea rdx, str.RegDeleteKeyTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14003e0df
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], 0
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
xor r9d, r9d
call qword [0x140224008]
jmp 0x14003e0e4
mov eax, 1
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
cmp dword [rbx + 8], 0
je 0x14003e0df
mov rcx, rdi
mov rdx, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
jmp qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rcx, qword [rdi]
jmp 0x14003e0f5
cmp byte [0x140203c08], 0
jne 0x14003e144
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14003e13d
lea rdx, [0x1401cb226]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140203c00], rax
mov byte [0x140203c08], 1
mov rax, qword [0x140203c00]
test rax, rax
je 0x14003e106
mov r8d, dword [rdi + 8]
mov rcx, qword [rdi]
mov r10, qword [0x140224008]
mov rdx, rsi
xor r9d, r9d
add rsp, 0x30
pop rbx
pop rdi
pop rsi
jmp r10
Function at 0x140044310
Capabilities:
Create process on windows

Disassembly:
mov rcx, rdx
jmp 0x140190680
push rsi
push rdi
push rbx
sub rsp, 0xa0
mov rsi, rcx
mov rax, qword [0x1401f0038]
xor rax, rsp
mov qword [rsp + 0x98], rax
movaps xmm0, xmmword [0x1401c1a20]
lea rdi, [rsp + 0x50]
movaps xmmword [rdi + 0x30], xmm0
movaps xmmword [rdi + 0x20], xmm0
movaps xmmword [rdi + 0x10], xmm0
movaps xmmword [rdi], xmm0
lea rdx, str.UnpinShortcutFromTaskbar
lea r8, str.....operadesktopchrome_importschromeinstallerutil_taskbar_util.cc
lea rbx, [rsp + 0x30]
mov rcx, rbx
mov r9d, 0x8a
call fcn.1400f16e0
mov rcx, rdi
mov rdx, rbx
xor r8d, r8d
call fcn.1400e49e0
call fcn.1400802c0
cmp eax, 0xd
jl 0x140190783
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x30]
mov qword [rdi], rax
mov rcx, rdi
call fcn.1400a0ad0
cmp qword [rdi], 0
je 0x140190783
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x140190723
mov rcx, qword [rsi]
call qword [sym.imp.SHELL32.dll_ILCreateFromPathW]
mov rbx, rax
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x80]
mov rdx, rbx
xor r8d, r8d
mov r9d, 4
call qword [0x140224008]
mov edi, eax
test rbx, rbx
je 0x14019075d
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_ILFree]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14019077d
mov qword [rsp + 0x30], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140224008]
mov bl, 1
test edi, edi
jns 0x1401907b9
cmp byte [rsi + 0x17], 0
jns 0x14019078c
mov rsi, qword [rsi]
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea rdx, str.taskbarunpin
xor ecx, ecx
mov r8, rsi
xor r9d, r9d
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp rax, 0x21
setge bl
lea rcx, [rsp + 0x50]
call fcn.1400e4a60
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.14012d050
mov eax, ebx
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
ret
Function at 0x140047b70
Capabilities:
Compare security identifiers

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x80
mov rsi, rdx
mov rax, qword [0x1401f0038]
xor rax, rsp
mov qword [rsp + 0x78], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x60]
mov qword [rdi], rax
mov rcx, rdi
call fcn.140046850
mov rdi, qword [rdi]
test rdi, rdi
je 0x140047c24
lea rbx, [rsp + 0x68]
mov qword [rbx], 0
xor eax, eax
lea rcx, [rsp + 0x70]
mov dword [rcx], eax
mov word [rcx + 4], 0x500
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov dl, 1
mov r8d, shutdown
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
mov rbx, qword [rbx]
test eax, eax
je 0x140047c2b
test rbx, rbx
je 0x140047c39
mov rdx, qword [rdi]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_EqualSid]
cmp eax, 1
sete byte [rsi]
mov byte [rsi + 1], 1
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_FreeSid]
jmp 0x140047c3e
mov word [rsi], 0
jmp 0x140047c47
test rbx, rbx
je 0x140047c39
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_FreeSid]
mov word [rsi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14012d050
mov rax, rsi
add rsp, 0x80
pop rbx
pop rdi
pop rsi
ret

Function at 0x140047c70
Capabilities:
Compare security identifiers

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov ebx, r9d
mov r14, r8
mov rsi, rdx
mov rax, qword [0x1401f0038]
xor rax, rsp
mov qword [rsp + 0x50], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x48]
mov qword [rdi], rax
mov rcx, rdi
call fcn.140046850
mov rdi, qword [rdi]
test rdi, rdi
je 0x140047d19
mov qword [rsp + 0x40], 0
cmp byte [r14 + 0x17], 0
jns 0x140047cc6
mov r14, qword [r14]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
lea r9, [rsp + 0x40]
mov rcx, r14
mov edx, ebx
mov r8d, 1
call qword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoW]
test eax, eax
je 0x140047d20
xor eax, eax
xor ecx, ecx
mov byte [rsi], al
mov byte [rsi + 1], cl
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14012d050
mov rax, rsi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
mov word [rsi], 0
jmp 0x140047cff
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rdi]
call qword [sym.imp.ADVAPI32.dll_EqualSid]
cmp eax, 1
sete al
mov cl, 1
jmp 0x140047cf1
Function at 0x14004bf60
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x78
mov rsi, rdx
mov rax, qword [0x1401f0038]
xor rax, rsp
mov qword [rsp + 0x70], rax
lea r8, [rsp + 0x38]
mov qword [r8], 0
lea rdx, [0x1400486b0]
mov ecx, 6
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
cmp eax, 1
jne 0x14004c0ef
lea rdi, [rsp + 0x38]
mov rcx, qword [rdi]
lea r8, [0x1401cbc48]
mov edx, 0x86
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
mov qword [rdi], 0
lea rdx, [0x1400486b0]
mov ecx, 6
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
cmp eax, 1
jne 0x14004c0f2
lea rdi, [rsp + 0x38]
mov rcx, qword [rdi]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r14, rax
mov qword [rdi], 0
lea rdx, [0x1400486b0]
mov ecx, 6
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
cmp eax, 1
jne 0x14004c0f5
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
lea rcx, [0x1401c5e90]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], 1
mov ecx, eax
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], rcx
test r14, r14
jne 0x14004c062
test eax, eax
jne 0x14004c124
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.140090700
movzx eax, byte [rsp + 0x4f]
test al, al
js 0x14004c07d
and eax, 0x7f
jmp 0x14004c087
mov rax, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rax
test rax, rax
js 0x14004c0f8
test rdi, rdi
jne 0x14004c0a4
test rax, rax
jne 0x14004c124
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x60]
mov rcx, rsi
mov r9d, 1
call fcn.140084c30
cmp byte [rsp + 0x4f], 0
jns 0x14004c0d5
mov rcx, qword [rsp + 0x38]
call fcn.14012c4dc
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14012d050
mov rax, rsi
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r14
ret
int3
int3
int3
lea rax, str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
mov r8d, 0x13a
call fcn.140168d70
lea rax, str.string_view::string_view__CharT___size_t_:_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len__0____s___nullptr
mov r8d, 0x13c
call fcn.140168d70
int3
Function at 0x14004c450
Capabilities:
Create process on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x160
movaps xmmword [rsp + 0x150], xmm6
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x1401f0038]
xor rax, rsp
mov qword [rsp + 0x148], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
movups xmmword [rsp + 0x130], xmm0
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x110], xmm0
movups xmmword [rsp + 0x100], xmm0
movups xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x140], 0
movabs rax, 0x4000000070
mov qword [rsp + 0xd8], rax
lea rax, str.runas
mov qword [rsp + 0xe8], rax
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd0], r15
movaps xmm6, xmmword [0x1401c1a20]
movaps xmmword [rsp + 0xc0], xmm6
lea r14, [rsp + 0x60]
mov rcx, r8
mov rdx, r14
call fcn.14009cf10
cmp byte [r14 + 0x17], 0
js 0x14004c551
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0xc0], xmm0
lea rcx, [rsp + 0x60]
call fcn.1400f22a0
cmp byte [rsp + 0xd7], 0
js 0x14004c56a
lea rax, [rsp + 0xc0]
jmp 0x14004c572
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
lea rcx, [rsp + 0xc0]
call fcn.14007da70
jmp 0x14004c533
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xf0], rax
lea r14, [rsp + 0xa0]
mov qword [r14 + 0x10], r15
movaps xmmword [r14], xmm6
mov rcx, rbx
mov rdx, r14
call fcn.14009e3a0
cmp byte [r14 + 0x17], 0
jns 0x14004c5a4
mov r14, qword [rsp + 0xa0]
lea rbx, [rsp + 0xd8]
mov qword [rbx + 0x20], r14
mov dword [rbx + 0x30], 5
lea r14, [rsp + 0x60]
movaps xmmword [r14 + 0x30], xmm6
movaps xmmword [r14 + 0x20], xmm6
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
lea rdx, str.RunElevatedProcess
lea r8, str.....operadesktopwindowsos_operationsos_operations_impl.cc
lea r15, [rsp + 0x40]
mov rcx, r15
mov r9d, 0x17d
call fcn.1400f16e0
mov rcx, r14
mov rdx, r15
xor r8d, r8d
call fcn.1400e49e0
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x14004c69f
mov rdx, qword [rsp + 0x140]
lea rbx, [rsp + 0x30]
mov rcx, rbx
call fcn.140085780
mov rax, qword [rdi]
mov rax, qword [rax + 0xc0]
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call qword [0x140224008]
lea rcx, [rsp + 0x60]
call fcn.1400e4a60
cmp byte [rsp + 0xb7], 0
jns 0x14004c65e
mov rcx, qword [rsp + 0xa0]
call fcn.14012c4dc
cmp byte [rsp + 0xd7], 0
jns 0x14004c675
mov rcx, qword [rsp + 0xc0]
call fcn.14012c4dc
mov rcx, qword [rsp + 0x148]
xor rcx, rsp
call fcn.14012d050
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x150]
add rsp, 0x160
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea rbx, [rsp + 0x20]
mov rcx, rbx
xor edx, edx
jmp 0x14004c61f
Function at 0x14004c710
Capabilities:
Check mutex on windows

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc0
movaps xmmword [rsp + 0xb0], xmm6
mov ebp, r9d
mov rbx, r8
mov rsi, rdx
mov rax, qword [0x1401f0038]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov ecx, SafeArrayCopy
call fcn.14012c4a0
mov rdi, rax
lea rax, fcn.14004d970
mov qword [rdi], rax
mov byte [rdi + 0x10], 0
movaps xmm6, xmmword [0x1401c1a20]
movaps xmmword [rsp + 0x90], xmm6
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], r15
mov dword [rsp + 0x90], SafeArrayCopy
mov qword [rsp + 0x98], 0
movzx eax, bpl
mov dword [rsp + 0xa0], eax
cmp byte [rbx + 0x17], 0
jns 0x14004c7ab
mov rbx, qword [rbx]
lea rcx, [rsp + 0x90]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rdi + 8], rax
test rax, rax
je 0x14004c8d0
mov rbx, rax
mov r14, qword [rsp + 0x120]
movaps xmmword [rsp + 0x40], xmm6
mov qword [rsp + 0x80], r15
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
xor eax, eax
mov byte [rsp + 0x40], al
mov byte [rsp + 0x80], al
test r14, r14
je 0x14004c88c
lea rdx, str.NamedMutexImpl
lea r8, str.....operadesktopwindowsos_operationsos_operations_impl.cc
lea rcx, [rsp + 0x20]
mov r9d, 0xd7
call fcn.1400f16e0
cmp byte [rsp + 0x80], 0
je 0x14004c842
lea r15, [rsp + 0x40]
mov rcx, r15
call fcn.1400e4a60
mov byte [r15 + 0x40], 0
movabs r12, 0x7fffffffffffffff
lea r15, [rsp + 0x40]
lea rdx, [rsp + 0x20]
mov rcx, r15
xor r8d, r8d
call fcn.1400e49e0
mov byte [r15 + 0x40], 1
mov edx, 0xffffffff
cmp r14, r12
je 0x14004c8aa
lea rax, [r12 + r14]
add rax, 2
cmp rax, 2
jae 0x14004c88c
lea rdx, [r12 + 1]
test r14, r14
cmovns rdx, r12
jmp 0x14004c8aa
movabs rcx, 0x20c49ba5e353f7cf
mov rax, r14
imul rcx
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, 0xffffff7f
sete byte [rdi + 0x10]
cmp byte [rsp + 0x80], 0
je 0x14004c8d0
lea rcx, [rsp + 0x40]
call fcn.1400e4a60
mov qword [rsi], rdi
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.14012d050
mov rax, rsi
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret

Function at 0x14004cec0
Capabilities:
Query or enumerate registry value

Disassembly:
add rcx, 0x18
cmp byte [rdx + 0x17], 0
jns 0x140081650
mov rdx, qword [rdx]
jmp 0x140081650
sub rsp, 0x38
mov rcx, qword [rcx]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
sete al
add rsp, 0x38
ret