Function at 0x140003180
Capabilities:
Capture screenshot

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x130
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xd0], rcx
lea rax, [rbp + 0x77]
mov qword [rbp + 0x78], rax
nop
nop
mov rax, qword [rbp + 0xd0]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.end___const
mov rsi, rax
mov rax, qword [rbp + 0xd0]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.begin___const
mov rdx, rax
lea rcx, [rbp + 0x77]
lea rax, [rbp + 0x50]
mov r9, rcx
mov r8, rsi
mov rcx, rax
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string___gnu_cxx::__normal_iterator_char_const__std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char_______void____gnu_cxx::__no
lea rax, [rbp + 0x77]
mov rcx, rax
call method.std::__new_allocator_wchar_t_.__new_allocator__
nop
movabs rax, 0xffffffff00000000
and rax, rbx
mov rbx, rax
mov eax, ebx
mov rbx, rax
mov edx, 1
mov rcx, rbx
mov rax, qword [sym.imp.USER32.dll_MonitorFromPoint]
call rax
mov qword [rbp + 0xa8], rax
cmp qword [rbp + 0xa8], 0
jne 0x14000322b
mov ebx, 0
jmp 0x140003414
mov dword [rbp], 0x48
mov rdx, rbp
mov rax, qword [rbp + 0xa8]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_GetMonitorInfoA]
call rax
test eax, eax
sete al
test al, al
je 0x14000326a
mov rax, qword [0x1401190b8]
mov rcx, rax
call sym.GdiplusShutdown
mov ebx, 0
jmp 0x140003414
mov edx, dword [rbp + 0xc]
mov eax, dword [rbp + 4]
sub edx, eax
mov dword [rbp + 0xa4], edx
mov edx, dword [rbp + 0x10]
mov eax, dword [rbp + 8]
sub edx, eax
mov dword [rbp + 0xa0], edx
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_GetDC]
call rax
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0x98]
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_CreateCompatibleDC]
call rax
mov qword [rbp + 0x90], rax
mov ecx, dword [rbp + 0xa0]
mov edx, dword [rbp + 0xa4]
mov rax, qword [rbp + 0x98]
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
call rax
mov qword [rbp + 0x88], rax
mov rdx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x90]
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_SelectObject]
call rax
mov qword [rbp + 0x80], rax
mov ecx, dword [rbp + 0xa4]
mov rax, qword [rbp + 0x90]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov rdx, qword [rbp + 0x98]
mov qword [rsp + 0x28], rdx
mov edx, dword [rbp + 0xa0]
mov dword [rsp + 0x20], edx
mov r9d, ecx
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_BitBlt]
call rax
mov rdx, qword [rbp + 0x88]
lea rax, [rbp - 0x20]
mov r8d, 0
mov rcx, rax
call method.Gdiplus::Bitmap.Bitmap_HBITMAP____HPALETTE___
lea rax, [rbp - 0x30]
mov rdx, rax
lea rax, str.image_jpeg
mov rcx, rax
call sym.GetEncoderClsid_wchar_t_const___GUID_
lea rax, [rbp + 0x50]
mov rcx, rax
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___.c_str___const
mov rdx, rax
lea rcx, [rbp - 0x30]
lea rax, [rbp - 0x20]
mov r9d, 0
mov r8, rcx
mov rcx, rax
call method.Gdiplus::Image.Save_wchar_t_const___GUID_const__Gdiplus::EncoderParameters_const_
mov rdx, qword [rbp + 0x80]
mov rax, qword [rbp + 0x90]
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_SelectObject]
call rax
mov rax, qword [rbp + 0x88]
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_DeleteObject]
call rax
mov rax, qword [rbp + 0x90]
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_DeleteDC]
call rax
mov rax, qword [rbp + 0x98]
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_ReleaseDC]
call rax
lea rax, [rbp - 0x20]
mov rcx, rax
call method.Gdiplus::Bitmap.Bitmap__
mov ebx, 1
lea rax, [rbp + 0x50]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
cmp ebx, 1
jmp 0x14000346c
add rsp, 0x130
pop rbx
pop rsi
pop rbp
ret