Function at 0x1005465
Capabilities:
Read clipboard data
Write clipboard data

Disassembly:
sub esp, 0xa8
push ebp
mov ebp, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 1
call ebp
test eax, eax
jne 0x100549a
push 2
call ebp
test eax, eax
jne 0x100549a
push 3
call ebp
test eax, eax
jne 0x100549a
push 0xe
call ebp
test eax, eax
jne 0x100549a
push 0xd
call ebp
test eax, eax
je 0x10054a9
push dword [0x1008428]
call fcn.01002a52
test eax, eax
jne 0x10054b0
xor eax, eax
jmp 0x10058b6
push edi
push 0x200
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x1c], eax
je 0x10058ae
push ebx
push esi
push dword [0x1008428]
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, eax
push ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push ebx
mov esi, eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push ebx
push dword [0x1008428]
mov dword [esp + 0x20], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push edi
push 1
push 1
push 0x40
push 0x40
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov ebx, eax
cmp ebx, edi
mov dword [esp + 0x20], ebx
jne 0x1005521
push 0x1002178
call fcn.01004bf7
pop ecx
push ebx
mov ebx, dword [sym.imp.GDI32.dll_SelectObject]
push esi
call ebx
push 0x40
mov dword [esp + 0x3c], eax
pop eax
push 0xff0062
push eax
push eax
push edi
push edi
push esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
call dword [sym.imp.GDI32.dll_PatBlt]
push 0xe
call ebp
test eax, eax
je 0x10055be
push 0xe
call dword [sym.imp.USER32.dll_GetClipboardData]
mov ebp, eax
cmp ebp, edi
je 0x10055b4
lea eax, [esp + 0x54]
push eax
push 0x64
push ebp
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
push esi
call dword [sym.imp.GDI32.dll_SaveDC]
push 7
push esi
call dword [sym.imp.GDI32.dll_SetMapMode]
push edi
push 0x40
push 0x40
push esi
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
push edi
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push esi
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
lea eax, [esp + 0x5c]
push eax
push ebp
push esi
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
jmp 0x100568c
push 0x100214c
jmp 0x100569f
push 3
call ebp
test eax, eax
je 0x10056b1
push 3
call dword [sym.imp.USER32.dll_GetClipboardData]
cmp eax, edi
mov dword [esp + 0x10], eax
je 0x10056aa
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebp, eax
cmp ebp, edi
je 0x100569a
push esi
call dword [sym.imp.GDI32.dll_SaveDC]
push dword [ebp]
push esi
call dword [sym.imp.GDI32.dll_SetMapMode]
mov ecx, dword [ebp + 4]
mov eax, dword [ebp + 8]
cmp ecx, eax
push edi
jl 0x1005636
shl eax, 6
cdq
idiv ecx
push eax
push 0x40
push esi
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
mov eax, dword [ebp + 8]
shl eax, 6
cdq
idiv dword [ebp + 4]
push edi
push 0x40
pop ecx
sub ecx, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
push edi
jmp 0x1005662
mov eax, ecx
shl eax, 6
cdq
idiv dword [ebp + 8]
push 0x40
push eax
push esi
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
mov eax, dword [ebp + 4]
shl eax, 6
cdq
idiv dword [ebp + 8]
push edi
push edi
push 0x40
pop ecx
sub ecx, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
push esi
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
push dword [ebp + 0xc]
push esi
call dword [sym.imp.GDI32.dll_PlayMetaFile]
test eax, eax
jne 0x1005682
push 0x1002134
call fcn.01004bf7
pop ecx
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push 0xffffffffffffffff
push esi
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp 0x100584a
push 0x1002114
call fcn.01004bf7
pop ecx
jmp 0x100584a
push 0x10020f8
jmp 0x100569f
push 2
call ebp
test eax, eax
je 0x1005729
push 2
call dword [sym.imp.USER32.dll_GetClipboardData]
mov ebp, eax
cmp ebp, edi
je 0x100584a
lea eax, [esp + 0x3c]
push eax
push 0x18
push ebp
call dword [sym.imp.GDI32.dll_GetObjectA]
push ebp
push dword [esp + 0x1c]
call ebx
mov ebp, dword [sym.imp.GDI32.dll_SetStretchBltMode]
push 3
push esi
mov dword [esp + 0x1c], eax
call ebp
push 0xcc0020
push dword [esp + 0x48]
mov dword [esp + 0x18], eax
push dword [esp + 0x48]
push edi
push edi
push dword [esp + 0x2c]
push 0x40
push 0x40
push edi
push edi
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
push dword [esp + 0x10]
push esi
call ebp
push dword [esp + 0x14]
push dword [esp + 0x1c]
call ebx
jmp 0x100584a
push 1
call ebp
test eax, eax
je 0x10057b6
push 1
call dword [sym.imp.USER32.dll_GetClipboardData]
cmp eax, edi
mov dword [esp + 0x10], eax
je 0x100584a
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push edi
mov ebp, eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_FillRect]
push 0x10020ec
push 0x22
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push 0x190
push edi
push edi
push edi
push 0xfffffffffffffffa
call dword [sym.imp.GDI32.dll_CreateFontA]
push eax
push esi
mov dword [esp + 0x24], eax
call ebx
mov dword [esp + 0x14], eax
push edi
lea eax, [esp + 0x2c]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push ebp
push esi
call dword [sym.imp.USER32.dll_DrawTextA]
push dword [esp + 0x14]
push esi
call ebx
push dword [esp + 0x1c]
jmp 0x100583a
push 0xd
call ebp
test eax, eax
je 0x100584a
push 0xd
call dword [sym.imp.USER32.dll_GetClipboardData]
cmp eax, edi
mov dword [esp + 0x10], eax
je 0x100584a
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push edi
mov ebp, eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_FillRect]
push 0x10020ec
push 0x22
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push 0x190
push edi
push edi
push edi
push 0xfffffffffffffffa
call dword [sym.imp.GDI32.dll_CreateFontA]
push eax
push esi
mov dword [esp + 0x1c], eax
call ebx
mov dword [esp + 0x1c], eax
push edi
lea eax, [esp + 0x2c]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push ebp
push esi
call dword [sym.imp.USER32.dll_DrawTextW]
push dword [esp + 0x1c]
push esi
call ebx
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [esp + 0x38]
push esi
call ebx
push esi
mov esi, dword [sym.imp.GDI32.dll_DeleteDC]
call esi
push dword [esp + 0x18]
call esi
mov edi, dword [esp + 0x24]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
mov esi, 0x200
push esi
push dword [esp + 0x28]
call dword [sym.imp.GDI32.dll_GetBitmapBits]
cmp eax, esi
pop esi
pop ebx
je 0x100588d
push 0x10020d4
call fcn.01004bf7
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
push dword [0x100842c]
call dword [sym.imp.USER32.dll_SetClipboardData]
push dword [esp + 0x18]
call dword [sym.imp.GDI32.dll_DeleteObject]
xor edi, edi
inc edi
call fcn.01002a8e
mov eax, edi
pop edi
pop ebp
add esp, 0xa8
ret