Function at 0x140102d60
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x250
mov rax, qword [0x14039e2e8]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov r13, rcx
xor bl, bl
mov rcx, qword [0x1403c4508]
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x140102fc8
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov edx, 7
lea rcx, str.Ignore
call fcn.14015ab40
movzx ecx, word [0x1403c475c]
mov rdx, rax
call qword [sym.imp.USER32.dll_SetClipboardData]
xor r9b, r9b
mov r12d, 0xffffffff
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x20], rax
xor edi, edi
mov ebp, edi
test rax, rax
jle 0x140102fbe
mov r15d, edi
mov rcx, rax
mov r14d, edi
mov rdx, rax
nop dword [rax]
test r14, r14
js 0x140103025
cmp r15, rcx
jge 0x140103025
mov rsi, qword [r13 + 8]
mov rax, rcx
add rsi, r14
je 0x140102e8b
mov r8, qword [rsi + 0x10]
test r8, r8
je 0x140102e8b
movzx edx, word [rsi + 8]
cmp dx, 1
je 0x140102e47
cmp dx, 0xd
je 0x140102e47
cmp dx, 0xf
mov rdx, qword [rsp + 0x20]
jne 0x140102e8b
mov r12d, ebp
jmp 0x140102e8b
mov rcx, r8
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rbx, rax
mov rcx, qword [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov rdx, rax
mov rcx, rbx
call fcn.14015ab40
movzx ecx, word [rsi + 8]
mov rdx, rax
call qword [sym.imp.USER32.dll_SetClipboardData]
mov rcx, qword [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov r9b, 1
mov rax, qword [r13 + 0x10]
mov rdx, qword [rsp + 0x20]
inc ebp
inc r15
add r14, 0x28
mov rcx, rax
movsxd rax, ebp
cmp rax, rdx
jl 0x140102e00
test r9b, r9b
jne 0x140102fbe
cmp r12d, 0xffffffff
jle 0x140102fbe
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
movsxd rax, r12d
test r12d, r12d
js 0x14010302b
cmp rax, qword [r13 + 0x10]
jge 0x14010302b
lea rcx, [rax + rax*4]
mov rax, qword [r13 + 8]
lea rbp, [rax + rcx*8]
test rbp, rbp
je 0x140102fb3
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x140102fb3
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rsi, rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov ebx, eax
test eax, eax
jle 0x140102f71
nop dword [rax]
mov r9d, 0x208
lea r8, [rsp + 0x30]
mov edx, edi
mov rcx, rsi
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
test eax, eax
je 0x140102f6b
lea rcx, [rsp + 0x30]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x140102f6b
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc140u.dll_COleCurrency::operator_]
lea rdx, [0x1402b0358]
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc140u.dll_COleCurrency::operator_]
inc edi
cmp edi, ebx
jl 0x140102f20
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc140u.dll_CMFCPropertyGridProperty::GetHierarchyLevel]
inc eax
movsxd rbx, eax
add rbx, rbx
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc140u.dll_Ordinal_4947]
mov rdx, rbx
mov rcx, rax
call fcn.14015ab40
mov rdx, rax
mov ecx, reloc.WS2_32.dll_listen
call qword [sym.imp.USER32.dll_SetClipboardData]
nop
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov bl, 1
call qword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x140102ff1
lea rdx, str.C:UsersScottBrAppDataLocalTempDitto_BuildClipboardSaveRestore.cpp
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__14]
mov r9d, 0xa9
mov r8, rax
xor edx, edx
lea rcx, str.CClipboardSaveRestore::Restore_failed_to_restore_clipboard
call fcn.14015b6c0
movzx eax, bl
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.1402654f0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call sub.mfc140u.dll_AfxRegDeleteKey
nop
call sub.mfc140u.dll_AfxRegDeleteKey
nop
int3