joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140028a00
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x140028a0d
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x140028a1d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x140028a05
lea eax, [rcx + 1]
call r11
adc eax, eax
add ebx, ebx
jne 0x140028a35
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x140028a22
sub eax, 3
jb 0x140028a4f
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x140028a86
movsxd rbp, eax
lea eax, [rcx + 1]
call r11
adc ecx, ecx
call r11
adc ecx, ecx
jne 0x140028a76
mov ecx, eax
add eax, 2
call r11
adc ecx, ecx
add ebx, ebx
jne 0x140028a74
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x140028a63
cmp rbp, 0xfffffffffffff300
adc ecx, eax
call fcn.1400289c2
jmp 0x140028a0d
pop rsi
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x13200
mov dl, 5
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0x140028ad2
cmp rsi, rcx
jae 0x140028ada
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0x140028ab9
cmp al, 0x8f
ja 0x140028ab9
cmp byte [rsi - 2], 0xf
je 0x140028abf
sub al, 0xe8
cmp al, 1
ja 0x140028aa3
cmp rsi, rcx
jae 0x140028ada
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0x140028aa9
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0x140028ada
lodsb al, byte [rsi]
jmp 0x140028ab9
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x26000]
mov eax, dword [rdi]
or eax, eax
je 0x140028b37
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x281e4]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x140028ae7
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x140028b31
mov qword [rbx], rax
add rbx, 8
jmp 0x140028b07
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x140028b71
cmp al, 0xef
ja 0x140028b63
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x140028b43
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
jmp 0x140028b52
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x237]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x140028bc5
sub rsp, 0xffffffffffffff80
jmp 0x140001d84
Function at 0x140e7c890
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x140e7c89d
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x140e7c8ad
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x140e7c895
lea eax, [rcx + 1]
jmp 0x140e7c8bb
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x140e7c8ce
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x140e7c8b4
sub eax, 3
jb 0x140e7c8ee
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x140e7c93d
sar eax, 1
movsxd rbp, eax
jb 0x140e7c924
jmp 0x140e7c8fc
add ebx, ebx
jne 0x140e7c8fa
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x140e7c924
inc ecx
add ebx, ebx
jne 0x140e7c90a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x140e7c924
call r11
adc ecx, ecx
add ebx, ebx
jne 0x140e7c91d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x140e7c90c
add ecx, 2
jmp 0x140e7c929
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.140e7c852
jmp 0x140e7c89d
pop rsi
pop rdi
pop rax
mov dword [rdi], eax
sub rsp, 0x28
lea rdi, [rsi + 0xe6c000]
mov eax, dword [rdi]
or eax, eax
je 0x140e7c99d
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0xe7c4ec]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x140e7c94d
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x140e7c997
mov qword [rbx], rax
add rbx, 8
jmp 0x140e7c96d
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x140e7c9e1
cmp al, 0xef
ja 0x140e7c9c9
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x140e7c9a9
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
or eax, eax
jne 0x140e7c9b8
mov eax, dword [rdi]
add rdi, 4
jmp 0x140e7c9b8
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x1af]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
mov byte [fcn.140e7ca60], 0xfc
lea rcx, [rsi - 0x1000]
push 1
pop rdx
xor r8, r8
push rax
call fcn.140e7ca60
pop rax
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x140e7ca50
sub rsp, 0xffffffffffffff80
jmp 0x1400014e0
Function at 0x1800021ac
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
movsxd rax, dword [rcx + 0x3c]
mov r9, rcx
mov r14d, edx
mov r8d, dword [rax + rcx + 0x88]
mov ebp, dword [r8 + rcx + 0x1c]
mov r10d, dword [r8 + rcx + 0x20]
mov esi, dword [r8 + rcx + 0x24]
add r10, rcx
add rsi, rcx
lea rdi, [rcx + rbp]
xor ecx, ecx
test ebp, ebp
je 0x18000223a
mov r8d, dword [r10]
mov r11d, 0x35
add r8, r9
or rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180002202
xor ebx, ebx
test rdx, rdx
je 0x18000222b
movsx eax, byte [r8]
lea r11d, [r11 + r11*2]
inc ebx
add r11d, eax
movsxd rax, ebx
inc r8
cmp rax, rdx
jb 0x180002213
cmp r11d, r14d
je 0x180002253
inc ecx
add r10, 4
cmp ecx, ebp
jb 0x1800021f2
xor eax, eax
mov rbx, qword [rsp + 0x10]
mov rbp, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
pop r14
ret
movzx ecx, word [rsi + rcx*2]
mov eax, dword [rdi + rcx*4]
add rax, r9
jmp 0x18000223c
Function at 0x140027d40
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rbx, r9
mov r14, r8
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x1401eb038]
xor rax, rsp
mov qword [rsp + 0x58], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x40]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [0x1401bc9e0]
movaps xmmword [rcx], xmm0
lea rdx, str.GROUP:
call fcn.140162800
test rdi, rdi
je 0x140027ef1
mov rcx, rdi
call fcn.140149980
lea r15, [rsp + 0x40]
mov rcx, r15
mov rdx, rdi
mov r8, rax
call fcn.140078ed0
lea rdx, str.__NAME:
mov r8d, 8
mov rcx, r15
call fcn.140078ed0
test r14, r14
je 0x140027ef1
mov rcx, r14
call fcn.140149980
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rdx, r14
mov r8, rax
call fcn.140078ed0
lea rdx, str.__DURATION:
mov r8d, SafeArrayDestroy
mov rcx, rdi
call fcn.140078ed0
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x140027e66
sub rdx, qword [rbx]
lea rbx, [rsp + 0x28]
mov rcx, rbx
call fcn.14007a360
movzx r8d, byte [rbx + 0x17]
test r8b, r8b
js 0x140027e2a
and r8d, 0x7f
jmp 0x140027e34
mov r8, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.140078ed0
cmp byte [rsp + 0x3f], 0
jns 0x140027e52
mov rcx, qword [rsp + 0x28]
call fcn.14012733c
lea rdx, str.__us_
lea rcx, [rsp + 0x40]
mov r8d, 5
jmp 0x140027e78
lea rdx, str.unknown_unfinished
lea rcx, [rsp + 0x40]
mov r8d, shutdown
call fcn.140078ed0
lea rdx, [0x1401c0c75]
mov r8d, 2
mov rcx, rdi
call fcn.140078ed0
movzx r8d, byte [rsp + 0x57]
test r8b, r8b
jns 0x140027ea9
mov r8d, dword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
jmp 0x140027ead
and r8d, 0x7f
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x20], 0
mov rdx, rdi
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp byte [rsp + 0x57], 0
jns 0x140027ed7
mov rcx, qword [rsp + 0x40]
call fcn.14012733c
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140127eb0
nop
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea rax, str.string::append_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, 0xafa
call fcn.140163bd0
int3
Function at 0x14002b240
Capabilities:
Check if file exists
Delete directory
Delete file

