Function at 0x4c7dd0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov eax, dword [ebx]
mov esi, dword [ebx + 0x19c]
push eax
mov dword [ebp - 4], esi
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x4c8089
mov eax, dword [ebx + 0x1a4]
mov edx, dword [ebx + 0x1ac]
mov edi, dword [ebx + 0x1a0]
mov ecx, dword [ebx + 0x1a8]
cmp eax, edx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], edx
jle 0x4c7e3d
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x20]
push ecx
push edx
call fcn.004c13e0
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x1c]
push eax
push ecx
call fcn.004c13e0
add esp, 0x10
jmp 0x4c7e53
jne 0x4c7e5f
cmp edi, ecx
jle 0x4c7e5f
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x20]
push edx
push eax
call fcn.004c13e0
add esp, 8
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
inc edi
inc eax
inc ecx
inc edx
test esi, esi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], edx
je 0x4c7e86
jmp 0x4c7e78
mov esi, dword [ebp - 4]
cmp dword [esi + 0xc], eax
jge 0x4c7e86
mov esi, dword [esi]
test esi, esi
mov dword [ebp - 4], esi
jne 0x4c7e75
cmp eax, edx
jne 0x4c7e91
sub ecx, edi
add ecx, 2
jmp 0x4c7ebe
mov esi, edx
sub esi, eax
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 1
mov eax, dword [ebx + 0x114]
jle 0x4c7eb8
lea edx, [eax + 1]
dec esi
imul edx, esi
sub edx, edi
add edx, eax
lea ecx, [edx + ecx + 2]
jmp 0x4c7ebe
sub eax, edi
lea ecx, [eax + ecx + 1]
lea esi, [ecx + 0xa]
push esi
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0x10], ebx
je 0x4c8083
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edx, eax
test edx, edx
jne 0x4c7ef8
call dword [sym.imp.USER32.dll_CloseClipboard]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
xor eax, eax
mov edi, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
mov ecx, eax
cmp eax, esi
mov dword [ebp - 8], ecx
jg 0x4c8045
mov esi, dword [ebp - 4]
test esi, esi
je 0x4c8031
cmp dword [esi + 0xc], ecx
jne 0x4c8031
cmp ecx, eax
mov eax, dword [ebp - 0x20]
je 0x4c7f3d
mov eax, 1
mov esi, dword [esi + 4]
mov dword [ebp - 0xc], eax
cmp esi, eax
jle 0x4c7f6a
sub esi, eax
mov eax, 0x20202020
mov ecx, esi
mov edi, edx
mov ebx, ecx
add edx, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
add eax, esi
cmp ecx, dword [ebp - 0x14]
jne 0x4c7f77
mov esi, dword [ebp - 0x18]
lea ebx, [esi + 1]
jmp 0x4c7f80
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x114]
mov edi, dword [ebp - 4]
mov esi, dword [edi + 8]
cmp ebx, esi
jle 0x4c7f90
sub esi, eax
mov ebx, esi
jmp 0x4c7f92
sub ebx, eax
mov esi, dword [edi + 0x10]
cmp esi, 1
jne 0x4c7fa1
mov ebx, 3
jmp 0x4c7fa6
cmp ebx, 3
jne 0x4c7fc0
cmp esi, 1
jne 0x4c7fc9
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], ecx
je 0x4c7fc6
mov ecx, dword [ebp - 8]
mov byte [edx], 0xd
inc edx
mov byte [edx], 0xa
inc edx
jmp 0x4c7fef
test ebx, ebx
jle 0x4c7fef
jmp 0x4c7fc9
mov ecx, dword [ebp - 8]
test esi, esi
jne 0x4c7fef
mov esi, dword [edi + 0x14]
mov ecx, ebx
sub esi, dword [edi + 4]
mov edi, edx
add esi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
add edx, ebx
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 8]
mov edi, dword [ebp - 4]
cmp ecx, dword [ebp - 0x14]
je 0x4c8008
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x4c8003
mov byte [edx], 0xd
inc edx
mov byte [edx], 0xa
inc edx
cmp ecx, dword [ebp - 0x14]
jne 0x4c8026
cmp ecx, dword [ebp - 0x1c]
jne 0x4c8026
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x4c8026
mov eax, dword [ebp - 0x18]
mov esi, dword [edi + 8]
cmp eax, esi
jl 0x4c8042
mov byte [edx], 0xd
inc edx
mov byte [edx], 0xa
inc edx
mov eax, dword [edi]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
inc ecx
cmp ecx, esi
mov dword [ebp - 8], ecx
jle 0x4c7f1d
jmp 0x4c8045
mov ebx, dword [ebp - 0x10]
push ebx
mov byte [edx], 0
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_EmptyClipboard]
test eax, eax
push ebx
jne 0x4c807b
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push 0x606
push 0x59a0a8
push 5
call fcn.004bfc20
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret