Function at 0x423b00
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x4fa140]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push edi
mov dword [ebp - 8], eax
call fcn.00409050
test eax, eax
je case.0x423cb5.527
call fcn.00409210
mov ecx, dword [ebp + 0xc]
mov edi, eax
cmp ecx, 0x200
ja 0x423c9f
je 0x423c12
add ecx, 0xffffffe0
cmp ecx, 0xe5
ja case.0x423cb5.527
movzx eax, byte [ecx + 0x423e80]
jmp dword [eax*4 + 0x423e6c]
mov eax, dword [ebp - 8]
cmp eax, 0x100
jae case.0x423cb5.527
mov byte [eax + edi + 0x120], 1
xor eax, eax
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042badc
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
cmp eax, 0x100
jae case.0x423cb5.527
mov byte [eax + edi + 0x120], 0
xor eax, eax
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042badc
mov esp, ebp
pop ebp
ret
push 1
lea eax, [ebp - 0xc]
push eax
push 1
lea eax, [ebp - 8]
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movzx eax, word [ebp - 0xc]
mov ecx, edi
push eax
call fcn.00403a10
pop edi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042badc
mov esp, ebp
pop ebp
ret
cmp word [ebp + 0x14], 1
jne case.0x423cb5.527
call fcn.004239c0
test al, al
je case.0x423cb5.527
pop edi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042badc
mov esp, ebp
pop ebp
ret
cmp byte [0x4fae8d], 0
je case.0x423cb5.527
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x24]
push eax
push dword [0x4fae88]
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [0x4faea8], 0
jne case.0x423cb5.527
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
push 1
push eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [0x4faea4]
add eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [0x4faea0]
add eax, dword [ebp - 0x24]
push eax
push dword [0x4fae88]
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
pop edi
mov dword [0x4faea0], eax
xor eax, eax
mov dword [0x4faea4], ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042badc
mov esp, ebp
pop ebp
ret
lea eax, [ecx - 0x201]
cmp eax, 0x18
ja case.0x423cb5.527
movzx eax, byte [eax + 0x423f84]
jmp dword [eax*4 + 0x423f68]
push esi
cmp ecx, 0x204
je 0x423ccf
xor esi, esi
cmp ecx, 0x206
jne 0x423cd4
mov esi, 1
cmp ecx, 0x207
je 0x423ce4
cmp ecx, 0x209
jne 0x423ce9
mov esi, 2
cmp ecx, 0x20b
je 0x423cf9
cmp ecx, 0x20d
jne 0x423d09
mov esi, dword [ebp - 8]
shr esi, 0x10
dec esi
neg esi
sbb esi, esi
neg esi
add esi, 3
call fcn.00409db0
test al, al
jne 0x423d23
call dword [sym.imp.USER32.dll_GetCapture]
test eax, eax
jne 0x423d23
push ebx
call dword [sym.imp.USER32.dll_SetCapture]
mov byte [esi + edi + 0x10c], 1
test esi, esi
pop esi
jne case.0x423cb5.527
push 0x4faea0
call dword [sym.imp.USER32.dll_GetCursorPos]
call fcn.00409090
pop edi
mov dword [0x4faea8], eax
xor eax, eax
mov byte [0x4fae8d], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042badc
mov esp, ebp
pop ebp
ret
mov byte [0x4fae8d], 0
xor eax, eax
jmp 0x423d9f
xor eax, eax
cmp ecx, 0x205
sete al
cmp ecx, 0x208
jne 0x423d87
mov eax, 2
jmp 0x423d9f
cmp ecx, 0x20c
jne 0x423d9f
mov eax, dword [ebp - 8]
shr eax, 0x10
dec eax
neg eax
sbb eax, eax
neg eax
add eax, 3
mov byte [eax + edi + 0x10c], 0
call fcn.00409db0
test al, al
jne case.0x423cb5.527
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, ebx
jne case.0x423cb5.527
call dword [sym.imp.USER32.dll_ReleaseCapture]
pop edi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042badc
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
shr eax, 0x10
cwde
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x44bac8]
addss xmm0, dword [edi + 0x114]
movss dword [edi + 0x114], xmm0
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042badc
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
shr eax, 0x10
cwde
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x44bac8]
addss xmm0, dword [edi + 0x118]
movss dword [edi + 0x118], xmm0
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042badc
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 8], 7
jne case.0x423cb5.527
mov byte [0x4611bc], 1
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop ebx
call fcn.0042badc
mov esp, ebp
pop ebp
ret