Function at 0x65eea0
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x69c560
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xdc
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [ebp - 0x18], esi
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x10], esp
cmp eax, ebx
je 0x65eee5
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
jne 0x65ef01
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], ebx
jmp 0x65ef0b
xor ebx, ebx
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_EnumClipboardFormats]
cmp eax, ebx
mov dword [ebp - 0x14], eax
je 0x65f0a9
cmp eax, 2
mov dword [ebp - 0xe8], eax
je 0x65ef0b
cmp eax, 3
je 0x65ef0b
cmp eax, 9
je 0x65ef0b
cmp eax, 0x80
je 0x65ef0b
cmp eax, 0x83
je 0x65ef0b
cmp eax, 0x82
je 0x65ef0b
mov edi, eax
cmp edi, 0x200
jb 0x65ef5c
cmp edi, 0x2ff
jbe 0x65ef0b
cmp edi, 0xe
jbe 0x65ef75
lea ecx, [ebp - 0xe4]
push 0x64
push ecx
push edi
call dword [sym.imp.USER32.dll_GetClipboardFormatNameW]
test eax, eax
jne 0x65ef7c
mov word [ebp - 0xe4], bx
push edi
call dword [sym.imp.USER32.dll_GetClipboardData]
mov ebx, eax
test ebx, ebx
je 0x65ef09
mov eax, dword [ebp - 0x14]
cmp eax, 0xe
je 0x65efe8
cmp eax, 0x8e
je 0x65efe8
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalSize]
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push esi
push 0x2002
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, esi
mov esi, edi
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call esi
mov eax, dword [ebp - 0x1c]
push eax
call esi
mov esi, dword [ebp - 0x18]
jmp 0x65eff4
push 0
push ebx
call dword [sym.imp.GDI32.dll_CopyMetaFileW]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0xc]
test eax, eax
jne 0x65f03b
mov ecx, dword [esi + 0x1c]
push 0xd8
lea edx, [esi + 0x18]
push ecx
push edx
call sub.MFC42u.DLL_CPlex::Create
mov ecx, dword [esi + 0x1c]
lea edx, [ecx + ecx*2]
dec ecx
lea edx, [edx + edx*8]
lea eax, [eax + edx*8 - 0xd4]
test ecx, ecx
jl 0x65f03b
mov edx, dword [esi + 0x14]
dec ecx
mov dword [eax], edx
mov dword [esi + 0x14], eax
sub eax, 0xd8
jmp 0x65f021
mov edx, dword [esi + 0x14]
mov ecx, 0x34
mov ebx, 1
mov eax, dword [edx]
mov dword [esi + 0x14], eax
mov dword [edx + 4], edi
mov dword [edx], 0
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
lea esi, [edx + 8]
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov ecx, ebx
dec ebx
test ecx, ecx
je 0x65f075
add esi, 0xd0
jmp 0x65f066
lea edi, [edx + 8]
mov ecx, 0x34
lea esi, [ebp - 0xe8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x65f09b
mov dword [eax], edx
mov dword [ecx + 0xc], edx
mov esi, ecx
jmp 0x65ef09
mov esi, dword [ebp - 0x18]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], edx
jmp 0x65ef09
call dword [sym.imp.USER32.dll_CloseClipboard]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret