Function at 0x46ca50
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov rax, rsp
sub rsp, 0xd8
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax - 8], r12
xor ebx, ebx
mov r12, rcx
call qword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [rbx + 0x4d]
mov rsi, rax
mov qword [rsp + 0x70], rax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [rbx + 0x4f]
mov dword [rsp + 0x8c], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [rbx + 0x4c]
add eax, dword [rsp + 0x8c]
mov dword [rsp + 0x94], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [rbx + 0x4e]
mov dword [rsp + 0x88], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movzx edi, word [r12 + 0x18]
add eax, dword [rsp + 0x88]
mov rcx, qword [r12 + 0xb0]
lea edx, [rbx - 0x10]
mov dword [rsp + 0x90], eax
mov eax, dword [r12 + 0x24]
shr eax, 1
sub di, ax
call qword [sym.imp.USER32.dll_GetWindowLongW]
bt eax, 0x12
jae 0x46cb01
lea ecx, [rbx + 0x21]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea r11d, [rax - 1]
jmp 0x46cb04
mov r11d, ebx
mov rcx, qword [r12 + 0xb0]
movsx eax, di
movzx edi, word [r12 + 0x1c]
add eax, r11d
mov edx, 0xfffffff0
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + 0x20]
shr eax, 1
sub di, ax
call qword [sym.imp.USER32.dll_GetWindowLongW]
bt eax, 0x12
jae 0x46cb47
mov ecx, SafeArrayAllocDescriptor
call qword [sym.imp.USER32.dll_GetSystemMetrics]
sub eax, 1
jmp 0x46cb49
mov eax, ebx
mov ecx, dword [r12 + 0x24]
mov qword [rsp + 0xe8], rbp
movsx edx, di
add edx, eax
mov eax, dword [rsp + 0x7c]
mov qword [rsp + 0xc8], r13
add ecx, eax
mov eax, dword [r12 + 0x20]
mov dword [rsp + 0x78], edx
mov dword [rsp + 0x84], ecx
lea ecx, [rdx + rax]
lea r8, [rsp + 0x88]
mov dword [rsp + 0x80], ecx
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x98]
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xb8], r15
call qword [sym.imp.USER32.dll_IntersectRect]
mov ebp, dword [rsp + 0xa0]
mov r13d, dword [rsp + 0xa4]
mov rcx, rsi
sub ebp, dword [rsp + 0x98]
sub r13d, dword [rsp + 0x9c]
mov dword [rsp + 0x64], ebp
mov dword [rsp + 0x60], r13d
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
mov rdi, rax
mov qword [rsp + 0x68], rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r8d, r13d
mov edx, ebp
mov rcx, rdi
mov r14, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
test rax, rax
mov r15, rax
je 0x46ccf5
mov eax, dword [rsp + 0x7c]
mov edi, ebx
mov esi, ebx
test eax, eax
jns 0x46cc1f
cdq
mov esi, eax
xor esi, edx
sub esi, edx
mov eax, dword [rsp + 0x78]
test eax, eax
jns 0x46cc2e
cdq
mov edi, eax
xor edi, edx
sub edi, edx
mov rdx, r15
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov r13d, 0xcc0020
call fcn.00488f80
cmp eax, 2
mov ebp, eax
je 0x46cc83
cmp eax, 5
je 0x46cc83
lea rcx, str.WinDVDClass
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
jne 0x46cc83
lea ecx, [rax + 0x50]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cmp eax, 1
jle 0x46cc7d
cmp ebp, 3
je 0x46cc83
cmp ebp, 4
je 0x46cc83
mov r13d, 0x40cc0020
mov ecx, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x64]
mov rax, qword [r12 + 0x78]
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.GDI32.dll_StretchBlt]
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, r15
mov ecx, 2
call qword [sym.imp.USER32.dll_SetClipboardData]
mov ecx, 1
test rax, rax
cmovne ebx, ecx
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rcx, r14
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.USER32.dll_ReleaseDC]
mov r15, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0xf0]
mov rbp, qword [rsp + 0xe8]
mov eax, ebx
mov rbx, qword [rsp + 0xe0]
add rsp, 0xd8
ret