Function at 0x406500
Capabilities:
Check mutex on windows
Monitor clipboard content

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x418e30
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xf8
mov eax, dword [0x424140]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x426d38]
cmp eax, dword [ecx + 4]
jle 0x406588
push 0x426d38
call fcn.0040bb8f
add esp, 4
cmp dword [0x426d38], 0xffffffff
jne 0x406588
push 0x4204bc
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
push 0x426d38
call fcn.0040bb3e
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x406750
call fcn.004059e0
call fcn.004060a0
push 0x88
lea eax, [ebp - 0xe0]
push 0
push eax
call fcn.0040d8e0
add esp, 0xc
lea ecx, [ebp - 0xe0]
call fcn.00405130
movups xmm0, xmmword [str.ClipboardWatcher]
mov ax, word [0x4205dc]
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
movups xmmword [ebp - 0x38], xmm0
push 0
movups xmm0, xmmword [0x4205cc]
mov word [ebp - 0x18], ax
mov dword [ebp - 0x108], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x104], 0x406850
xorps xmm0, xmm0
movlpd qword [ebp - 0x100], xmm0
movlpd qword [ebp - 0xf4], xmm0
movlpd qword [ebp - 0xec], xmm0
call esi
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x406745
push 0
push 0
call esi
push eax
push 0
push 0xfffffffffffffffd
push 0
push 0
push 0
push 0
push 0
push str.Clipboard_Watcher
lea eax, [ebp - 0x38]
push eax
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x406745
push eax
call dword [sym.imp.USER32.dll_AddClipboardFormatListener]
test eax, eax
je 0x406745
lea ecx, [ebp - 0xe0]
call fcn.00405660
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [ebp - 0x54]
push 0
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0
push eax
movups xmmword [ebp - 0x54], xmm0
movq qword [ebp - 0x44], xmm0
call esi
test eax, eax
je 0x4066e0
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
nop dword [eax]
lea eax, [ebp - 0x54]
push eax
call edi
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [ebp - 0x54]
push eax
call esi
test eax, eax
jne 0x4066c0
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 0
push eax
call fcn.0040b252
add esp, 4
test eax, eax
jne 0x406772
cmp dword [ebp - 0x5c], 0x7fffffff
je 0x406779
mov al, 1
lea ecx, [ebp - 0xc4]
xchg byte [ecx], al
lea eax, [ebp - 0x88]
push eax
call fcn.0040b263
mov ecx, dword [ebp - 0xc0]
add esp, 4
test ecx, ecx
je 0x406745
mov eax, dword [ebp - 0xbc]
test al, al
je 0x406740
cmp byte [ecx + 0x6c], 0
jne 0x406745
test al, al
je 0x406740
cmp byte [ecx + 0x6c], 0
jne 0x406787
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0xe0]
call fcn.004067a0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040bb05
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
push 5
call fcn.0040b063
push 6
mov dword [ebp - 0x5c], 0x7ffffffe
call fcn.0040b063
mov ecx, 4
call fcn.00404750
int3