Function at 0x41766b
Capabilities:
Read clipboard data

Disassembly:
push ebp
lea ebp, [esp - 0x1ff94]
mov eax, 0x20014
call fcn.00422740
mov eax, dword [0x437b00]
xor eax, ebp
mov dword [ebp + 0x1ff90], eax
mov eax, dword [ebp + 0x1ffa0]
push ebx
push esi
push edi
xor ebx, ebx
push eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], ebx
call fcn.00413492
mov esi, dword [ebp + 0x1ff9c]
push esi
call dword [sym.imp.USER32.dll_GetClipboardData]
mov edi, eax
mov dword [ebp - 0x78], edi
cmp edi, ebx
jne 0x4176c1
mov eax, str.Clip_fault
jmp 0x4178d7
cmp esi, 0xe
jne 0x417719
mov esi, dword [sym.imp.GDI32.dll_GetEnhMetaFileBits]
push ebx
push ebx
push edi
call esi
mov ebx, eax
push ebx
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x74], eax
test eax, eax
je 0x4178d2
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
push ebx
push edi
call esi
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp + 0x1ff90]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00422725
add ebp, 0x1ff94
leave
ret 8
cmp esi, dword [0x43a3e0]
jne 0x41777b
push 1
push edi
push 0x10000
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.PPLIB32W.DLL__GetTextFromCF_SHELLIDLIST_16]
lea eax, [ebp - 0x70]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x417739
sub eax, edx
sar eax, 1
lea esi, [eax + eax]
push esi
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
mov dword [ebp - 0x74], edi
test edi, edi
je 0x4178d2
push esi
lea eax, [ebp - 0x70]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
call fcn.004223c0
add esp, 0xc
push edi
jmp 0x4176f6
push edi
call dword [sym.imp.KERNEL32.dll_GlobalSize]
mov ebx, eax
test ebx, ebx
jne 0x417792
mov eax, str.unsupport
jmp 0x4178d7
cmp esi, 8
je 0x417838
cmp esi, 0x11
je 0x417838
push ebx
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x74], eax
test eax, eax
je 0x4178d2
mov esi, dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
call esi
push edi
mov dword [ebp - 0x78], eax
call esi
cmp dword [ebp - 0x78], 0
je 0x4178d2
test eax, eax
je 0x4178d2
xor esi, esi
inc esi
cmp dword [ebp + 0x1ff9c], esi
je 0x4177ed
cmp dword [ebp + 0x1ff9c], 7
jne 0x417800
mov ecx, eax
mov dword [ebp - 0x7c], esi
lea edx, [ecx + 1]
mov bl, byte [ecx]
inc ecx
test bl, bl
jne 0x4177f5
sub ecx, edx
mov ebx, ecx
cmp dword [ebp + 0x1ff9c], 0xd
jne 0x41782c
mov ecx, eax
mov dword [ebp - 0x7c], esi
lea esi, [ecx + 2]
mov dx, word [ecx]
inc ecx
inc ecx
test dx, dx
jne 0x417811
sub ecx, esi
sar ecx, 1
lea ebx, [ecx + ecx]
mov ecx, dword [ebp - 0x80]
mov dword [ecx + 8], 5
push ebx
push eax
push dword [ebp - 0x78]
call fcn.004223c0
jmp 0x41789b
add ebx, 0xe
push ebx
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x74], eax
test eax, eax
je 0x4178d2
mov edi, dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
call edi
push dword [ebp - 0x78]
mov esi, eax
call edi
mov edi, eax
test esi, esi
je 0x4178d2
test edi, edi
je 0x4178d2
mov eax, 0x4d42
mov word [esi], ax
xor eax, eax
push edi
mov dword [esi + 2], ebx
mov word [esi + 6], ax
mov word [esi + 8], ax
call fcn.0041f59d
add eax, 0xe
mov dword [esi + 0xa], eax
lea eax, [ebx - 0xe]
push eax
add esi, 0xe
push edi
push esi
call fcn.004223c0
mov edi, dword [ebp - 0x78]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
add esp, 0xc
push edi
call esi
push dword [ebp - 0x74]
call esi
cmp dword [ebp - 0x7c], 0
je 0x4176fc
push 2
push ebx
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_GlobalReAlloc]
test eax, eax
je 0x4176fc
mov dword [ebp - 0x74], eax
jmp 0x4176fc
mov eax, str.Alloc_error
push eax
push 0
call fcn.00417cf8
xor eax, eax
jmp 0x4176ff