Function at 0x5167e0
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
mov eax, dword [0x7616d8]
mov dword [ebp - 0xd0], eax
mov ecx, dword [0x7616e4]
mov dword [ebp - 0xbc], ecx
mov edx, dword [0x7638f4]
mov dword [ebp - 0xb0], edx
mov eax, dword [0x765530]
mov dword [ebp - 0xc4], eax
mov ecx, dword [0x74e82c]
mov dword [ebp - 0xf0], ecx
mov edx, dword [0x7567cc]
push edx
call dword [sym.imp.USER32.dll_OpenClipboard]
cmp eax, 1
jne 0x516bef
push 2
call dword [sym.imp.USER32.dll_GetClipboardData]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
je 0x516be9
lea eax, [ebp - 0xec]
push eax
push 0x2c
mov ecx, dword [ebp - 0xfc]
push ecx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xf8], edx
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0x9c
mov dword [ebp - 0xc8], 0
jmp 0x5168a1
mov ecx, dword [ebp - 0xc8]
add ecx, 1
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc8]
cmp edx, dword [ebp - 4]
jge 0x5168bc
mov eax, dword [ebp - 0xc8]
mov byte [ebp + eax - 0xa4], 0
jmp 0x516892
mov dword [ebp - 0x3c], 0x18
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x34], edx
mov word [ebp - 0x80], 0x9c
mov dword [ebp - 0x7c], 0x1c0000
lea eax, [ebp - 0xa4]
push eax
push 0
push 0
push str.DISPLAY
call dword [sym.imp.GDI32.dll_CreateDCA]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xfc]
push edx
mov eax, dword [ebp - 0xf4]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0xf8]
mov dword [0x7616d8], ecx
mov edx, dword [ebp - 8]
mov dword [0x7616e4], edx
mov dword [0x7638f4], 0x4b
mov dword [0x765530], 0x4b
mov dword [0x74e82c], 0
mov eax, dword [0x68b274]
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x104]
push ecx
push str.Glue__d
push 0x766140
mov edx, dword [0x68b274]
add edx, 1
mov dword [0x68b274], edx
call fcn.00667e70
add esp, 0xc
call fcn.0041eca0
test eax, eax
jne 0x516bdc
mov eax, dword [ebp - 0xd0]
mov dword [0x7616d8], eax
mov ecx, dword [ebp - 0xbc]
mov dword [0x7616e4], ecx
mov edx, dword [ebp - 0xb0]
mov dword [0x7638f4], edx
mov eax, dword [ebp - 0xc4]
mov dword [0x765530], eax
mov ecx, dword [ebp - 0xf0]
mov dword [0x74e82c], ecx
mov edx, dword [0x74e83c]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00423fa0
add esp, 4
test eax, eax
jne 0x516bdc
mov dword [ebp - 0xb8], 0
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 0x510]
mov dword [ebp - 0x100], edx
push 2
mov eax, dword [ebp - 8]
push eax
push str.Converting_Clip_Data
call fcn.00518a10
mov dword [ebp - 0xcc], 0
jmp 0x516a39
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 8]
jge 0x516b50
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00518c30
test eax, eax
je 0x516a61
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xc0], 0
jmp 0x516a88
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xc0]
cmp ecx, dword [ebp - 0xf8]
jge 0x516b39
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
call dword [sym.imp.GDI32.dll_GetPixel]
mov dword [ebp - 0xac], eax
mov edx, dword [ebp - 0xac]
shr edx, 0x10
and edx, 0xff
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x100]
mov byte [ecx + eax*4 + 2], dl
mov edx, dword [ebp - 0xac]
shr edx, 8
and edx, 0xff
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x100]
mov byte [ecx + eax*4 + 1], dl
mov edx, dword [ebp - 0xac]
and edx, 0xff
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x100]
mov byte [ecx + eax*4], dl
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x100]
mov byte [eax + edx*4 + 3], 0xff
mov ecx, dword [ebp - 0xb4]
add ecx, 1
mov dword [ebp - 0xb4], ecx
jmp 0x516a79
mov edx, dword [ebp - 0xb8]
add edx, dword [ebp - 0xf8]
mov dword [ebp - 0xb8], edx
jmp 0x516a2a
call fcn.00518ff0
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00424060
add esp, 4
mov dword [ebp - 0xc8], 0
jmp 0x516b7f
mov ecx, dword [ebp - 0xc8]
add ecx, 1
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc8]
cmp edx, dword [0x765d60]
jge 0x516bdc
mov eax, dword [ebp - 0xc8]
imul eax, eax, 0x28
mov ecx, dword [0x7617bc]
mov edx, dword [ecx + eax + 4]
cmp edx, dword [ebp - 0xa8]
jne 0x516bda
mov eax, dword [ebp - 0xc8]
imul eax, eax, 0x28
mov ecx, dword [0x7617bc]
mov word [ecx + eax + 8], 1
push 0
push 0
mov edx, dword [ebp - 0xc8]
imul edx, edx, 0x28
mov eax, dword [0x7617bc]
mov ecx, dword [eax + edx]
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x516b70
mov edx, dword [ebp - 0xf4]
push edx
call dword [sym.imp.GDI32.dll_DeleteDC]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov esp, ebp
pop ebp
ret