joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14004a250
Capabilities:
Compare security identifiers

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x80
mov rsi, rdx
mov rax, qword [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x78], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x60]
mov qword [rdi], rax
mov rcx, rdi
call fcn.140048f60
mov rdi, qword [rdi]
test rdi, rdi
je 0x14004a304
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 0x14004a309
test rbx, rbx
je 0x14004a317
mov rdx, qword [rdi]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_EqualSid]
cmp eax, 1
mov byte [rsi], 1
sete byte [rsi + 1]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_FreeSid]
jmp 0x14004a31a
mov byte [rsi], 0
jmp 0x14004a323
test rbx, rbx
je 0x14004a317
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_FreeSid]
mov byte [rsi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14012b460
mov rax, rsi
add rsp, 0x80
pop rbx
pop rdi
pop rsi
ret

Function at 0x14004a340
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 [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x50], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x48]
mov qword [rdi], rax
mov rcx, rdi
call fcn.140048f60
mov rdi, qword [rdi]
test rdi, rdi
je 0x14004a3e3
mov qword [rsp + 0x40], 0
cmp byte [r14 + 0x17], 0
jns 0x14004a396
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 0x14004a3e8
mov byte [rsi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14012b460
mov rax, rsi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
mov byte [rsi], 0
jmp 0x14004a3c9
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rdi]
call qword [sym.imp.ADVAPI32.dll_EqualSid]
cmp eax, 1
mov byte [rsi], 1
sete byte [rsi + 1]
jmp 0x14004a3c0
Function at 0x14004e680
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x78
mov rsi, rdx
mov rax, qword [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x70], rax
lea r8, [rsp + 0x38]
mov qword [r8], 0
lea rdx, [0x14004ae30]
mov ecx, 6
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
cmp eax, 1
jne 0x14004e815
lea rdi, [rsp + 0x38]
mov rcx, qword [rdi]
lea r8, [0x1401cc0ac]
mov edx, 0x86
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
mov qword [rdi], 0
lea rdx, [0x14004ae30]
mov ecx, 6
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
cmp eax, 1
jne 0x14004e812
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, [0x14004ae30]
mov ecx, 6
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
cmp eax, 1
jne 0x14004e80f
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
lea rcx, [0x1401c5b40]
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 0x14004e782
test eax, eax
jne 0x14004e844
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.140096320
movzx eax, byte [rsp + 0x4f]
test al, al
js 0x14004e79d
and eax, 0x7f
jmp 0x14004e7a7
mov rax, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rax
test rax, rax
js 0x14004e818
test rdi, rdi
jne 0x14004e7c4
test rax, rax
jne 0x14004e844
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x60]
mov rcx, rsi
mov r9d, 1
call fcn.14008ba00
cmp byte [rsp + 0x4f], 0
jns 0x14004e7f5
mov rcx, qword [rsp + 0x38]
call fcn.14012a8ec
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14012b460
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.140166ee0
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.140166ee0
int3
Function at 0x14004eb70
Capabilities:
Create process on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x170
movaps xmmword [rsp + 0x160], xmm6
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x158], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0xf8], xmm0
movups xmmword [rsp + 0xe8], xmm0
movups xmmword [rsp + 0xd8], xmm0
movups xmmword [rsp + 0xc8], xmm0
movups xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0x108], 0
movabs rax, 0x4000000070
mov qword [rsp + 0xa0], rax
lea rax, str.runas
mov qword [rsp + 0xb0], rax
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x90], r15
movaps xmm6, xmmword [0x1401c1a60]
movaps xmmword [rsp + 0x80], xmm6
lea r14, [rsp + 0x110]
mov rcx, r8
mov rdx, r14
call fcn.1400a16b0
cmp byte [r14 + 0x17], 0
js 0x14004ec7d
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x110]
call fcn.1400f7860
cmp byte [rsp + 0x97], 0
js 0x14004ec9c
lea rax, [rsp + 0x80]
jmp 0x14004eca4
mov rdx, qword [rsp + 0x110]
mov r8, qword [rsp + 0x118]
lea rcx, [rsp + 0x80]
call fcn.140081ea0
jmp 0x14004ec5c
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xb8], rax
lea r14, [rsp + 0x60]
mov qword [r14 + 0x10], r15
movaps xmmword [r14], xmm6
mov rcx, rbx
mov rdx, r14
call fcn.1400a2c50
cmp byte [r14 + 0x17], 0
jns 0x14004ecd0
mov r14, qword [rsp + 0x60]
lea rbx, [rsp + 0xa0]
mov qword [rbx + 0x20], r14
mov dword [rbx + 0x30], 5
lea r14, [rsp + 0x110]
mov qword [r14 + 0x40], r15
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.1400f6c50
mov rcx, r14
mov rdx, r15
xor r8d, r8d
call fcn.1400e9cb0
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x14004edcf
mov rdx, qword [rsp + 0x108]
lea rbx, [rsp + 0x30]
mov rcx, rbx
call fcn.14008c530
mov rax, qword [rdi]
mov rax, qword [rax + 0xc0]
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call qword [0x14021c008]
lea rcx, [rsp + 0x110]
call fcn.1400e9f20
cmp byte [rsp + 0x77], 0
jns 0x14004ed8e
mov rcx, qword [rsp + 0x60]
call fcn.14012a8ec
cmp byte [rsp + 0x97], 0
jns 0x14004eda5
mov rcx, qword [rsp + 0x80]
call fcn.14012a8ec
mov rcx, qword [rsp + 0x158]
xor rcx, rsp
call fcn.14012b460
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x160]
add rsp, 0x170
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea rbx, [rsp + 0x20]
mov rcx, rbx
xor edx, edx
jmp 0x14004ed52
Function at 0x14004ee30
Capabilities:
Check mutex on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
movaps xmmword [rsp + 0xc0], xmm6
mov ebp, r9d
mov rbx, r8
mov rsi, rdx
mov rax, qword [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0xb8], rax
mov ecx, SafeArrayCopy
call fcn.14012a8b0
mov rdi, rax
lea rax, fcn.1400500c0
mov qword [rdi], rax
mov byte [rdi + 0x10], 0
movaps xmm6, xmmword [0x1401c1a60]
movaps xmmword [rsp + 0x40], xmm6
movabs r12, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x40], SafeArrayCopy
mov qword [rsp + 0x48], 0
movzx eax, bpl
mov dword [rsp + 0x50], eax
cmp byte [rbx + 0x17], 0
jns 0x14004eebe
mov rbx, qword [rbx]
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rdi + 8], rax
test rax, rax
je 0x14004efc8
mov r14, rax
mov r15, qword [rsp + 0x140]
lea rbx, [rsp + 0x68]
movaps xmmword [rbx - 8], xmm6
movaps xmmword [rbx + 8], xmm6
movaps xmmword [rbx + 0x18], xmm6
movaps xmmword [rbx + 0x28], xmm6
movaps xmmword [rbx + 0x38], xmm6
mov qword [rbx + 0x48], r12
mov byte [rbx - 8], 0
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
mov qword [rbx + 0x40], 0
test r15, r15
je 0x14004ef89
movabs r13, 0x7fffffffffffffff
lea rdx, str.NamedMutexImpl
lea r8, str.....operadesktopwindowsos_operationsos_operations_impl.cc
lea r12, [rsp + 0x20]
mov rcx, r12
mov r9d, 0xd7
call fcn.1400f6c50
mov rcx, rbx
mov rdx, r12
xor r8d, r8d
call fcn.1400e9cb0
mov byte [rsp + 0x60], 1
mov edx, 0xffffffff
cmp r15, r13
je 0x14004efa7
lea rax, [r15 + r13]
add rax, 2
cmp rax, 2
jae 0x14004ef89
lea rdx, [r13 + 1]
test r15, r15
cmovns rdx, r13
jmp 0x14004efa7
movabs rcx, 0x20c49ba5e353f7cf
mov rax, r15
imul rcx
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, 0xffffff7f
sete byte [rdi + 0x10]
cmp byte [rsp + 0x60], 0
je 0x14004efc8
mov rcx, rbx
call fcn.1400e9f20
mov qword [rsi], rdi
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.14012b460
mov rax, rsi
movaps xmm6, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret

