Function at 0x4511a8
Capabilities:
Open clipboard
Read clipboard data
Write clipboard data

Disassembly:
sub esp, 8
pushal
mov edi, eax
mov ebp, ebx
mov eax, 0
mov ebx, 0
mov dword [esp + 0x24], ebx
movsx esi, word [edi + 0x8e]
cmp dword [edi + 0x7c], 3
je 0x4511ee
cmp dword [edi + 0x7c], 0
sete al
movzx eax, al
movsx ebx, word [edi + eax*2 + 0x8c]
mov eax, dword [edi + 0x7c]
movsx eax, word [edi + eax*2 + 0x8c]
sub ebx, eax
mov dword [esp + 0x24], ebx
mov eax, ebp
cmp eax, 0x18
jne 0x451219
movzx eax, byte [edi + 0x7b]
and eax, 0x80
cmp eax, 0
jne 0x451465
jmp 0x45121e
mov eax, dword [edi + 0x5b]
push eax
call sub.USER32.dll_OpenClipboard
cmp eax, 0
jne 0x451225
jmp 0x451279
cmp eax, 3
jne 0x45128c
cmp ebx, 0
jne 0x451209
jmp 0x451279
call sub.USER32.dll_EmptyClipboard
inc ebx
push ebx
push 2
call sub.KERNEL32.dll_GlobalAlloc
mov dword [esp + 0x20], eax
push eax
call sub.KERNEL32.dll_GlobalLock
mov edx, eax
mov eax, edx
mov ebx, dword [edi + 0x80]
mov ecx, dword [edi + 0x7c]
movsx ecx, word [edi + ecx*2 + 0x8c]
lea ebx, [ebx + ecx]
mov ecx, dword [esp + 0x24]
call fcn.00420803
mov byte [edx + ecx], 0
mov ebx, dword [esp + 0x20]
push ebx
call sub.KERNEL32.dll_GlobalUnlock
push ebx
push 1
call sub.USER32.dll_SetClipboardData
call sub.USER32.dll_CloseClipboard
cmp ebp, 3
jne 0x45130e
mov ebp, 0
jmp 0x45130e
cmp eax, 8
je 0x45129b
cmp eax, 0x16
je 0x45129b
cmp eax, 0x7f
jne 0x4512af
movzx eax, byte [edi + 0x7b]
and eax, 0x80
cmp eax, 0
jne 0x451465
jmp 0x45130e
movzx eax, byte [edi + 0x7b]
and eax, 0x80
cmp eax, 0
jne 0x451465
mov eax, dword [edi + 0x63]
movzx eax, byte [eax + 0x3c]
cmp ebp, eax
jae 0x451303
cmp ebp, 0xa
je 0x451465
cmp ebp, 0xd
je 0x451465
cmp ebp, 9
je 0x451465
cmp ebp, 0x1b
je 0x451465
push 0
call sub.USER32.dll_MessageBeep
jmp 0x451465
cmp ebp, 0
jne 0x45131d
jmp 0x451330
mov eax, dword [edi + 0x63]
movzx eax, byte [eax + 0x3d]
cmp ebp, eax
ja 0x4512cc
cmp dword [edi + 0x7c], 3
jne 0x4512fc
jmp 0x451330
cmp ebp, 8
je 0x45132b
jmp 0x451330
mov eax, edi
call fcn.00451014
mov esi, eax
cmp ebp, 0x7f
jne 0x451316
mov ebp, 0
mov eax, ebp
cmp eax, 8
jne 0x451356
mov eax, edi
call fcn.0045185c
jmp 0x45142c
mov eax, dword [edi + 0x5b]
push eax
call sub.USER32.dll_OpenClipboard
cmp eax, 0
jne 0x45136c
jmp 0x45142c
cmp eax, 0x16
jne 0x451394
push 1
call sub.USER32.dll_IsClipboardFormatAvailable
cmp eax, 0
jne 0x451343
jmp 0x45142c
push 1
call sub.USER32.dll_GetClipboardData
mov esi, eax
push esi
call sub.KERNEL32.dll_GlobalLock
mov ebx, eax
mov eax, edi
call fcn.0045167c
push esi
call sub.KERNEL32.dll_GlobalUnlock
call sub.USER32.dll_CloseClipboard
jmp 0x45142c
cmp eax, 0x18
je 0x45142c
cmp eax, 0
je 0x45142c
cmp eax, 0x7f
jne 0x4513b0
mov ebp, 0x20
movzx eax, byte [edi + 0x7b]
mov ebx, eax
and ebx, 0x20
cmp ebx, 0
je 0x4513cc
mov eax, ebp
mov eax, ebp
call fcn.0041b1f0
movsx ebp, al
jmp 0x451417
and eax, 0x10
cmp eax, 0
jne 0x451406
jmp 0x451417
mov eax, dword [edi + 0x80]
mov al, byte [eax + esi - 1]
call fcn.0041b22c
cmp eax, 0
jne 0x451417
mov eax, dword [edi + 0x80]
cmp byte [eax + esi - 1], 0x27
je 0x451417
mov eax, dword [edi + 0x80]
cmp byte [eax + esi - 1], 0xc0
jae 0x451417
jmp 0x45140b
cmp esi, 0
jne 0x4513d6
mov eax, ebp
mov eax, ebp
call fcn.0041b1f0
movsx ebp, al
mov eax, edi
mov ebx, ebp
call fcn.00450ae8
cmp eax, 0
jne 0x45142c
push 0
call sub.USER32.dll_MessageBeep
cmp byte [edi + 0x10], 0xf
jne 0x451451
mov eax, dword [edi + 0x80]
push eax
movsx eax, word [edi + 0x84]
push eax
push 0x240d
mov eax, dword [edi + 0x5b]
push eax
call sub.USER32.dll_SendMessageA
jmp 0x451465
mov eax, dword [edi + 0xc]
and eax, 0x800
cmp eax, 0
je 0x451465
mov eax, edi
call fcn.00435f68
popal
add esp, 8
ret