Function at 0x4f5d3e
Capabilities:
Open clipboard

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
push esi
push edi
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0x18], 0
push 4
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4f5d81
jmp 0x4f616b
mov eax, dword [0x533644]
push eax
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x4f5e1e
xor eax, eax
mov ax, word [0x531af8]
push eax
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x4f5e00
xor eax, eax
mov ax, word [0x531afc]
push eax
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x4f5e00
xor eax, eax
mov ax, word [0x531b04]
push eax
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4f5e00
xor eax, eax
mov ax, word [0x531b00]
push eax
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f5e0c
mov dword [ebp - 0x20], 1
jmp 0x4f5e13
mov dword [ebp - 0x20], 0
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x4f5e25
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x32], 0
jne 0x4f5e63
push 0xffffffffffffffff
mov eax, dword [ebp + 0xc]
push eax
push 0xc8
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x1d6]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0044af73
add esp, 0x14
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne case.0x4f610c.6
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
jmp 0x4f60f0
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.00407c0a
add esp, 8
jmp case.0x4f610c.6
lea eax, [ebp - 0x1c]
push eax
push 1
lea eax, [ebp - 0x14]
push eax
push 1
mov eax, dword [ebp - 0x24]
push eax
call fcn.004ae123
add esp, 0x14
test eax, eax
jne case.0x4f610c.2
jmp case.0x4f610c.6
cmp dword [ebp - 0x20], 0
je 0x4f5ed0
push 8
mov eax, dword [ebp - 0x24]
push eax
call fcn.004ae4ca
add esp, 8
mov dword [ebp - 0x18], eax
jmp 0x4f5edf
mov eax, dword [ebp - 0x24]
push eax
call fcn.004ae43e
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x4f5eee
jmp case.0x4f610c.6
cmp dword [ebp - 0x28], 0
je 0x4f5f0a
xor eax, eax
mov ax, word [0x531afc]
mov dword [0x52da04], eax
jmp 0x4f5f30
cmp dword [ebp - 8], 0
je 0x4f5f26
xor eax, eax
mov ax, word [0x531b00]
mov dword [0x52da04], eax
jmp 0x4f5f30
mov dword [0x52da04], 0
push 0
mov eax, dword [ebp + 0xc]
sub eax, 0xcc
cmp eax, 1
sbb eax, eax
neg eax
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040a649
add esp, 0xc
mov dword [ebp - 0x18], eax
jmp case.0x4f610c.6
cmp dword [ebp - 0x20], 0
je 0x4f5f76
push 7
mov eax, dword [ebp - 0x24]
push eax
call fcn.004ae4ca
add esp, 8
mov dword [ebp - 0x18], eax
jmp 0x4f5f87
push 0xa
mov eax, dword [ebp - 0x24]
push eax
call fcn.004ae4ca
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x4f5f96
jmp case.0x4f610c.6
cmp dword [ebp - 0x28], 0
je 0x4f5fb2
xor eax, eax
mov ax, word [0x531afc]
mov dword [0x52da04], eax
jmp 0x4f5fd8
cmp dword [ebp - 8], 0
je 0x4f5fce
xor eax, eax
mov ax, word [0x531b00]
mov dword [0x52da04], eax
jmp 0x4f5fd8
mov dword [0x52da04], 0
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.0040a649
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4f60bb
mov eax, dword [ebp + 8]
push eax
call fcn.0040d027
add esp, 4
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x1d6]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0
je 0x4f6089
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x1d6]
push eax
call fcn.0047557c
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4f6052
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
push eax
call fcn.0047557c
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4f606e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
push eax
call fcn.0047557c
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4f6089
push 1
mov eax, dword [ebp - 4]
push eax
call fcn.00449deb
add esp, 8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x1d6]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp dword [ebp - 0x18], 0
je 0x4f60a8
jmp case.0x4f610c.6
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.0040d3ea
add esp, 0xc
mov dword [ebp - 0x18], eax
jmp case.0x4f610c.6
mov eax, dword [0x52da00]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040fd93
add esp, 8
mov dword [ebp - 0x18], eax
jmp case.0x4f610c.6
mov eax, dword [ebp + 8]
push eax
call fcn.004f4ea5
add esp, 4
jmp case.0x4f610c.6
sub dword [ebp - 0x2c], 0xc9
cmp dword [ebp - 0x2c], 0xa
ja case.0x4f610c.6
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov cl, byte [eax + 0x4f612f]
jmp dword [ecx*4 + 0x4f6113]
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp dword [ebp - 0x18], 0xfffffffb
jne 0x4f6155
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], 0
je 0x4f616b
mov eax, dword [ebp - 0x18]
push eax
call fcn.004ae776
add esp, 4
pop edi
pop esi
pop ebx
leave
ret