Function at 0x14004f5e0
Capabilities:
Query or enumerate registry value

Disassembly:
add rcx, 0x18
cmp byte [rdx + 0x17], 0
jns 0x140088b60
mov rdx, qword [rdx]
jmp 0x140088b60
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
Function at 0x14004f8d0
Capabilities:
Query or enumerate registry key

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x80], rax
lea r14, [rsp + 0x64]
mov dword [r14], 0x104
lea rbx, [rcx + 0x30]
mov edx, 0x104
mov rcx, rbx
call fcn.14008b3c0
mov edx, dword [rdi + 0x78]
mov rcx, qword [rdi + 0x48]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
mov r8, rax
mov r9, r14
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
inc dword [rdi + 0x78]
test eax, eax
je 0x14004f971
add rdi, 0x60
mov rcx, rdi
call fcn.14018f480
mov qword [rsi], 0
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14012b460
mov rax, rsi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea rdx, [rdi + 0x10]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0x40]
mov qword [r14 + 0x10], rax
movaps xmm0, xmmword [0x1401c1a60]
movaps xmmword [r14], xmm0
lea r8, [0x1401cc2b6]
mov rcx, r14
call fcn.140026b90
movzx eax, byte [r14 + 0x17]
mov rcx, r14
test al, al
jns 0x14004f9b8
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov word [rcx + rax*2], 0
movzx r8d, byte [rdi + 0x47]
test r8b, r8b
js 0x14004f9ce
and r8d, 0x7f
jmp 0x14004f9d6
mov r8, qword [rdi + 0x38]
mov rbx, qword [rdi + 0x30]
mov rcx, r14
mov rdx, rbx
call fcn.140082230
cmp byte [rsp + 0x57], 0
jns 0x14004f9ed
mov r14, qword [rsp + 0x40]
mov ecx, 0x50
call fcn.14012a8b0
mov rbx, rax
mov ebp, dword [rdi + 0x28]
lea r15, [rsp + 0x68]
mov rcx, r15
mov rdx, r14
call fcn.140166050
mov rdi, qword [rdi + 8]
lea rax, fcn.14004f520
mov qword [rbx], rax
mov qword [rbx + 8], rdi
mov dword [rbx + 0x10], ebp
lea r14, [rbx + 0x18]
mov rcx, r14
call fcn.140088990
mov rcx, rbx
add rcx, 0x30
cmp byte [r15 + 0x17], 0
js 0x14004fa8f
mov rax, qword [rsp + 0x78]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rcx], xmm0
mov rcx, r14
mov rdx, rdi
mov r8, r15
mov r9d, ebp
call fcn.140088a90
mov dword [rbx + 0x48], eax
cmp byte [rsp + 0x7f], 0
jns 0x14004fa72
mov rcx, qword [rsp + 0x68]
call fcn.14012a8ec
mov qword [rsi], rbx
cmp byte [rsp + 0x57], 0
jns 0x14004f94e
mov rcx, qword [rsp + 0x40]
call fcn.14012a8ec
jmp 0x14004f94e
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
call fcn.140081ea0
cmp byte [rsp + 0x7f], 0
jns 0x14004faac
mov r15, qword [rsp + 0x68]
jmp 0x14004fa4d
lea r15, [rsp + 0x68]
jmp 0x14004fa4d
Function at 0x140067110
Capabilities:
Delete directory

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x188
mov rsi, rcx
mov rax, qword [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x180], rax
lea rax, [0x1401c4450]
mov qword [rcx], rax
cmp byte [rcx + 0x38], 0
je 0x1400671b3
lea rcx, str.....operadesktopwindowsinstaller_transactionsdelete_file_operation.cc
mov edx, VarR8FromUI1
call fcn.1400f6ba0
test eax, eax
jg 0x140067277
lea rdi, [rsi + 0x20]
mov rcx, rdi
call fcn.14008e9a0
test al, al
jne 0x140067172
mov rcx, rdi
call fcn.140191e30
cmp byte [rsi + 0x3a], 0
je 0x140067223
lea rcx, [rsi + 8]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x40]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [0x1401c1a60]
movaps xmmword [rdi], xmm0
mov rdx, rdi
call fcn.1400f8250
mov r14, qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea rbx, [rsp + 0x28]
jmp 0x14006720d
cmp qword [rsi + 0x40], 0
je 0x140067223
lea rdi, [rsi + 0x40]
mov rcx, qword [0x1402080e8]
test rcx, rcx
jne 0x1400671d9
call fcn.1400487a0
mov rcx, rax
mov qword [0x1402080e8], rax
mov rdx, rdi
call fcn.140049740
jmp 0x140067223
mov rcx, qword [rsp + 0x40]
call r14
test eax, eax
je 0x140067219
mov rcx, rdi
mov rdx, rbx
call fcn.1400f8250
mov rcx, rdi
mov rdx, rbx
call fcn.1400f78e0
mov rcx, rbx
call fcn.1400f7860
cmp byte [rsp + 0x57], 0
mov rcx, rdi
jns 0x1400671e8
jmp 0x1400671e3
lea rcx, [rsp + 0x40]
call fcn.1400f7860
mov rdi, qword [rsi + 0x40]
mov qword [rsi + 0x40], 0
test rdi, rdi
je 0x140067244
mov rcx, rdi
call fcn.14004a780
mov rcx, rdi
call fcn.14012a8ec
lea rcx, [rsi + 0x20]
call fcn.1400f7860
add rsi, 8
mov rcx, rsi
call fcn.1400f7860
mov rcx, qword [rsp + 0x180]
xor rcx, rsp
call fcn.14012b460
nop
add rsp, 0x188
pop rbx
pop rdi
pop rsi
pop r14
ret
lea rdx, str.....operadesktopwindowsinstaller_transactionsdelete_file_operation.cc
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov r8d, 0x25
mov r9d, 0xffffffff
call fcn.14009b590
lea rcx, [rsp + 0x50]
lea rdx, str.Actual_removal_of
mov r8d, shutdown
call fcn.140166290
lea rdx, [rsi + 0x20]
mov rcx, rax
call fcn.1400963c0
mov rcx, rdi
call fcn.14009bbd0
jmp 0x14006715a
Function at 0x140069e00
Capabilities:
Delete directory

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
mov rsi, rcx
mov rax, qword [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x60], rax
lea rax, [0x1401c4490]
mov qword [rcx], rax
cmp byte [rcx + 0x40], 0
je 0x140069ea2
lea rcx, [rsi + 0x10]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x40]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [0x1401c1a60]
movaps xmmword [rdi], xmm0
mov rdx, rdi
call fcn.1400f8250
mov r14, qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea rbx, [rsp + 0x28]
jmp 0x140069e8c
mov rcx, qword [rsp + 0x40]
call r14
test eax, eax
je 0x140069e98
mov rcx, rdi
mov rdx, rbx
call fcn.1400f8250
mov rcx, rdi
mov rdx, rbx
call fcn.1400f78e0
mov rcx, rbx
call fcn.1400f7860
cmp byte [rsp + 0x57], 0
mov rcx, rdi
jns 0x140069e67
jmp 0x140069e62
lea rcx, [rsp + 0x40]
call fcn.1400f7860
lea rcx, [rsi + 0x28]
call fcn.1400f7860
lea rcx, [rsi + 0x10]
call fcn.1400f7860
mov rcx, qword [rsi + 8]
movabs rax, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x1401eeec8]
jne 0x140069ed3
call fcn.1400d72c0
mov qword [rsi + 8], 0
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14012b460
nop
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
ret
Function at 0x140077500
Capabilities:
Check if file exists

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov qword [rcx], 0
test rdx, rdx
je 0x140077547
mov rdi, rdx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi]
inc rax
cmp rax, 2
jae 0x140077552
lea rax, [rdi + 1]
cmp rax, 2
jb 0x14007753f
mov qword [rsi], rdi
call fcn.1400f6c70
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
call fcn.1400f6c70
mov rcx, qword [rsi]
call fcn.1400e0410
mov qword [rsi], 0
jmp 0x14007752d

