Function at 0x401472
Capabilities:
Check for foreground window switch

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x64
and esp, 0xfffffff0
mov eax, 0
add eax, 0xf
add eax, 0xf
shr eax, 4
shl eax, 4
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
call fcn.00401ca0
call sym.___main
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
call sub.USER32.dll_GetForegroundWindow
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
je 0x4014f8
lea eax, [ebp - 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.USER32.dll_GetWindowRect
sub esp, 8
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
sub eax, edx
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
sub eax, edx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
call sym._rand
mov ecx, eax
mov eax, 0x80100201
imul ecx
lea eax, [ecx + edx]
mov edx, eax
sar edx, 0xa
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
mov eax, edx
shl eax, 0xb
sub eax, edx
sub ecx, eax
mov eax, ecx
mov dword [ebp - 0x38], eax
mov dword [esp + 0x14], 1
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
sub eax, edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.USER32.dll_MoveWindow
sub esp, 0x18
call sym._rand
mov ecx, eax
mov eax, 0xa6f87fd7
imul ecx
lea eax, [ecx + edx]
mov edx, eax
sar edx, 9
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
imul eax, eax, 0x311
mov ebx, ecx
sub ebx, eax
call sym._rand
mov ecx, eax
mov eax, 0x80200803
imul ecx
lea eax, [ecx + edx]
mov edx, eax
sar edx, 9
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 0xa
sub eax, edx
sub ecx, eax
mov eax, ecx
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.USER32.dll_SetCursorPos
sub esp, 8
mov dword [esp], 5
call sub.KERNEL32.dll_Sleep
sub esp, 4
call sym._rand
mov ecx, eax
mov eax, 0x80100201
imul ecx
lea eax, [ecx + edx]
mov edx, eax
sar edx, 0xa
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
mov eax, edx
shl eax, 0xb
sub eax, edx
sub ecx, eax
mov eax, ecx
mov dword [ebp - 0x38], eax
mov dword [esp + 0x14], 1
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
sub eax, edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.USER32.dll_MoveWindow
sub esp, 0x18
call sym._rand
mov ecx, eax
mov eax, 0xa6f87fd7
imul ecx
lea eax, [ecx + edx]
mov edx, eax
sar edx, 9
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
imul eax, eax, 0x311
mov ebx, ecx
sub ebx, eax
call sym._rand
mov ecx, eax
mov eax, 0x80200803
imul ecx
lea eax, [ecx + edx]
mov edx, eax
sar edx, 9
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 0xa
sub eax, edx
sub ecx, eax
mov eax, ecx
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.USER32.dll_SetCursorPos
sub esp, 8
mov dword [esp], 5
call sub.KERNEL32.dll_Sleep
sub esp, 4
call sym._rand
mov ecx, eax
mov eax, 0x80100201
imul ecx
lea eax, [ecx + edx]
mov edx, eax
sar edx, 0xa
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 0xb
sub eax, edx
sub ecx, eax
mov eax, ecx
inc eax
mov dword [ebp - 0x38], eax
mov dword [esp + 0x14], 1
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.USER32.dll_MoveWindow
sub esp, 0x18
call sym._rand
mov ecx, eax
mov eax, 0xa6f87fd7
imul ecx
lea eax, [ecx + edx]
mov edx, eax
sar edx, 9
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
imul eax, eax, 0x311
mov ebx, ecx
sub ebx, eax
call sym._rand
mov ecx, eax
mov eax, 0x80200803
imul ecx
lea eax, [ecx + edx]
mov edx, eax
sar edx, 9
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 0xa
sub eax, edx
sub ecx, eax
mov eax, ecx
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.USER32.dll_SetCursorPos
sub esp, 8
mov dword [esp], 5
call sub.KERNEL32.dll_Sleep
sub esp, 4
call sym._rand
mov ecx, eax
mov eax, 0x80100201
imul ecx
lea eax, [ecx + edx]
mov edx, eax
sar edx, 0xa
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 0xb
sub eax, edx
sub ecx, eax
mov eax, ecx
inc eax
mov dword [ebp - 0x38], eax
mov dword [esp + 0x14], 1
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x28]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.USER32.dll_MoveWindow
sub esp, 0x18
call sym._rand
mov ecx, eax
mov eax, 0xa6f87fd7
imul ecx
lea eax, [ecx + edx]
mov edx, eax
sar edx, 9
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
imul eax, eax, 0x311
mov ebx, ecx
sub ebx, eax
call sym._rand
mov ecx, eax
mov eax, 0x80200803
imul ecx
lea eax, [ecx + edx]
mov edx, eax
sar edx, 9
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 0xa
sub eax, edx
sub ecx, eax
mov eax, ecx
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.USER32.dll_SetCursorPos
sub esp, 8
mov dword [esp], 5
call sub.KERNEL32.dll_Sleep
sub esp, 4
jmp 0x4014ab