Function at 0x51e095
Capabilities:
Open clipboard

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0x18]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edi
mov dword [ebx + 0x1c], ecx
cmp edx, 1
jne 0x51e0d2
test ecx, ecx
je 0x51e0c8
mov ecx, ebx
call fcn.0051e937
jmp 0x51e0cb
xor eax, eax
inc eax
mov dword [edi], eax
jmp 0x51e2a4
cmp edx, 0x100
jne 0x51e109
and dword [ebp - 4], 0
cmp dword [ebx + 0x20], 0
je 0x51e0f2
lea ecx, [ebp - 4]
push ecx
push eax
push esi
push ebx
call fcn.0051e536
jmp 0x51e0f5
xor eax, eax
inc eax
mov dword [edi], eax
cmp dword [ebp - 4], 0
je 0x51e2a4
xor eax, eax
inc eax
jmp 0x51e34e
cmp edx, 0x104
je 0x51e0da
cmp edx, 0x105
jne 0x51e131
and dword [ebp - 4], 0
cmp dword [ebx + 0x20], 0
je 0x51e0f2
lea ecx, [ebp - 4]
push ecx
push eax
push esi
push ebx
call fcn.0051e49e
jmp 0x51e0f5
cmp edx, 0x101
je 0x51e119
cmp edx, 0x102
jne 0x51e170
xor ecx, ecx
cmp esi, 0xd
je 0x51e165
cmp esi, 9
je 0x51e165
cmp esi, 0x1b
je 0x51e165
cmp esi, 0xa
je 0x51e165
jbe 0x51e160
mov dword [ebx + 0x34], 1
xor eax, eax
inc eax
jmp 0x51e16a
xor ecx, ecx
inc ecx
xor eax, eax
mov dword [edi], eax
test ecx, ecx
jmp 0x51e0fb
cmp edx, 0x106
jne 0x51e18c
xor eax, eax
inc eax
cmp esi, 0x20
jne 0x51e182
xor eax, eax
and dword [edi], 0
test eax, eax
jmp 0x51e0fb
cmp edx, 7
jne 0x51e1a9
push eax
push esi
lea eax, [ebp - 4]
mov esi, ebx
mov dword [ebp - 4], 1
call fcn.0051e87d
jmp 0x51e0f5
cmp edx, 8
jne 0x51e1c6
push eax
push esi
lea eax, [ebp - 4]
mov esi, ebx
mov dword [ebp - 4], 1
call fcn.0051e8c9
jmp 0x51e0f5
cmp edx, 0x14
jne 0x51e1d5
xor eax, eax
inc eax
mov dword [edi], eax
jmp 0x51e34e
cmp edx, 0x7b
jne 0x51e1e5
add ebx, 0x18
mov eax, dword [ebx]
push ebx
call dword [eax + 0x5c]
jmp 0x51e1cb
cmp edx, 0x205
jne 0x51e216
call dword [sym.imp.USER32.dll_GetFocus]
cmp dword [ebx + 0x1c], eax
je 0x51e20b
lea esi, [ebx + 0x18]
mov eax, dword [esi]
push esi
call dword [eax + 0x24]
mov eax, dword [esi]
push 0xffffffffffffffff
push 0
push esi
call dword [eax + 0x34]
mov dword [edi], 1
jmp 0x51e2a4
cmp edx, 0x201
jne 0x51e23e
lea eax, [ebp - 4]
push eax
push dword [ebp - 0xc]
mov edi, ebx
push esi
mov dword [ebp - 4], 1
call fcn.0051eafb
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
jmp 0x51e0f7
cmp edx, 0x202
jne 0x51e25a
push eax
lea eax, [ebp - 4]
mov edi, ebx
mov dword [ebp - 4], 1
call fcn.0051eb7a
jmp 0x51e234
cmp edx, 0x200
jne 0x51e28b
call fcn.004626fc
mov esi, eax
call fcn.0046996a
test eax, eax
je 0x51e2a1
xor eax, eax
cmp dword [ebx + 0x6c], eax
je 0x51e2a1
push eax
push eax
push 0x48e
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x51e2a1
cmp edx, 5
jne 0x51e2a4
cmp dword [ebx + 0x4c], 1
je 0x51e2a1
lea eax, [ebx + 0x18]
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x54]
and dword [edi], 0
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [0x6d0ff0]
jne 0x51e2c3
push dword [ebp + 0x10]
mov edi, ebx
call fcn.0051ea73
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
jmp 0x51e101
cmp ecx, dword [0x6d0ff4]
jne 0x51e2d7
push dword [ebp + 0x10]
mov edi, ebx
call fcn.0051edb3
jmp 0x51e2b9
cmp ecx, 0x48e
jne 0x51e310
call fcn.004626fc
mov esi, eax
call fcn.0046996a
test eax, eax
je 0x51e305
push 0
push 0
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [ebp - 8]
and dword [eax], 0
jmp 0x51e101
mov eax, 0x48f
cmp ecx, eax
jne 0x51e328
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x51e305
mov eax, dword [ecx]
push ebx
call dword [eax + 0x20]
jmp 0x51e305
cmp ecx, 0x302
jne 0x51e355
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x51e345
push ebx
call fcn.0051ec20
jmp 0x51e347
xor eax, eax
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x14
mov edx, 0x300
cmp ecx, edx
jne 0x51e373
xor esi, esi
push esi
push esi
push eax
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 8]
mov dword [eax], esi
jmp 0x51e34c
cmp ecx, 0x301
je 0x51e35e
cmp ecx, 0x113
jne 0x51e3b8
lea eax, [ecx - 0x4b]
cmp dword [ebp + 0x10], eax
jne 0x51e305
push eax
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [ebx + 0x28]
add ebx, 0x18
cmp dword [eax - 0xc], 0
mov eax, dword [ebx]
push 0xffffffffffffffff
jle 0x51e3ad
push 0
jmp 0x51e3af
push 0xffffffffffffffff
push ebx
call dword [eax + 0x34]
jmp 0x51e305
cmp ecx, 0x240
jne 0x51e3ec
lea eax, [ebp - 4]
push eax
push dword [ebp - 0xc]
xor esi, esi
push dword [ebp + 0x10]
inc esi
push ebx
mov dword [ebp - 4], esi
call fcn.0051e75b
cmp dword [ebp - 4], 0
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
je 0x51e34c
mov eax, esi
jmp 0x51e34e
cmp ecx, 2
jne 0x51e429
call fcn.00411377
cmp dword [eax], 5
jl 0x51e41b
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.UnregisterTouchWindow
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x51e41b
push dword [ebx + 0x1c]
call eax
mov eax, dword [ebp - 8]
mov dword [eax], 1
jmp 0x51e34c
cmp ecx, 0x203
jne 0x51e445
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 8]
and dword [eax], 0
jmp 0x51e34c
cmp ecx, 0x10d
jne 0x51e46c
push dword [ebx + 0x1c]
call dword [sym.imp.IMM32.dll_ImmGetContext]
test eax, eax
je 0x51e345
mov edi, eax
mov esi, ebx
call fcn.0051ed4e
jmp 0x51e347
cmp ecx, 0x2111
jne 0x51e34c
mov eax, dword [ebp + 0x10]
shr eax, 0x10
cmp dx, ax
jne 0x51e34c
xor eax, eax
cmp dword [ebx + 0x30], eax
jne 0x51e2b9
mov esi, ebx
call fcn.0051efb1
jmp 0x51e2b9