Function at 0x40c090
Capabilities:
Get graphical window text
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x4b3100]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov ecx, dword [ebp + 0xc]
mov eax, ecx
push edi
mov edi, dword [ebp + 8]
sub eax, 2
je 0x40c3b8
sub eax, 0x79
je 0x40c2fa
sub eax, 0x96
je 0x40c0e7
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ecx
push edi
call dword [sym.imp.USER32.dll_DefWindowProcW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00460925
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ebp + 0x10]
movzx eax, dx
mov ecx, eax
cmp eax, 2
jne 0x40c100
mov ecx, esi
call fcn.0040c420
jmp 0x40c403
cmp ecx, 1
jne 0x40c112
push edi
mov ecx, esi
call fcn.0040d120
jmp 0x40c403
cmp ecx, 3
jne 0x40c123
mov ecx, esi
call fcn.0040e150
jmp 0x40c403
cmp ecx, 4
jne 0x40c17f
lea eax, [ebp - 0x10]
mov dword [ebp - 8], 0
push eax
push 0x40f940
push edi
push 0x69
xorps xmm0, xmm0
push 0
movq qword [ebp - 0x10], xmm0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
cmp eax, 1
jne 0x40c403
movd xmm3, dword [ebp - 8]
mov ecx, esi
movd xmm2, dword [ebp - 0xc]
movd xmm1, dword [ebp - 0x10]
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
call fcn.0040fae0
jmp 0x40c403
shr edx, 0x10
mov eax, edx
test dx, dx
jne 0x40c274
mov eax, 0x364e
cmp cx, ax
jne 0x40c1a3
mov ecx, esi
call fcn.00411a00
jmp 0x40c403
mov eax, 0x364d
cmp cx, ax
jne 0x40c403
push dword [esi + 0x9c]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov ebx, eax
test ebx, ebx
jle 0x40c403
mov ecx, 2
lea eax, [ebx + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.00460ee1
add esp, 4
mov edi, eax
lea eax, [ebx + 1]
push eax
push edi
push dword [esi + 0x9c]
call dword [sym.imp.USER32.dll_GetWindowTextW]
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
call dword [sym.imp.USER32.dll_EmptyClipboard]
lea ecx, [ebx*2 + 2]
push ecx
push 0x2000
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x40c260
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
je 0x40c259
push edi
lea ecx, [ebx + 1]
push ecx
push eax
call fcn.004726e2
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
push edi
call fcn.00460933
add esp, 4
jmp 0x40c403
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call dword [sym.imp.USER32.dll_CloseClipboard]
push edi
call fcn.00460933
add esp, 4
jmp 0x40c403
cmp eax, 1
jne 0x40c2c1
mov eax, 0x4a5b
cmp cx, ax
jne 0x40c290
push edi
mov ecx, esi
call fcn.004107c0
jmp 0x40c403
mov eax, 0x93b2
cmp cx, ax
jne 0x40c2a6
mov ecx, esi
call fcn.004139c0
jmp 0x40c403
mov eax, 0x2843
cmp cx, ax
jne 0x40c403
push edi
mov ecx, esi
call fcn.004125e0
jmp 0x40c403
cmp eax, 2
jne 0x40c403
mov eax, 0x93b0
cmp cx, ax
jne 0x40c2e0
mov ecx, esi
call fcn.00413430
jmp 0x40c403
mov eax, 0x93b1
cmp cx, ax
jne 0x40c403
mov ecx, esi
call fcn.00412f60
jmp 0x40c403
mov eax, dword [ebp + 0x10]
cmp eax, dword [esi + 0xc8]
jne 0x40c403
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push 0
push 0
push 0x188
push dword [esi + 0xc8]
mov dword [esi + 0x98], eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
je 0x40c403
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push str.Rename
push 1
push 0
push dword [esi + 0x98]
call dword [sym.imp.USER32.dll_AppendMenuW]
push str.Delete
push 2
push 0
push dword [esi + 0x98]
call dword [sym.imp.USER32.dll_AppendMenuW]
push str.Update_with_current_position
push 3
push 0
push dword [esi + 0x98]
call dword [sym.imp.USER32.dll_AppendMenuW]
push str.Change_Coordinates_Manually
push 4
push 0
push dword [esi + 0x98]
call dword [sym.imp.USER32.dll_AppendMenuW]
push 0
push edi
push 0
push dword [ebp - 8]
push dword [ebp - 0xc]
push 2
push dword [esi + 0x98]
call dword [sym.imp.USER32.dll_TrackPopupMenu]
push dword [esi + 0x98]
call dword [sym.imp.USER32.dll_DestroyMenu]
jmp 0x40c403
push dword [esi]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [esi + 8]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [esi + 0xc]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [esi + 0x14]
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0
mov byte [esi + 0xe0], 0
mov byte [0x4b5f8d], 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00460925
mov esp, ebp
pop ebp
ret 0x10