Function at 0x402897
Capabilities:
Check for unmoving mouse cursor
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x414288
mov eax, dword fs:[0]
push eax
sub esp, 0x78
mov eax, dword [0x41a090]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
push edi
mov eax, dword [0x41a090]
xor eax, esp
push eax
lea eax, [esp + 0x88]
mov dword fs:[0], eax
mov esi, dword [ebp + 0x10]
mov ebx, ecx
mov ecx, dword [ebp + 8]
mov eax, 0x113
xor edi, edi
mov dword [esp + 0x38], edx
mov dword [esp + 0x10], esi
cmp ecx, eax
ja 0x402a91
je 0x4029e1
mov eax, ecx
dec eax
je 0x4029cf
dec eax
je 0x4029a3
sub eax, 3
je 0x402963
sub eax, 0xa
je 0x40292a
sub eax, 0x102
jne 0x402c3e
push esi
push dword [ebp + 0xc]
push 0x111
push edx
jmp 0x402ceb
cmp dword [ebx + 0x50], edi
jne 0x402c3e
mov eax, dword [ebx + 0x40]
lea ecx, [esp + 0x3c]
push ecx
push eax
call dword [sym.imp.USER32.dll_BeginPaint]
push dword [esp + 0x40]
mov edx, dword [ebx]
lea ecx, [esp + 0x48]
push ecx
push eax
mov ecx, ebx
call dword [edx + 0x2c]
lea eax, [esp + 0x3c]
push eax
push dword [ebx + 0x40]
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x4029da
lea eax, [esp + 0x28]
push eax
push dword [ebx + 0x40]
call dword [sym.imp.USER32.dll_GetClientRect]
lea esi, [esp + 0x28]
lea edi, [esp + 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
cmp dword [ebx + 0x34], edi
je 0x402989
mov ebx, dword [ebx + 0x34]
jmp 0x402991
cmp dword [ebx + 0x30], edi
je 0x4029da
mov ebx, dword [ebx + 0x30]
mov eax, dword [ebx]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x2c]
push ecx
push ebx
call dword [eax + 0x1c]
jmp 0x4029da
push dword [ebx + 0x2ac]
push dword [ebx + 0x40]
call dword [sym.imp.USER32.dll_KillTimer]
cmp dword [0x41c7c0], edi
jne 0x402c3e
push esi
push dword [ebp + 0xc]
push 0x10
push dword [0x41c61c]
jmp 0x402c38
push dword [esi]
push 0xffffffffffffffeb
push edx
call dword [sym.imp.USER32.dll_SetWindowLongW]
xor eax, eax
jmp 0x402cf1
mov eax, dword [ebp + 0xc]
dec eax
je 0x402a3d
dec eax
jne 0x402c3e
push 2
push dword [ebx + 0x40]
call dword [sym.imp.USER32.dll_KillTimer]
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [esp + 0x18]
push eax
push dword [ebx + 0x40]
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [ebx + 0x34], edi
je 0x402ce0
movzx esi, word [esp + 0x18]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
add edx, 0x20
movzx edx, dx
shl edx, 0x10
or edx, esi
push edx
push edi
push 0x203
jmp 0x402a7f
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [esp + 0x18]
push eax
push dword [ebx + 0x40]
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [ebx + 0x34], edi
je 0x402ce0
movzx esi, word [esp + 0x18]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
add edx, 0x20
movzx edx, dx
shl edx, 0x10
or edx, esi
push edx
push edi
push 0x200
mov eax, dword [ebx + 0x34]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov esi, dword [esp + 0x10]
jmp 0x402c3e
mov eax, ecx
sub eax, 0x201
je 0x402c25
dec eax
je 0x402c13
sub eax, 0x262
je 0x402ac3
dec eax
jne 0x402c3e
push 6
push dword [ebx + 0x40]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x402c3e
push 0x30
pop esi
push esi
lea eax, [esp + 0x40]
push edi
push eax
call fcn.004060e0
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x5c], eax
mov eax, dword [0x41c7bc]
mov dword [esp + 0x60], eax
add esp, 0xc
mov dword [esp + 0x3c], esi
lea eax, [esp + 0x3c]
mov esi, str.BrowerWnd
push eax
mov dword [esp + 0x48], 0x402d14
mov dword [esp + 0x68], esi
call dword [sym.imp.USER32.dll_RegisterClassExW]
mov eax, dword [0x41b684]
mov ecx, 0x41b684
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov dword [esp + 0x90], edi
push dword [0x41c7c8]
lea eax, [esp + 0x18]
push 0x41705c
call fcn.00402fdc
pop ecx
pop ecx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [esp + 0x28]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
add eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x2c]
mov ecx, eax
mov eax, dword [esp + 0x34]
add eax, edx
push edi
cdq
sub eax, edx
mov edx, dword [ebx + 0x48]
push edx
push edi
push edi
push 0x262
push 0x3f2
sar eax, 1
sar ecx, 1
add eax, 0xfffffecf
push eax
add ecx, 0xfffffe07
push ecx
push 0xcf0000
push dword [esp + 0x38]
push esi
push edi
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x41c258], eax
cmp eax, edi
je 0x402bfa
push dword [0x41c7cc]
call fcn.00404826
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
pop ecx
push 3
push dword [0x41c258]
call esi
push 5
push dword [0x41c258]
call esi
push dword [0x41c258]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [ebx + 0x40]
push edi
push eax
call esi
mov eax, dword [ebx + 0x40]
lea ecx, [esp + 0x18]
push ecx
push edi
push eax
push 0x4018dd
push edi
push edi
mov dword [0x41c7c0], 1
call dword [sym.imp.KERNEL32.dll_CreateThread]
or dword [esp + 0x90], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.004010a9
jmp 0x402a88
cmp dword [ebx + 0x2a8], edi
jne 0x402c3e
push esi
push 2
push 0xa2
jmp 0x402c35
cmp dword [ebx + 0x2a8], edi
jne 0x402c3e
push esi
push 2
push 0xa1
push dword [ebx + 0x40]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebx + 0x34], edi
je 0x402ce0
mov eax, dword [ebp + 8]
cmp eax, 0x200
je 0x402caa
cmp eax, 0x201
je 0x402caa
cmp eax, 0x202
je 0x402caa
cmp eax, 0x203
je 0x402caa
cmp eax, 0x205
je 0x402caa
cmp eax, 0x206
je 0x402caa
cmp eax, 0x207
je 0x402caa
cmp eax, 0x208
je 0x402caa
cmp eax, 0x209
je 0x402caa
cmp eax, 0x20a
je 0x402caa
cmp eax, 0x100
je 0x402caa
cmp eax, 0x101
je 0x402caa
cmp eax, 0x102
je 0x402caa
cmp eax, 0x20
jne 0x402ce0
mov ebx, dword [ebx + 0x34]
mov edx, dword [ebx]
mov eax, esi
shr eax, 0x10
cwde
add eax, 0x20
movsx ecx, si
movzx eax, ax
movzx ecx, cx
shl eax, 0x10
lea edi, [esp + 0x10]
push edi
or eax, ecx
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
push ebx
call dword [edx + 0x24]
test eax, eax
jne 0x402ce0
mov eax, dword [esp + 0x10]
jmp 0x402cf1
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [esp + 0x44]
call dword [sym.imp.USER32.dll_DefWindowProcW]
mov ecx, dword [esp + 0x88]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.004051c7
mov esp, ebp
pop ebp
ret 0xc