Function at 0x4686d0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x4c75d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x100
lea eax, [ebp - 0x108]
mov edi, ecx
push 0
push eax
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x10c], 0
call fcn.0042e03c
mov ecx, dword [edi + 0x1c]
add esp, 0xc
push ecx
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x468807
call dword [sym.imp.USER32.dll_EmptyClipboard]
mov ecx, dword [edi + 0x308]
mov eax, dword [edi + 0x310]
mov esi, ecx
cmp ecx, eax
jl 0x46873e
mov esi, eax
jle 0x46873e
mov eax, ecx
mov edx, dword [edi + 0x30c]
mov ecx, dword [edi + 0x314]
mov dword [ebp - 0x11c], edx
cmp edx, ecx
jl 0x468762
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x114], edx
jg 0x468768
mov dword [ebp - 0x114], ecx
cmp si, ax
ja 0x468801
sub eax, esi
inc eax
movzx eax, ax
movzx ebx, si
lea edi, [ebx*4]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x110], eax
lea ecx, [ecx]
mov dx, word [ebp - 0x114]
add dword [ebp - 0x10c], 2
cmp word [ebp - 0x11c], dx
ja 0x4687ec
mov eax, dword [ebp - 0x128]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x11c]
mov edx, dword [edi + edx]
mov esi, dword [ebp - 0x10c]
movzx eax, cx
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x114]
sub edx, ecx
inc edx
movzx edx, dx
xor ecx, ecx
test eax, eax
je 0x4687dc
mov ecx, dword [eax + 0x10]
add eax, 0x14
dec edx
lea esi, [esi + ecx + 1]
jne 0x4687d3
mov dword [ebp - 0x10c], esi
add edi, 4
dec dword [ebp - 0x110]
jne 0x468790
mov eax, dword [ebp - 0x10c]
test eax, eax
jne 0x46881a
call dword [sym.imp.USER32.dll_CloseClipboard]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042dbe7
mov esp, ebp
pop ebp
ret
inc eax
push eax
mov dword [ebp - 0x10c], eax
call fcn.0042dbdc
mov dword [ebp - 0x118], eax
mov byte [eax], 0
mov eax, dword [ebp - 0x120]
add esp, 4
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x120], eax
jmp 0x468850
mov cx, word [ebp - 0x114]
cmp word [ebp - 0x11c], cx
ja 0x4689dd
mov eax, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x114]
sub edx, eax
inc edx
movzx ebx, ax
movzx eax, dx
mov dword [ebp - 0x124], eax
nop
mov eax, ebx
shl eax, 0x10
or eax, dword [ebp - 0x110]
lea edx, [ebp - 0x130]
push edx
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x130], ecx
mov ecx, dword [ebp - 0x128]
mov edx, dword [ecx + 0x1c]
push eax
push 0x531
mov dword [ebp - 0x12c], 0
push edx
mov dword [ebp - 0x12c], 0x100
call dword [sym.imp.USER32.dll_SendMessageA]
cmp ebx, dword [ebp - 0x114]
je 0x468930
mov eax, 0x100
lea ecx, [ebp - 0x108]
jmp 0x4688e0
cmp byte [ecx], 0
je 0x4688eb
inc ecx
dec eax
jne 0x4688e0
jmp 0x468930
test eax, eax
je 0x468930
mov edx, 0x100
sub edx, eax
mov ecx, 0x100
sub ecx, edx
lea eax, [ebp + edx - 0x108]
je 0x46892c
mov edi, 0x4b83a8
lea esi, [ecx + edx + 0x7ffffeff]
sub edi, eax
test esi, esi
je 0x468928
mov dl, byte [eax + edi]
test dl, dl
je 0x468928
mov byte [eax], dl
inc eax
dec esi
dec ecx
jne 0x468914
jmp 0x46892c
test ecx, ecx
jne 0x46892d
dec eax
mov byte [eax], 0
mov ecx, dword [ebp - 0x10c]
xor eax, eax
test ecx, ecx
je 0x468944
cmp ecx, 0x7fffffff
jbe 0x468949
mov eax, 0x80070057
mov edi, dword [ebp - 0x10c]
test eax, eax
js 0x46898c
mov eax, dword [ebp - 0x118]
xor esi, esi
mov ecx, edi
test edi, edi
je 0x468979
cmp byte [eax], 0
je 0x468975
inc eax
dec ecx
jne 0x468961
mov esi, 0x80070057
xor edx, edx
mov eax, esi
jmp 0x46898e
test ecx, ecx
jne 0x468984
mov esi, 0x80070057
xor edx, edx
mov eax, esi
jmp 0x46898e
mov edx, edi
sub edx, ecx
mov eax, esi
jmp 0x46898e
xor edx, edx
test eax, eax
js 0x4689d0
mov eax, dword [ebp - 0x118]
mov ecx, edi
sub ecx, edx
lea eax, [edx + eax]
je 0x4689cc
mov esi, ecx
sub esi, edi
lea edi, [ebp - 0x108]
lea esi, [esi + edx + 0x7fffffff]
sub edi, eax
test esi, esi
je 0x4689c8
mov dl, byte [eax + edi]
test dl, dl
je 0x4689c8
mov byte [eax], dl
inc eax
dec esi
dec ecx
jne 0x4689b4
jmp 0x4689cc
test ecx, ecx
jne 0x4689cd
dec eax
mov byte [eax], 0
inc ebx
dec dword [ebp - 0x124]
jne 0x468880
mov edi, dword [ebp - 0x10c]
xor eax, eax
test edi, edi
je 0x4689f1
cmp edi, 0x7fffffff
jbe 0x4689f6
mov eax, 0x80070057
test eax, eax
js 0x468a33
mov eax, dword [ebp - 0x118]
xor esi, esi
mov ecx, edi
test edi, edi
je 0x468a20
cmp byte [eax], 0
je 0x468a1c
inc eax
dec ecx
jne 0x468a08
mov esi, 0x80070057
xor edx, edx
mov eax, esi
jmp 0x468a35
test ecx, ecx
jne 0x468a2b
mov esi, 0x80070057
xor edx, edx
mov eax, esi
jmp 0x468a35
mov edx, edi
sub edx, ecx
mov eax, esi
jmp 0x468a35
xor edx, edx
test eax, eax
js 0x468a7c
mov eax, dword [ebp - 0x118]
mov ecx, edi
sub ecx, edx
lea eax, [edx + eax]
je 0x468a78
mov esi, ecx
sub esi, edi
mov edi, 0x4b83ac
lea esi, [esi + edx + 0x7fffffff]
sub edi, eax
lea ebx, [ebx]
test esi, esi
je 0x468a74
mov dl, byte [edi + eax]
test dl, dl
je 0x468a74
mov byte [eax], dl
inc eax
dec esi
dec ecx
jne 0x468a60
jmp 0x468a78
test ecx, ecx
jne 0x468a79
dec eax
mov byte [eax], 0
mov eax, 1
add dword [ebp - 0x110], eax
sub dword [ebp - 0x120], eax
jne 0x468850
mov edi, dword [ebp - 0x10c]
mov ebx, dword [ebp - 0x118]
cmp edi, 0x7fffffff
ja 0x468aca
xor edx, edx
mov ecx, edi
mov eax, ebx
test edi, edi
je 0x468abf
cmp byte [eax], dl
je 0x468abb
inc eax
dec ecx
jne 0x468ab1
jmp 0x468abf
test ecx, ecx
jne 0x468b34
mov edx, 0x80070057
xor eax, eax
test edx, edx
jns 0x468acc
xor eax, eax
inc eax
push eax
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x468801
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, eax
test edi, edi
je 0x468afe
cmp edi, 0x7fffffff
ja 0x468afe
mov edx, ebx
mov eax, edi
call fcn.004a0810
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.0042dbe7
mov esp, ebp
pop ebp
ret
mov eax, edi
sub eax, ecx
jmp 0x468ac6