Function at 0x408060
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov eax, 0x1204c
call fcn.00413720
mov eax, dword [0x445654]
xor eax, esp
mov dword [esp + 0x12048], eax
mov ecx, dword [0x446e50]
mov eax, dword [esp + 0x12050]
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 2
push 0xffffffffffffffff
push 0x100c
push ecx
mov dword [esp + 0x14], eax
call ebx
mov dword [esp + 0xc], eax
cmp eax, 0xffffffff
je 0x40839a
xor edx, edx
push ebp
xor ebp, ebp
cmp byte [0x446e59], dl
mov ecx, 0x11
sete dl
push esi
push edi
mov byte [esp + 0x1058], 0
sub ecx, edx
test ecx, ecx
jle 0x40816d
jmp 0x4080d6
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x5c]
push eax
mov dword [esp + 0x38], edx
mov edx, dword [0x446e50]
push 0x102d
push edx
mov byte [esp + 0x68], 0
mov dword [esp + 0x34], ebp
mov dword [esp + 0x44], 0x1000
call ebx
lea eax, [esp + 0x58]
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x408110
lea edi, [esp + 0x1058]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x408123
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x1058]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x408141
mov ax, word [0x43e988]
xor ecx, ecx
inc ebp
cmp byte [0x446e59], cl
mov edx, 0x11
sete cl
mov word [edi], ax
sub edx, ecx
cmp ebp, edx
jl 0x4080d2
lea eax, [esp + 0x1058]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x408175
mov cx, word [0x43e984]
mov dl, byte [0x43e986]
mov word [eax], cx
mov byte [eax + 2], dl
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x408397
call dword [sym.imp.USER32.dll_EmptyClipboard]
lea eax, [esp + 0x1058]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4081b3
sub eax, edx
inc eax
push eax
push 0x2002
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
push edi
mov dword [esp + 0x14], edi
lea esi, [esp + 0x105c]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov cl, byte [esi]
mov byte [eax], cl
inc esi
inc eax
test cl, cl
jne 0x4081e1
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [esp + 0x18]
mov edx, dword [0x446e50]
push 2
push ecx
push 0x100c
push edx
call ebx
mov ebx, eax
cmp ebx, 0xffffffff
je 0x408388
xor eax, eax
xor ebp, ebp
cmp byte [0x446e59], al
mov ecx, 0x11
sete al
mov byte [esp + 0x1058], 0
sub ecx, eax
test ecx, ecx
jle 0x4082dd
jmp 0x408240
mov ecx, dword [0x446e50]
lea eax, [esp + 0x1c]
push eax
push ebx
push 0x102d
lea edx, [esp + 0x64]
push ecx
mov byte [esp + 0x68], 0
mov dword [esp + 0x34], ebp
mov dword [esp + 0x44], 0x1000
mov dword [esp + 0x40], edx
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [esp + 0x58]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x408277
lea edi, [esp + 0x1058]
sub eax, ecx
mov esi, ecx
dec edi
lea ebx, [ebx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x408290
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x1058]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4082b0
mov dx, word [0x43e988]
xor eax, eax
inc ebp
cmp byte [0x446e59], al
mov ecx, 0x11
sete al
mov word [edi], dx
sub ecx, eax
cmp ebp, ecx
jl 0x408240
lea eax, [esp + 0x1058]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4082e5
mov dx, word [0x43e984]
mov cl, byte [0x43e986]
mov word [eax], dx
mov byte [eax + 2], cl
lea eax, [esp + 0x1058]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408310
sub eax, edx
mov edx, dword [esp + 0x14]
lea edi, [eax + edx]
mov eax, dword [esp + 0x10]
push 0
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalReAlloc]
mov ebp, eax
push ebp
mov dword [esp + 0x14], ebp
lea esi, [esp + 0x105c]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [esp + 0x14]
lea eax, [eax + ecx - 1]
mov edx, esi
sub eax, edx
mov edi, edi
mov cl, byte [esi]
mov byte [eax + esi], cl
inc esi
test cl, cl
jne 0x408350
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [0x446e50]
push 2
push ebx
push 0x100c
push eax
mov dword [esp + 0x24], edi
call dword [sym.imp.USER32.dll_SendMessageA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x408212
mov edi, dword [esp + 0x10]
push edi
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x1204c]
pop ebx
xor ecx, esp
call fcn.00411a73
add esp, 0x1204c
ret