Function at 0x415050
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x444e45
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x454100]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x34], eax
xor ebx, ebx
xor esi, esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], esi
push 2
push 0xffffffffffffffff
mov dword [ebp - 4], esi
xor edi, edi
push 0x100c
push dword [eax + 0xb4]
mov dword [ebp - 0x18], edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, eax
mov dword [ebp - 0x2c], ecx
test ecx, ecx
js 0x41514f
mov edx, 4
cmp edi, esi
jne 0x415123
cmp esi, 0x7fffffff
jae 0x415264
mov eax, esi
mov ecx, SysReAllocString
shr eax, 2
sub ecx, esi
inc eax
cmp eax, ecx
jbe 0x4150dc
mov eax, ecx
add esi, eax
mov eax, esi
mul edx
setb cl
movsx ecx, cl
neg ecx
or ecx, eax
push ecx
call fcn.004403c1
add esp, 4
mov dword [ebp - 0x30], eax
test edi, edi
je 0x41510e
lea ecx, [edi*4]
push ecx
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
push ebx
call fcn.0044037e
mov ebx, dword [ebp - 0x30]
add esp, 4
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], esi
mov eax, edi
push 2
push ecx
push 0x100c
lea edi, [eax + 1]
mov dword [ebx + eax*4], ecx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], edi
push dword [eax + 0xb4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, eax
mov dword [ebp - 0x2c], eax
jmp 0x4150ac
xor eax, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
call fcn.0041f130
mov eax, edi
mov byte [ebp - 4], 1
mov dword [ebp - 0x2c], edi
test eax, eax
jne 0x415188
mov eax, dword [ebp - 0x34]
push edi
push edi
push 0x1004
push dword [eax + 0xb4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x2c], eax
xor esi, esi
test eax, eax
je 0x4151c2
mov edi, edi
cmp esi, edi
jae 0x415199
mov ecx, dword [ebx + esi*4]
jmp 0x41519b
mov ecx, esi
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0xbc]
push dword [eax + ecx*4]
lea ecx, [ebp - 0x28]
call fcn.0041f360
push 0x44abac
lea ecx, [ebp - 0x28]
call fcn.0041f3a0
inc esi
cmp esi, dword [ebp - 0x2c]
jb 0x415190
mov eax, dword [ebp - 0x34]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x415237
call dword [sym.imp.USER32.dll_EmptyClipboard]
test eax, eax
je 0x415231
mov eax, dword [ebp - 0x24]
lea edi, [eax*2 + 2]
mov eax, dword [ebp - 0x28]
push edi
push 0x2002
mov dword [ebp - 0x30], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x415231
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
je 0x41522a
push edi
push dword [ebp - 0x30]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x415231
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call dword [sym.imp.USER32.dll_CloseClipboard]
push dword [ebp - 0x28]
call fcn.0044037e
push ebx
call fcn.0044037e
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00440370
mov esp, ebp
pop ebp
ret
push 0x451eec
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0x7e5
push eax
call sub.msvcrt.dll__CxxThrowException
int3