Disassembly:
mov rcx, rdx
test r8b, r8b
je fcn.140083c40
jmp fcn.140083ef0

Function at 0x14002b270
Capabilities:
Move file

Disassembly:
mov rcx, rdx
mov rdx, r8
jmp fcn.140183cb0

Function at 0x140035e80
Capabilities:
Get session user name

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x240
mov rsi, rcx
mov rax, qword [0x1401eb038]
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.14012ae40
mov rcx, rbx
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov edi, eax
test eax, eax
je 0x140035ede
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140079bd0
test edi, edi
setne bl
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.140127eb0
mov eax, ebx
add rsp, 0x240
pop rbx
pop rdi
pop rsi
ret

Function at 0x140035f00
Capabilities:
Get session user name

Disassembly:
mov edx, 2
jmp 0x140035f10
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov edi, edx
mov rsi, rcx
mov rax, qword [0x1401eb038]
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 0x140035fc0
lea r14, [rsp + 0x34]
mov r15d, dword [r14]
inc r15d
mov dword [r14], r15d
add r15, r15
mov rcx, r15
call fcn.14012737c
mov rbx, rax
mov rcx, rax
xor edx, edx
mov r8, r15
call fcn.14012ae40
mov ecx, edi
mov rdx, rbx
mov r8, r14
call sub.Secur32.dll_GetUserNameExW
test al, al
setne dil
je 0x140035fb9
test rbx, rbx
je 0x140035fd5
mov rcx, rsi
mov rdx, rbx
call fcn.140079bd0
mov rcx, rbx
call fcn.140127384
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140127eb0
mov eax, edi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
test rbx, rbx
jne 0x140035f96
jmp 0x140035fd1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x140035f48
xor edi, edi
jmp 0x140035f9e
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.140163bd0
int3
Function at 0x140035f10
Capabilities:
Get session user name

