Function at 0x5177d0
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 0x51780d
test ecx, ecx
je 0x517803
mov ecx, ebx
call fcn.00518072
jmp 0x517806
xor eax, eax
inc eax
mov dword [edi], eax
jmp 0x5179df
cmp edx, 0x100
jne 0x517844
and dword [ebp - 4], 0
cmp dword [ebx + 0x20], 0
je 0x51782d
lea ecx, [ebp - 4]
push ecx
push eax
push esi
push ebx
call fcn.00517c71
jmp 0x517830
xor eax, eax
inc eax
mov dword [edi], eax
cmp dword [ebp - 4], 0
je 0x5179df
xor eax, eax
inc eax
jmp 0x517a89
cmp edx, 0x104
je 0x517815
cmp edx, 0x105
jne 0x51786c
and dword [ebp - 4], 0
cmp dword [ebx + 0x20], 0
je 0x51782d
lea ecx, [ebp - 4]
push ecx
push eax
push esi
push ebx
call fcn.00517bd9
jmp 0x517830
cmp edx, 0x101
je 0x517854
cmp edx, 0x102
jne 0x5178ab
xor ecx, ecx
cmp esi, 0xd
je 0x5178a0
cmp esi, 9
je 0x5178a0
cmp esi, 0x1b
je 0x5178a0
cmp esi, 0xa
je 0x5178a0
jbe 0x51789b
mov dword [ebx + 0x34], 1
xor eax, eax
inc eax
jmp 0x5178a5
xor ecx, ecx
inc ecx
xor eax, eax
mov dword [edi], eax
test ecx, ecx
jmp 0x517836
cmp edx, 0x106
jne 0x5178c7
xor eax, eax
inc eax
cmp esi, 0x20
jne 0x5178bd
xor eax, eax
and dword [edi], 0
test eax, eax
jmp 0x517836
cmp edx, 7
jne 0x5178e4
push eax
push esi
lea eax, [ebp - 4]
mov esi, ebx
mov dword [ebp - 4], 1
call fcn.00517fb8
jmp 0x517830
cmp edx, 8
jne 0x517901
push eax
push esi
lea eax, [ebp - 4]
mov esi, ebx
mov dword [ebp - 4], 1
call fcn.00518004
jmp 0x517830
cmp edx, 0x14
jne 0x517910
xor eax, eax
inc eax
mov dword [edi], eax
jmp 0x517a89
cmp edx, 0x7b
jne 0x517920
add ebx, 0x18
mov eax, dword [ebx]
push ebx
call dword [eax + 0x5c]
jmp 0x517906
cmp edx, 0x205
jne 0x517951
call dword [sym.imp.USER32.dll_GetFocus]
cmp dword [ebx + 0x1c], eax
je 0x517946
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 0x5179df
cmp edx, 0x201
jne 0x517979
lea eax, [ebp - 4]
push eax
push dword [ebp - 0xc]
mov edi, ebx
push esi
mov dword [ebp - 4], 1
call fcn.00518236
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
jmp 0x517832
cmp edx, 0x202
jne 0x517995
push eax
lea eax, [ebp - 4]
mov edi, ebx
mov dword [ebp - 4], 1
call fcn.005182b5
jmp 0x51796f
cmp edx, 0x200
jne 0x5179c6
call fcn.00461215
mov esi, eax
call fcn.004684ba
test eax, eax
je 0x5179dc
xor eax, eax
cmp dword [ebx + 0x6c], eax
je 0x5179dc
push eax
push eax
push 0x48e
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x5179dc
cmp edx, 5
jne 0x5179df
cmp dword [ebx + 0x4c], 1
je 0x5179dc
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 [0x6bbe40]
jne 0x5179fe
push dword [ebp + 0x10]
mov edi, ebx
call fcn.005181ae
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
jmp 0x51783c
cmp ecx, dword [0x6bbe44]
jne 0x517a12
push dword [ebp + 0x10]
mov edi, ebx
call fcn.005184ee
jmp 0x5179f4
cmp ecx, 0x48e
jne 0x517a4b
call fcn.00461215
mov esi, eax
call fcn.004684ba
test eax, eax
je 0x517a40
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 0x51783c
mov eax, 0x48f
cmp ecx, eax
jne 0x517a63
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x517a40
mov eax, dword [ecx]
push ebx
call dword [eax + 0x20]
jmp 0x517a40
cmp ecx, 0x302
jne 0x517a90
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x517a80
push ebx
call fcn.0051835b
jmp 0x517a82
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 0x517aae
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 0x517a87
cmp ecx, 0x301
je 0x517a99
cmp ecx, 0x113
jne 0x517af3
lea eax, [ecx - 0x4b]
cmp dword [ebp + 0x10], eax
jne 0x517a40
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 0x517ae8
push 0
jmp 0x517aea
push 0xffffffffffffffff
push ebx
call dword [eax + 0x34]
jmp 0x517a40
cmp ecx, 0x240
jne 0x517b27
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.00517e96
cmp dword [ebp - 4], 0
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
je 0x517a87
mov eax, esi
jmp 0x517a89
cmp ecx, 2
jne 0x517b64
call fcn.00411356
cmp dword [eax], 5
jl 0x517b56
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 0x517b56
push dword [ebx + 0x1c]
call eax
mov eax, dword [ebp - 8]
mov dword [eax], 1
jmp 0x517a87
cmp ecx, 0x203
jne 0x517b80
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 8]
and dword [eax], 0
jmp 0x517a87
cmp ecx, 0x10d
jne 0x517ba7
push dword [ebx + 0x1c]
call dword [sym.imp.IMM32.dll_ImmGetContext]
test eax, eax
je 0x517a80
mov edi, eax
mov esi, ebx
call fcn.00518489
jmp 0x517a82
cmp ecx, 0x2111
jne 0x517a87
mov eax, dword [ebp + 0x10]
shr eax, 0x10
cmp dx, ax
jne 0x517a87
xor eax, eax
cmp dword [ebx + 0x30], eax
jne 0x5179f4
mov esi, ebx
call fcn.00518709
jmp 0x5179f4