Function at 0x1400775a0
Capabilities:
Check if file exists

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rcx
xor eax, eax
mov qword [rcx], rax
mov rbx, qword [rdx]
mov qword [rdx], rax
lea r14, [rbx + 1]
cmp r14, 2
jb 0x1400775c6
call fcn.1400f6c70
cmp qword [rsi], rbx
je 0x1400775f5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [rsi]
inc rax
cmp rax, 2
jae 0x140077602
cmp r14, 2
jb 0x1400775ed
mov qword [rsi], rbx
call fcn.1400f6c70
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.1400f6c70
mov rcx, qword [rsi]
call fcn.1400e0410
mov qword [rsi], 0
jmp 0x1400775df

Function at 0x140077620
Capabilities:
Check if file exists

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rbx, qword [rdx]
mov qword [rdx], 0
lea r14, [rbx + 1]
cmp r14, 2
jb 0x140077645
call fcn.1400f6c70
cmp qword [rsi], rbx
je 0x140077674
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [rsi]
inc rax
cmp rax, 2
jae 0x140077681
cmp r14, 2
jb 0x14007766c
mov qword [rsi], rbx
call fcn.1400f6c70
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.1400f6c70
mov rcx, qword [rsi]
call fcn.1400e0410
mov qword [rsi], 0
jmp 0x14007765e

