Function at 0x45b629
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov ebx, ecx
push dword [ebx + 0x2ac]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x45b7fe
push esi
push edi
call dword [sym.imp.USER32.dll_EmptyClipboard]
mov ecx, ebx
call fcn.00422dd7
mov esi, dword [sym.imp.USER32.dll_SetClipboardData]
mov edi, dword [ebp + 8]
test al, al
je 0x45b6bc
cmp dword [edi + 0x14], 0x10
mov edx, dword [edi + 0x10]
jb 0x45b66e
mov ecx, dword [edi]
jmp 0x45b670
mov ecx, edi
inc edx
call fcn.00430b06
mov dword [ebp - 4], eax
lea ecx, [eax + eax]
push ecx
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp + 8], eax
test eax, eax
je 0x45b73f
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
je 0x45b73f
cmp dword [edi + 0x14], 0x10
mov edx, dword [edi + 0x10]
jb 0x45b6ac
mov ecx, dword [edi]
jmp 0x45b6ae
mov ecx, edi
push dword [ebp - 4]
inc edx
push eax
call fcn.00430b3f
pop ecx
pop ecx
jmp 0x45b72f
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x1c]
call fcn.00458d13
cmp dword [edi + 0x14], 0x10
mov edx, eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 8], edx
jb 0x45b6d9
mov ecx, dword [edi]
jmp 0x45b6db
mov ecx, edi
push 0
push 0
inc eax
push eax
push ecx
push 0
push edx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 4], eax
lea ecx, [eax + eax]
push ecx
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp + 8], eax
test eax, eax
je 0x45b73f
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
je 0x45b73f
cmp dword [edi + 0x14], 0x10
mov edx, dword [edi + 0x10]
jb 0x45b719
mov ecx, dword [edi]
jmp 0x45b71b
mov ecx, edi
push dword [ebp - 4]
push eax
lea eax, [edx + 1]
push eax
push ecx
push 0
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp + 8]
push 0xd
jmp 0x45b789
mov eax, dword [edi + 0x10]
inc eax
push eax
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp + 8], eax
test eax, eax
je 0x45b78b
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edx, eax
test edx, edx
je 0x45b78b
cmp dword [edi + 0x14], 0x10
mov eax, dword [edi + 0x10]
jb 0x45b76d
mov ecx, dword [edi]
jmp 0x45b76f
mov ecx, edi
inc eax
push eax
push ecx
push edx
call fcn.00490850
add esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp + 8]
push 1
call esi
cmp byte [edi + 0x18], 0
je 0x45b7d8
movzx eax, word [ebx + 0x1036]
push 0
push eax
call esi
push 1
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp + 8], eax
test eax, eax
je 0x45b7d8
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
je 0x45b7d8
push dword [ebp + 8]
mov byte [eax], 2
movzx esi, word [ebx + 0x1038]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp + 8]
push esi
mov esi, dword [sym.imp.USER32.dll_SetClipboardData]
call esi
cmp byte [edi + 0x19], 0
je 0x45b7f6
movzx eax, word [ebx + 0x103a]
push 0
push eax
call esi
movzx eax, word [ebx + 0x103c]
push 0
push eax
call esi
call dword [sym.imp.USER32.dll_CloseClipboard]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4