Function at 0x460b1e29
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x460ec018]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov dword [ebp - 0x1c], ebx
test edi, edi
jne 0x460b1e54
mov eax, 0x80004005
jmp 0x460b22da
lea ecx, [edi + 4]
call fcn.460c323b
mov ecx, 0x4000
xor esi, esi
mov dword [ebp - 0xc], esi
test word [eax + 2], cx
je 0x460b1ebc
lea ecx, [edi + 0xc]
call fcn.460d26da
cmp ax, 9
jne 0x460b1ead
lea ecx, [edi + 0xc]
call fcn.460d26bc
push 0xd
pop ecx
cmp ax, cx
jne 0x460b1ead
movzx eax, word [edi + 0x42]
test al, 2
je 0x460b1e9b
mov ecx, dword [ebx]
call fcn.460a006f
jmp 0x460b1e4a
and eax, 0xfffe
mov ecx, edi
push 0xffffffffffffffff
mov word [edi + 0x42], ax
call fcn.460bc0fb
movzx eax, word [edi + 0x42]
test al, 2
je 0x460b1f00
test eax, 0x100
jne 0x460b1e4a
mov eax, dword [ebx]
xor edx, edx
inc edx
mov dword [ebp - 0x20], esi
mov edi, 0x80040064
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], esi
mov ecx, dword [eax + 0x60]
shr ecx, 0x13
and ecx, edx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x3c], ecx
mov ecx, 0x460ec020
mov dword [ebp - 0x10], ecx
test eax, eax
je 0x460b1f05
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2c], eax
jmp 0x460b1f08
cmp dword [edi + 0x38], esi
jmp 0x460b1eba
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
cmp dword [ebp + 8], esi
jne 0x460b1f6d
lea ecx, [ebp + 8]
call fcn.460e47b3
mov edi, eax
test edi, edi
jns 0x460b1f6a
call dword [sym.imp.USER32.dll_GetClipboardOwner]
mov esi, eax
test esi, esi
je 0x460b1fb1
mov ecx, dword [ebx]
lea eax, [ebp - 8]
push eax
call fcn.460a0455
test eax, eax
jne 0x460b1fb1
cmp esi, dword [ebp - 8]
jne 0x460b1fb1
mov ecx, dword [ebx + 8]
mov dword [ebp + 8], ecx
test ecx, ecx
jne 0x460b1f58
mov ecx, dword [ebx]
call fcn.460a006f
jmp 0x460b22d8
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x460ed508]
call esi
xor esi, esi
xor edx, edx
inc edx
mov ecx, dword [ebp + 0x1c]
mov byte [ebx + 0xc], dl
test cl, 1
jne 0x460b215b
mov edx, dword [ebp - 0x2c]
test edx, edx
je 0x460b215b
mov ax, word [ebp + 0x10]
mov edi, dword [ebp + 0x14]
mov word [ebp - 6], ax
mov word [ebp - 0xc], ax
mov eax, esi
test edi, edi
je 0x460b20f6
cmp dword [edi], 4
jne 0x460b20f4
mov eax, dword [edi + 4]
jmp 0x460b20f6
mov ecx, dword [ebx]
lea eax, [ebp - 8]
push eax
call fcn.460a0455
test eax, eax
jne 0x460b20e7
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x460b20e7
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x24]
call fcn.460933da
cmp dword [ebp - 0x18], 0
jne 0x460b2018
movzx eax, word [0x460ec020]
push eax
call dword [sym.imp.USER32.dll_GetClipboardData]
mov esi, eax
test esi, esi
jne 0x460b2092
movzx eax, word [0x460ec048]
push eax
call dword [sym.imp.USER32.dll_GetClipboardData]
mov esi, eax
mov dword [ebp - 0xc], 2
test esi, esi
jne 0x460b2092
movzx eax, word [0x460ec034]
push eax
call dword [sym.imp.USER32.dll_GetClipboardData]
mov esi, eax
xor eax, eax
inc eax
mov dword [ebp - 0xc], eax
test esi, esi
jne 0x460b2092
cmp dword [ebp - 0x18], esi
jne 0x460b204f
push 0xd
pop eax
push eax
call dword [sym.imp.USER32.dll_GetClipboardData]
mov esi, eax
mov dword [ebp - 0xc], 0xb
test esi, esi
jne 0x460b2092
inc eax
push eax
call dword [sym.imp.USER32.dll_GetClipboardData]
mov esi, eax
mov dword [ebp - 0xc], 0xc
test esi, esi
je 0x460b2074
mov ecx, esi
call fcn.460e8d7b
mov dword [ebp - 0x14], eax
test eax, eax
je 0x460b20b3
push eax
jmp 0x460b2093
push 8
call dword [sym.imp.USER32.dll_GetClipboardData]
test eax, eax
je 0x460b20d7
push dword [ebp + 0x18]
mov ecx, ebx
push dword [ebp + 0xc]
push eax
call fcn.460b1ce7
mov edi, eax
jmp 0x460b20d7
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
je 0x460b20b3
push dword [ebp + 0x18]
mov ecx, ebx
push dword [ebp + 0xc]
push eax
push esi
push dword [ebp - 0xc]
call fcn.460b1be9
mov edi, eax
jmp 0x460b20b8
mov edi, 0x8007000e
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x460b20d0
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [ebp - 0x14]
call fcn.460e3bee
jmp 0x460b20d7
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x24]
call fcn.46093413
call dword [sym.imp.USER32.dll_CloseClipboard]
test edi, edi
jns 0x460b22d8
jmp 0x460b1f4c
mov eax, esi
mov esi, dword [edx]
push eax
xor eax, eax
shr ecx, 1
inc eax
push eax
and ecx, eax
lea eax, [ebp - 0xc]
push ecx
mov ecx, dword [esi + 0x20]
push eax
push dword [ebp + 8]
push edx
call dword [0x460ed508]
call dword [esi + 0x20]
lea edi, [eax - 0x40130]
neg edi
sbb edi, edi
and edi, eax
je 0x460b2130
cmp edi, 0x80004001
jne 0x460b22bf
mov ax, word [ebp - 0xc]
mov dx, word [ebp + 0x10]
test ax, ax
je 0x460b2151
test dx, dx
je 0x460b2156
cmp dx, ax
je 0x460b2151
mov edi, 0x80040064
jmp 0x460b22bf
test dx, dx
jne 0x460b2163
mov dx, ax
jmp 0x460b215f
mov dx, word [ebp + 0x10]
mov word [ebp - 6], dx
xor eax, eax
inc eax
cmp dx, ax
jne 0x460b21ac
cmp dword [ebp - 0x18], 0
jne 0x460b21ac
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x50]
or dword [ebp - 0x44], 0xffffffff
push 0xd
pop eax
mov word [ebp - 0x50], ax
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x40], eax
mov eax, dword [ecx]
push edx
push ecx
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x460ed508]
call esi
test eax, eax
jne 0x460b21ac
push 0xd
pop eax
mov dword [ebp + 0x10], eax
mov word [ebp - 6], ax
mov ecx, dword [ebx]
test byte [ecx + 0x60], 4
je 0x460b21be
mov edi, 0x80070005
jmp 0x460b22bf
mov ecx, dword [ecx + 0x24]
call fcn.460933da
mov ebx, dword [ebp + 0x18]
test ebx, ebx
je 0x460b21f0
mov eax, dword [ebx]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x460ed508]
mov ecx, ebx
call esi
mov eax, dword [ebx]
push 5
mov esi, dword [eax]
mov ecx, esi
call dword [0x460ed508]
mov ecx, ebx
call esi
mov ax, word [ebp - 6]
xor esi, esi
mov ebx, esi
mov edx, 0x460ec020
test ax, ax
je 0x460b220b
cmp ax, word [edx]
jne 0x460b2291
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
test byte [eax + 0x60], 1
jne 0x460b2220
test byte [ebx*4 + 0x46083f40], 2
je 0x460b228d
mov eax, dword [ebp + 8]
push edx
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x14]
mov ecx, esi
call dword [0x460ed508]
call esi
test eax, eax
jne case.0x460b2364.5
inc eax
cmp ebx, eax
je 0x460b22ed
cmp ebx, 0xe
je 0x460b22ed
cmp ebx, 0xc
je 0x460b22ed
cmp ebx, 0xa
je 0x460b22ed
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x460b227d
cmp ebx, 0xb
je 0x460b22ed
test ebx, ebx
je 0x460b22ed
cmp ebx, 2
je 0x460b22ed
test eax, eax
je 0x460b2343
cmp ebx, 0xb
je case.0x460b2364.5
test ebx, ebx
jne 0x460b2343
mov edx, dword [ebp - 0x10]
mov ax, word [ebp - 6]
inc ebx
add edx, 0x14
mov dword [ebp - 0x10], edx
cmp ebx, 0x11
jb 0x460b21fd
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x460b22b2
cmp dword [ebp - 0x18], eax
je 0x460b22b2
mov edi, 0x80040064
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x24]
call fcn.46093413
cmp dword [ebp - 0x3c], 0
jne 0x460b22d8
mov ecx, dword [ebp + 8]
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x460ed508]
call esi
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.460ea320
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 0x10]
push ecx
mov esi, dword [eax]
push eax
mov ecx, dword [esi + 0xc]
call dword [0x460ed508]
call dword [esi + 0xc]
test eax, eax
jne case.0x460b2364.5
mov eax, dword [ebp - 0x34]
push eax
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x460b240b
cmp ebx, 1
je 0x460b2335
cmp ebx, 0xa
je 0x460b2335
test ebx, ebx
jne 0x460b2343
mov ecx, eax
call fcn.460c45de
test eax, eax
jne 0x460b2343
push 0xc
pop ebx
mov ecx, dword [ebp + 0xc]
xor esi, esi
push esi
call fcn.460bf7ae
xor eax, eax
inc eax
mov dword [ebp - 0x28], eax
cmp ebx, 0x10
ja case.default.0x460b2364
movzx eax, byte [ebx + 0x460b2435]
jmp dword [eax*4 + 0x460b241d]
push dword [ebp + 0x18]
mov ecx, dword [ebp - 0x24]
push dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x1c]
push ebx
call fcn.460b1be9
mov edi, eax
jmp case.0x460b2364.15
mov ecx, dword [ebp - 0x20]
call fcn.460e8d7b
push eax
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, eax
test ecx, ecx
jne 0x460b23a8
mov edi, 0x8007000e
jmp case.0x460b2364.15
mov ecx, dword [ebp - 0x24]
push dword [ebp + 0x18]
push dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x1c]
push esi
push ebx
call fcn.460b1be9
mov ebx, dword [ebp - 0x14]
mov edi, eax
test ebx, ebx
je case.0x460b2364.15
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, ebx
call fcn.460e3bee
jmp case.0x460b2364.15
push dword [ebp + 0x18]
mov ecx, dword [ebp - 0x1c]
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.460b33ef
jmp 0x460b2382
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x460b22a1
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea ecx, [ebp - 0x38]
call fcn.460e4d03
jmp 0x460b22a1
lea ecx, [ebp - 0x38]
call fcn.460e4d03
mov edi, 0x8007000e
jmp 0x460b22b2