Function at 0x464317
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [sym.imp.USER32.dll_GetWindowLongA]
push edi
push 4
push ebx
call esi
mov edi, eax
mov dword [ebp - 0x18], edi
test edi, edi
je 0x46463d
push 0
push ebx
call esi
mov dword [ebp + 8], eax
test eax, eax
je 0x46463d
push 0x10
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
mov dword [ebp - 0x10], eax
call fcn.0046bf87
test eax, eax
jne 0x46463d
push 1
call fcn.0044bc76
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edi, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
sub ecx, dword [eax]
sub edx, dword [eax + 4]
mov dword [ebp - 8], edx
cmp ecx, 0x240
jle 0x46439b
mov eax, 0x8ca00
cdq
idiv ecx
mov esi, eax
jmp 0x46439d
xor esi, esi
mov eax, dword [0x49cd74]
test eax, eax
je 0x4643ad
push esi
push eax
call fcn.0046ba5b
mov ecx, dword [ebp - 8]
cmp ecx, 0x360
jle 0x4643c2
mov eax, 0xd2f00
cdq
idiv ecx
jmp 0x4643c4
xor eax, eax
test eax, eax
je 0x4643d5
test esi, esi
jne 0x4643d0
mov esi, eax
jmp 0x4643d5
cmp eax, esi
cmovl esi, eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, eax
mov dword [ebp - 0x14], 0x3e8
mov dword [ebp - 0xc], ecx
mov eax, dword [ecx + 8]
mov dword [ebp - 8], eax
test eax, eax
je 0x464405
test esi, esi
je 0x464403
imul eax, esi
mov esi, 0x3e8
cdq
idiv esi
mov esi, eax
push esi
push dword [ebp + 0xc]
mov dword [ecx + 8], esi
push edi
push ebx
call fcn.00463826
mov ecx, dword [ebp - 8]
push dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 8], ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov esi, dword [ebp - 0x10]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp + 8], eax
mov dword [eax], 8
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
imul eax, ecx, 0x9ec
mov ecx, 0x90
cdq
idiv ecx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [edx + 4], eax
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 4]
mov ecx, 0x90
imul eax, eax, 0x9ec
cdq
idiv ecx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [edx + 8], eax
test ecx, ecx
je 0x46449f
mov eax, dword [edx + 4]
imul eax, ecx
cdq
idiv dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov dword [edx + 4], eax
mov eax, dword [edx + 8]
imul eax, ecx
mov ecx, 0x3e8
cdq
idiv ecx
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
push esi
mov dword [edx + 0xc], eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [0x49cd74]
test eax, eax
je 0x4644bf
mov ecx, dword [ebp - 8]
push ecx
push eax
call fcn.0046ba5b
lea eax, [ebp + 8]
push eax
push dword [ebp + 0xc]
push 0
push edi
push ebx
call fcn.00463f3f
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x464602
mov eax, dword [0x49cd7c]
test eax, eax
je 0x464602
push eax
push dword [0x49cd74]
call dword [sym.imp.GDI32.dll_SelectObject]
lea ecx, [ebp - 0x30]
mov dword [ebp + 0xc], eax
push ecx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
push dword [0x49d9fc]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x464602
call dword [sym.imp.USER32.dll_EmptyClipboard]
cmp dword [ebp - 4], 0
je 0x464537
push esi
push 3
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
je 0x464537
and dword [ebp - 4], 0
xor esi, esi
push dword [ebp + 0xc]
push 2
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
je 0x4645fd
push dword [0x49cd74]
and dword [0x49cd78], 0
and dword [0x49cd7c], 0
call dword [sym.imp.GDI32.dll_DeleteObject]
and dword [0x49cd74], 0
cmp dword [edi + 0x1de], 0
je 0x4645f2
push ebx
call dword [sym.imp.USER32.dll_GetDC]
push 0
push dword [edi + 0x1e6]
mov dword [ebp + 0xc], eax
push eax
call dword [sym.imp.GDI32.dll_SelectPalette]
push dword [edi + 0x1de]
push 9
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
je 0x4645d8
xor eax, eax
push eax
push 0xffffffffffffffff
push 0x6c
push edi
push ebx
mov dword [edi + 0x1de], eax
mov dword [edi + 0x1e6], eax
call fcn.00434e3e
push 0
push 0xffffffffffffffff
push 0x6a
push edi
push ebx
call fcn.00434e3e
push 0
push 0xffffffffffffffff
push 0x6e
push edi
push ebx
call fcn.00434e3e
mov edi, dword [ebp + 0xc]
jmp 0x4645ea
push 0
push dword [edi + 0x1de]
mov edi, dword [ebp + 0xc]
push edi
call dword [sym.imp.GDI32.dll_SelectPalette]
push edi
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
xor ebx, ebx
inc ebx
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x464605
mov ebx, dword [ebp + 8]
jmp 0x4645f5
mov ebx, dword [ebp + 8]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 4]
test eax, eax
je 0x46461c
push eax
call dword [sym.imp.GDI32.dll_DeleteMetaFile]
test esi, esi
je 0x464627
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
test ebx, ebx
je 0x464630
call fcn.004590f5
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x46463d
push eax
call fcn.00453659
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8