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

Disassembly:
sub esp, 0xc
pushal
mov edi, eax
mov ecx, ebx
mov dword [esp + 0x20], ecx
mov eax, 0
mov ebx, 0
mov dword [esp + 0x28], ebx
movsx esi, word [edi + 0x92]
cmp dword [edi + 0x80], 3
je 0x469aa7
cmp dword [edi + 0x80], 0
sete al
movzx eax, al
movsx ebx, word [edi + eax*2 + 0x90]
mov eax, dword [edi + 0x80]
movsx eax, word [edi + eax*2 + 0x90]
sub ebx, eax
mov dword [esp + 0x28], ebx
mov eax, ecx
cmp eax, 0x18
jne 0x469ad2
movzx eax, byte [edi + 0x7f]
and eax, 0x80
cmp eax, 0
jne 0x469d24
jmp 0x469ad7
mov eax, dword [edi + 0x5b]
push eax
call sub.USER32.dll_OpenClipboard
cmp eax, 0
jne 0x469ade
jmp 0x469b35
cmp eax, 3
jne 0x469b4c
cmp ebx, 0
jne 0x469ac2
jmp 0x469b35
call sub.USER32.dll_EmptyClipboard
inc ebx
push ebx
push 2
call sub.KERNEL32.dll_GlobalAlloc
mov dword [esp + 0x24], eax
push eax
call sub.KERNEL32.dll_GlobalLock
mov edx, eax
mov eax, edx
mov ebx, dword [edi + 0x84]
mov ecx, dword [edi + 0x80]
movsx ecx, word [edi + ecx*2 + 0x90]
lea ebx, [ebx + ecx]
mov ecx, dword [esp + 0x28]
call fcn.0042f617
mov byte [edx + ecx], 0
mov ebx, dword [esp + 0x24]
push ebx
call sub.KERNEL32.dll_GlobalUnlock
push ebx
push 1
call sub.USER32.dll_SetClipboardData
call sub.USER32.dll_CloseClipboard
mov ecx, dword [esp + 0x20]
cmp ecx, 3
jne 0x469bce
mov ecx, 0
jmp 0x469bce
cmp eax, 8
je 0x469b5b
cmp eax, 0x16
je 0x469b5b
cmp eax, 0x7f
jne 0x469b6f
movzx eax, byte [edi + 0x7f]
and eax, 0x80
cmp eax, 0
jne 0x469d24
jmp 0x469bce
movzx eax, byte [edi + 0x7f]
and eax, 0x80
cmp eax, 0
jne 0x469d24
mov eax, dword [edi + 0x63]
movzx eax, byte [eax + 0x3c]
cmp ecx, eax
jae 0x469bc3
cmp ecx, 0xa
je 0x469d24
cmp ecx, 0xd
je 0x469d24
cmp ecx, 9
je 0x469d24
cmp ecx, 0x1b
je 0x469d24
push 0
call sub.USER32.dll_MessageBeep
jmp 0x469d24
cmp ecx, 0
jne 0x469be0
jmp 0x469bf3
mov eax, dword [edi + 0x63]
movzx eax, byte [eax + 0x3d]
cmp ecx, eax
ja 0x469b8c
cmp dword [edi + 0x80], 3
jne 0x469bbc
jmp 0x469bf3
cmp ecx, 8
je 0x469bee
jmp 0x469bf3
mov eax, edi
call fcn.004698b4
mov esi, eax
cmp ecx, 0x7f
jne 0x469bd9
mov ecx, 0
mov eax, ecx
cmp eax, 8
jne 0x469c19
mov eax, edi
call fcn.0046a128
jmp 0x469ceb
mov eax, dword [edi + 0x5b]
push eax
call sub.USER32.dll_OpenClipboard
cmp eax, 0
jne 0x469c2f
jmp 0x469ceb
cmp eax, 0x16
jne 0x469c57
push 1
call sub.USER32.dll_IsClipboardFormatAvailable
cmp eax, 0
jne 0x469c06
jmp 0x469ceb
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.00469f3c
push esi
call sub.KERNEL32.dll_GlobalUnlock
call sub.USER32.dll_CloseClipboard
jmp 0x469ceb
cmp eax, 0x18
je 0x469ceb
cmp eax, 0
je 0x469ceb
cmp eax, 0x7f
jne 0x469c73
mov ecx, 0x20
movzx eax, byte [edi + 0x7f]
mov ebx, eax
and ebx, 0x20
cmp ebx, 0
je 0x469c8d
mov eax, ecx
call fcn.00429b94
movsx ecx, al
jmp 0x469cd6
and eax, 0x10
cmp eax, 0
jne 0x469cc7
jmp 0x469cd6
mov eax, dword [edi + 0x84]
mov al, byte [eax + esi - 1]
call fcn.00429bd0
cmp eax, 0
jne 0x469cd6
mov eax, dword [edi + 0x84]
cmp byte [eax + esi - 1], 0x27
je 0x469cd6
mov eax, dword [edi + 0x84]
cmp byte [eax + esi - 1], 0xc0
jae 0x469cd6
jmp 0x469ccc
cmp esi, 0
jne 0x469c97
mov eax, ecx
call fcn.00429b94
movsx ecx, al
mov eax, edi
mov ebx, ecx
call fcn.00469348
cmp eax, 0
jne 0x469ceb
push 0
call sub.USER32.dll_MessageBeep
cmp byte [edi + 0x10], 0xf
jne 0x469d10
mov eax, dword [edi + 0x84]
push eax
movsx eax, word [edi + 0x88]
push eax
push 0x240d
mov eax, dword [edi + 0x5b]
push eax
call sub.USER32.dll_SendMessageA
jmp 0x469d24
mov eax, dword [edi + 0xc]
and eax, 0x800
cmp eax, 0
je 0x469d24
mov eax, edi
call fcn.0044d510
popal
add esp, 0xc
ret