Function at 0x140077750
Capabilities:
Terminate process

Disassembly:
mov rcx, qword [rcx]
lea rax, [rcx + 1]
cmp rax, 2
jae 0x14007775e
ret
xor edx, edx
jmp qword [sym.imp.KERNEL32.dll_TerminateProcess]
Function at 0x140077fc0
Capabilities:
Check if file exists
Check mutex on windows

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov ebx, edx
mov rsi, rcx
mov rax, qword [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x40], rax
movzx eax, byte [rcx + 0x1f]
test al, al
jns 0x140077fe8
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x14007809e
lea r8, [rsi + 8]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x20]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [0x1401c1a60]
movaps xmmword [rdi], xmm0
lea rdx, str.opera_splash_lock_
mov rcx, rdi
call fcn.140059550
cmp byte [rdi + 0x17], 0
jns 0x14007802c
mov rdi, qword [rsp + 0x20]
xor ecx, ecx
mov edx, 1
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rdi, rax
cmp qword [rsi + 0x38], rax
je 0x14007807f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 0x38]
inc rax
cmp rax, 2
jae 0x1400780fe
mov rax, rdi
inc rax
cmp rax, 2
jb 0x140078073
mov qword [rsi + 0x38], rdi
call fcn.1400f6c70
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, qword [rsi + 0x38]
xor ebp, ebp
lea rax, [rdi + 1]
cmp rax, 2
jae 0x1400780b8
cmp byte [rsp + 0x37], 0
jns 0x1400780a0
mov rcx, qword [rsp + 0x20]
call fcn.14012a8ec
jmp 0x1400780a0
xor ebp, ebp
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14012b460
mov eax, ebp
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
ret
test bl, bl
mov eax, 0x1f4
cmovne ebp, eax
mov rcx, rdi
mov edx, ebp
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov bpl, 1
test eax, 0xffffff7f
je 0x14007808b
mov rax, qword [rsi + 0x38]
inc rax
cmp rax, 2
jb 0x1400780fa
call fcn.1400f6c70
mov rcx, qword [rsi + 0x38]
call fcn.1400e0410
mov qword [rsi + 0x38], 0
xor ebp, ebp
jmp 0x14007808b
call fcn.1400f6c70
mov rcx, qword [rsi + 0x38]
call fcn.1400e0410
mov qword [rsi + 0x38], 0
jmp 0x14007805e
Function at 0x14007b830
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov rdi, r8
mov rsi, rdx
mov r15b, byte [rbp + 0x68]
test byte [r9 + 8], 1
jne 0x14007b89b
mov dl, byte [rbp + 0x60]
movzx r8d, r15b
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov dword [rsp + 0x28], r8d
mov byte [rsp + 0x20], dl
mov rdx, rsi
mov r8, rdi
call qword [0x14021c008]
mov rax, rsi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov qword [rsi], rdi
test al, al
jns 0x14007b87d
call fcn.14012a8ec
jmp 0x14007b87d
lea rbx, [rbp - 0x20]
mov rcx, r9
mov rdx, rbx
call fcn.1400dc860
lea rdx, [0x140208f60]
mov rcx, rbx
call fcn.1400dd3a0
mov r14, rax
mov rcx, qword [rbp - 0x20]
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
test eax, eax
jne 0x14007b8db
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x14021c008]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rbx + 0x10], rax
movaps xmm0, xmmword [0x1401c1a60]
movaps xmmword [rbx], xmm0
mov rax, qword [r14]
xor r15b, 1
movzx ecx, r15b
mov rax, qword [rax + rcx*8 + 0x28]
mov rcx, r14
mov rdx, rbx
call qword [0x14021c008]
movzx eax, byte [rbx + 0x17]
test al, al
js 0x14007b91e
mov edx, eax
and edx, 0x7f
jmp 0x14007b922
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
test rdx, rdx
je 0x14007b88d
test al, al
cmovns rcx, rbx
mov r14, rcx
jmp 0x14007b97e
movzx edx, al
mov rax, qword [rdi]
mov rax, qword [rax + 0x60]
mov rcx, rdi
call qword [0x14021c008]
cmp eax, 0xffffffff
jne 0x14007b954
xor edi, edi
inc r14
movzx eax, byte [rbp - 9]
mov edx, eax
and edx, 0x7f
test al, al
mov rcx, qword [rbp - 0x20]
mov r8, rbx
cmovs rdx, qword [rbp - 0x18]
cmovs r8, rcx
add rdx, r8
cmp r14, rdx
je 0x14007b88d
test rdi, rdi
je 0x14007b952
mov al, byte [r14]
mov rcx, qword [rdi + 0x30]
cmp rcx, qword [rdi + 0x38]
je 0x14007b93a
lea rdx, [rcx + 1]
mov qword [rdi + 0x30], rdx
mov byte [rcx], al
jmp 0x14007b954
Function at 0x140083420
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 [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r12, qword [rcx + 0x10]
cmp r12, qword [rcx + 0x18]
je 0x140083481
test r12, r12
je 0x140083598
mov rax, qword [rdi]
mov qword [r12], rax
add qword [rsi + 0x10], 8
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14012b460
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 0x1400834e6
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 0x1400834cf
mov rcx, r14
mov rdx, rbx
mov r8, r15
call fcn.14012dd40
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 0x14008344e
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 0x1400835c4
lea rcx, [r15*8]
call fcn.14012a8b0
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 0x140083563
sar rcx, 3
lea r8, [r9 + rdx]
shl rcx, 3
xor r9d, r9d
mov r10, rdx
add r10, r9
je 0x140083598
mov r11, qword [rbx + r9]
mov qword [r10], r11
add r9, 8
cmp rcx, r9
jne 0x14008354b
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.1400d7cb0
mov r12, qword [rsi + 0x10]
jmp 0x14008344e
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.140166ee0
call fcn.1401661a0
int3