Disassembly:
mov edx, 2
jmp 0x140035f10
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov edi, edx
mov rsi, rcx
mov rax, qword [0x1401eb038]
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 0x140035fc0
lea r14, [rsp + 0x34]
mov r15d, dword [r14]
inc r15d
mov dword [r14], r15d
add r15, r15
mov rcx, r15
call fcn.14012737c
mov rbx, rax
mov rcx, rax
xor edx, edx
mov r8, r15
call fcn.14012ae40
mov ecx, edi
mov rdx, rbx
mov r8, r14
call sub.Secur32.dll_GetUserNameExW
test al, al
setne dil
je 0x140035fb9
test rbx, rbx
je 0x140035fd5
mov rcx, rsi
mov rdx, rbx
call fcn.140079bd0
mov rcx, rbx
call fcn.140127384
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140127eb0
mov eax, edi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
test rbx, rbx
jne 0x140035f96
jmp 0x140035fd1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x140035f48
xor edi, edi
jmp 0x140035f9e
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.140163bd0
int3
Function at 0x140037220
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 [0x1401eb038]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r12, qword [rcx + 0x10]
cmp r12, qword [rcx + 0x18]
je 0x140037281
test r12, r12
je 0x140037398
mov rax, qword [rdi]
mov qword [r12], rax
add qword [rsi + 0x10], 8
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140127eb0
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 0x1400372e6
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 0x1400372cf
mov rcx, r14
mov rdx, rbx
mov r8, r15
call fcn.14012a790
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 0x14003724e
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 0x1400373c4
lea rcx, [r15*8]
call fcn.140127300
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 0x140037363
sar rcx, 3
lea r8, [r9 + rdx]
shl rcx, 3
xor r9d, r9d
mov r10, rdx
add r10, r9
je 0x140037398
mov r11, qword [rbx + r9]
mov qword [r10], r11
add r9, 8
cmp rcx, r9
jne 0x14003734b
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.1400ca990
mov r12, qword [rsi + 0x10]
jmp 0x14003724e
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.140163bd0
call fcn.140162a90
int3
Function at 0x14003c1a0
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 [0x1401eb038]
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 0x14003c246
mov ebp, eax
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.140127eb0
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.14012ae40
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 0x14003c2d6
mov rcx, r14
mov rdx, rbx
call fcn.14003c1a0
test eax, eax
jne 0x14003c304
mov dword [rsp + 0x4c], 0x100
mov r12, qword [rsp + 0x58]
jmp 0x14003c294
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14003c2ef
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.14003c9a0
mov ebp, eax
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14003c218
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14003c218
Function at 0x14003c9a0
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 0x14003ca3b
mov rdi, qword [rdi]
cmp qword [rbx], 0
je 0x14003ca1c
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14003ca0f
lea rdx, str.RegDeleteKeyTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14003ca0f
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 [0x14021d008]
jmp 0x14003ca14
mov eax, 1
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
cmp dword [rbx + 8], 0
je 0x14003ca0f
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 0x14003ca25
cmp byte [0x1401fe938], 0
jne 0x14003ca74
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14003ca6d
lea rdx, [0x1401c5786]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401fe930], rax
mov byte [0x1401fe938], 1
mov rax, qword [0x1401fe930]
test rax, rax
je 0x14003ca36
mov r8d, dword [rdi + 8]
mov rcx, qword [rdi]
mov r10, qword [0x14021d008]
mov rdx, rsi
xor r9d, r9d
add rsp, 0x30
pop rbx
pop rdi
pop rsi
jmp r10
Function at 0x140042c40
Capabilities:
Create process on windows

Disassembly:
mov rcx, rdx
jmp 0x14018b400
push rsi
push rdi
push rbx
sub rsp, 0xa0
mov rsi, rcx
mov rax, qword [0x1401eb038]
xor rax, rsp
mov qword [rsp + 0x98], rax
movaps xmm0, xmmword [0x1401bc9e0]
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.1400ec540
mov rcx, rdi
mov rdx, rbx
xor r8d, r8d
call fcn.1400df840
call fcn.14007c050
cmp eax, 0xd
jl 0x14018b503
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x30]
mov qword [rdi], rax
mov rcx, rdi
call fcn.14009bbf0
cmp qword [rdi], 0
je 0x14018b503
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x14018b4a3
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 [0x14021d008]
mov edi, eax
test rbx, rbx
je 0x14018b4dd
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_ILFree]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14018b4fd
mov qword [rsp + 0x30], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14021d008]
mov bl, 1
test edi, edi
jns 0x14018b539
cmp byte [rsi + 0x17], 0
jns 0x14018b50c
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.1400df8c0
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140127eb0
mov eax, ebx
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
ret
Function at 0x1400464a0
Capabilities:
Compare security identifiers

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x80
mov rsi, rdx
mov rax, qword [0x1401eb038]
xor rax, rsp
mov qword [rsp + 0x78], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x60]
mov qword [rdi], rax
mov rcx, rdi
call fcn.140045180
mov rdi, qword [rdi]
test rdi, rdi
je 0x140046554
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 0x14004655b
test rbx, rbx
je 0x140046569
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 0x14004656e
mov word [rsi], 0
jmp 0x140046577
test rbx, rbx
je 0x140046569
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.140127eb0
mov rax, rsi
add rsp, 0x80
pop rbx
pop rdi
pop rsi
ret

Function at 0x1400465a0
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 [0x1401eb038]
xor rax, rsp
mov qword [rsp + 0x50], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x48]
mov qword [rdi], rax
mov rcx, rdi
call fcn.140045180
mov rdi, qword [rdi]
test rdi, rdi
je 0x140046649
mov qword [rsp + 0x40], 0
cmp byte [r14 + 0x17], 0
jns 0x1400465f6
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 0x140046650
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.140127eb0
mov rax, rsi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
mov word [rsi], 0
jmp 0x14004662f
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 0x140046621