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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [0x52a68c]
push edi
push 0xd
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
xor edi, edi
test eax, eax
jne 0x40561f
push edi
push edi
push 0x882
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
inc eax
jmp 0x4057fd
push esi
push edi
push edi
push 0x7d8
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
push edi
push edi
push 0x7d9
push ebx
mov esi, eax
call dword [sym.imp.USER32.dll_SendMessageW]
push edi
cmp esi, eax
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push edi
je 0x4056a3
push 0x977
push ebx
call esi
cmp eax, 1
jne 0x405669
push 0xc356
push eax
call fcn.00401b50
pop ecx
pop ecx
jmp 0x40577b
push edi
push edi
push 0x861
push ebx
call esi
push edi
push edi
push 0x85f
push ebx
mov esi, eax
call dword [sym.imp.USER32.dll_SendMessageW]
sub esi, eax
lea eax, [esi + 1]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push edi
mov dword [ebp - 4], eax
push 0x871
jmp 0x4056c6
push 0x7d6
push ebx
call esi
inc eax
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
push eax
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_LocalSize]
push eax
push 0x886
push ebx
call esi
push edi
push edi
push 0x859
push ebx
call esi
mov esi, dword [ebp - 4]
mov edx, 0xfde9
push edi
push edi
push 0xffffffffffffffff
xor ecx, ecx
cmp eax, edx
push esi
cmove ecx, edx
push edi
push ecx
mov dword [ebp - 8], ecx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 4], eax
test eax, eax
jle 0x405755
push str._r_n_r_n
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, dword [ebp - 4]
lea eax, [eax*2 + 2]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push str._r_n_r_n
push eax
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalSize]
shr eax, 1
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp - 4]
lea eax, [ecx + eax*2]
push eax
push 0xffffffffffffffff
push esi
push edi
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, dword [ebp - 4]
jmp 0x40575d
mov edi, 0x4bc498
mov dword [ebp - 4], edi
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
call esi
push ebx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
jne 0x40577f
push edi
call esi
xor eax, eax
jmp 0x4057fc
push 0xd
call dword [sym.imp.USER32.dll_GetClipboardData]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
mov dword [ebp - 0xc], eax
call edi
mov ebx, eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push dword [ebp - 4]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add esi, eax
lea ecx, [esi*2 + 2]
push ecx
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
mov dword [ebp - 8], eax
call edi
mov esi, eax
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push dword [ebp - 4]
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov edi, dword [ebp - 8]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
call esi
push dword [ebp - 0xc]
call esi
call dword [sym.imp.USER32.dll_EmptyClipboard]
push edi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
xor eax, eax
inc eax
pop esi
pop edi
pop ebx
leave
ret