Function at 0x433a90
Capabilities:
Check for unmoving mouse cursor

Disassembly:
sub esp, 8
push ebx
mov ebx, dword [esp + 0x10]
push ebp
push esi
push edi
mov esi, edx
xor edi, edi
cmp esi, 0x1c
mov ebp, ecx
ja 0x433b1c
je 0x433b14
mov eax, esi
sub eax, 5
je case.0x433b3f.126
sub eax, 1
je 0x433ad8
sub eax, 0xa
jne case.0x433e24.515
push 0
push 0
push 0
push 0
push 5
call fcn.00432fc0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 8
xor eax, eax
cmp bx, di
push edi
setne al
push edi
push edi
mov dword [0x4703fc], edi
push eax
push 6
call fcn.00432fc0
mov eax, dword [0x47041c]
test eax, eax
je 0x433fca
mov ecx, dword [esp + 0x20]
push ecx
push ebx
mov edx, esi
mov ecx, ebp
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 8
mov dword [0x46445c], ebx
jmp case.0x433e24.515
cmp esi, 0x10d
ja 0x433cd4
je 0x433ca5
lea eax, [esi - 0x51]
cmp eax, 0xb4
ja case.0x433e24.515
movzx ecx, byte [eax + 0x433ff8]
jmp dword [ecx*4 + 0x433fe4]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push 0
push edx
push eax
push esi
push 3
call fcn.00432fc0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret 8
cmp ebx, 0x20
jb case.0x433e24.515
mov esi, ebx
and esi, 0xff
cmp esi, 0x80
jb 0x433bdc
call sym.War3.exe_Gw
cmp eax, 0x4e2
ja 0x433ba5
je 0x433b9c
cmp eax, 0x36a
jne 0x433bdc
mov eax, dword [esi*4 + 0x4650e0]
jmp 0x433bde
mov eax, dword [esi*4 + 0x4644e0]
jmp 0x433bde
sub eax, 0x4e3
je 0x433bd3
sub eax, 1
je 0x433bbf
sub eax, 2
jne 0x433bdc
mov eax, dword [esi*4 + 0x464ce0]
jmp 0x433bde
cmp esi, 0xa0
jae 0x433bdc
and ebx, 0x7f
mov eax, dword [ebx*4 + 0x464460]
jmp 0x433bde
mov eax, dword [esi*4 + 0x4648e0]
jmp 0x433bde
mov eax, ebx
movsx ecx, word [esp + 0x20]
push 0
push 0
push ecx
push eax
push 1
call fcn.00432fc0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 8
lea eax, [esp + 0x1c]
mov ecx, ebx
call fcn.004330e0
test eax, eax
je case.0x433e24.515
cmp esi, 0x100
je 0x433c23
cmp esi, 0x104
je 0x433c23
xor eax, eax
jmp 0x433c28
mov eax, 1
movzx edx, word [esp + 0x20]
mov edi, dword [esp + 0x1c]
push 0
push 0
neg eax
push edx
sbb eax, eax
push edi
add eax, 8
push eax
call fcn.00432fc0
cmp edi, 0x303
jne 0x433c68
mov ecx, 2
call sym.War3.exe_Gb
test eax, eax
jne case.0x433e24.515
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 8
cmp edi, 2
jne 0x433c7a
mov eax, dword [0x47041c]
test eax, eax
jne 0x433afe
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 8
cmp dword [0x464458], edi
jne 0x433c97
cmp esi, 0x7e
je case.0x433e24.515
mov eax, dword [esp + 0x20]
mov dword [0x470410], eax
jmp case.0x433e24.515
cmp dword [0x470418], edi
je 0x433cc5
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push 0
push ecx
push edx
push 0x10d
push 3
call fcn.00432fc0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret 8
cmp esi, 0x200
ja 0x433e0c
je 0x433d8e
mov eax, esi
sub eax, 0x10e
je 0x433d5f
sub eax, 1
je 0x433d30
sub eax, 3
jne case.0x433e24.515
mov ebx, dword [esp + 0x1c]
cmp ebx, 0xf060
je 0x433abd
mov eax, dword [0x47041c]
test eax, eax
jne 0x433afe
cmp ebx, 0xf100
jne 0x433fca
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 8
cmp dword [0x470418], edi
je 0x433d50
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push 0
push eax
push ecx
push 0x10f
push 3
call fcn.00432fc0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret 8
cmp dword [0x470418], edi
je 0x433d7f
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push 0
push edx
push eax
push 0x10e
push 3
call fcn.00432fc0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret 8
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [0x470414]
sub eax, edi
je 0x433ddd
mov eax, dword [esp + 0x10]
mov edx, dword [0x47029c]
cmp eax, edx
mov ecx, dword [esp + 0x14]
mov edi, dword [0x4702a0]
jne 0x433dc2
cmp ecx, edi
je case.0x433e24.515
push 0
sub ecx, edi
push ecx
sub eax, edx
push eax
push 0
push 0xc
call fcn.00432fc0
call fcn.004336d0
jmp case.0x433e24.515
lea edx, [esp + 0x10]
push edx
push ebp
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push edi
push eax
push ecx
push edi
push 0xa
call fcn.00432fc0
lea eax, [esp + 0x10]
mov ecx, ebp
call fcn.00433600
jmp case.0x433e24.515
lea eax, [esi - 0x201]
cmp eax, 0x84
ja case.0x433e24.515
movzx edx, byte [eax + 0x4340cc]
jmp dword [edx*4 + 0x4340b0]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 8
cmp dword [0x470418], edi
je 0x433e4e
mov eax, dword [esp + 0x20]
push edi
push eax
push ebx
push esi
push 3
call fcn.00432fc0
mov dword [esp + 0x20], edi
jmp case.0x433e24.515
cmp dword [0x470418], edi
je 0x433e73
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push 0
push ecx
push edx
push esi
push 3
call fcn.00432fc0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret 8
cmp dword [0x4703f8], edi
jne case.0x433e24.515
lea eax, [esp + 0x10]
push eax
mov dword [0x4703fc], edi
call dword [sym.imp.USER32.dll_GetCursorPos]
lea ecx, [esp + 0x10]
push ecx
push ebp
call dword [sym.imp.USER32.dll_ScreenToClient]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edi
push edx
push eax
push edi
push edi
call fcn.00432fc0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 8
push ebx
lea ecx, [esp + 0x20]
mov eax, esi
call fcn.00433520
test eax, eax
je case.0x433e24.515
cmp esi, 0x201
je 0x433f79
cmp esi, 0x207
je 0x433f79
cmp esi, 0x204
je 0x433f79
cmp esi, 0x20b
je 0x433f79
mov edi, dword [esp + 0x1c]
mov ecx, edi
not ecx
xor ebx, ebx
and dword [0x4703fc], ecx
jne 0x433f2d
mov dword [0x4703f8], 1
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov dword [0x4703f8], ebx
mov eax, dword [esp + 0x20]
mov edx, eax
shr edx, 0x10
movsx ecx, dx
movsx edx, ax
xor eax, eax
push 0
test ebx, ebx
sete al
push ecx
push edx
push edi
lea eax, [eax*4 + 9]
push eax
call fcn.00432fc0
cmp esi, 0x20b
je 0x433b5a
cmp esi, 0x20c
je 0x433b5a
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 8
cmp dword [0x4703fc], edi
mov ebx, 1
jne 0x433f8d
push ebp
call dword [sym.imp.USER32.dll_SetCapture]
mov edi, dword [esp + 0x1c]
or dword [0x4703fc], edi
jmp 0x433f2d
mov eax, dword [esp + 0x20]
mov ecx, eax
shr ecx, 0x10
movsx edx, cx
mov ecx, dword [esp + 0x1c]
push 0
push edx
movsx eax, ax
shr ecx, 0x10
movsx edx, cx
push eax
push edx
push 0xb
call fcn.00432fc0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 8
mov edx, dword [esp + 0x20]
push edx
push ebx
push esi
push ebp
call dword [sym.imp.USER32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 8