Function at 0x415150
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x4ca00c]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x258]
sub eax, dword [edi + 0x254]
sar eax, 3
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push str.SDesktop::OnMouseMove___d___d____d_n
call fcn.0040e4e0
add esp, 0x10
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call dword [sym.imp.soui.dll_public:_class_SOUI::CRect___thiscall_SOUI::SWindow::GetWindowRect_void_]
mov ebx, dword [ebp + 8]
mov al, bl
and al, 1
mov byte [edi + 0x1da], al
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x1c8], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x1cc], eax
and ebx, 1
je 0x4151f9
cmp byte [edi + 0x1d8], 0
je 0x415206
cmp byte [edi + 0x1d9], 0
jne 0x4151f9
mov eax, dword [edi + 0x1a0]
sub eax, dword [edi + 0x198]
push eax
mov eax, dword [edi + 0x19c]
sub eax, dword [edi + 0x194]
push eax
push str.xiangsuzhi:_dx_d_n
call fcn.0040e4e0
add esp, 0xc
jmp 0x415699
cmp byte [edi + 0x1d8], 0
jne 0x41568c
cmp byte [edi + 0x1d9], 0
je 0x41568c
mov ecx, dword [edi + 0x1b0]
push 0
push 0
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::SetVisible_int__int_]
test ebx, ebx
je 0x4156b3
movups xmm0, xmmword [edi + 0x194]
mov ebx, dword [edi + 0x208]
movups xmmword [ebp - 0x18], xmm0
cmp ebx, 6
jne 0x4154b4
mov eax, dword [edi + 0x204]
cmp eax, 8
jne 0x4152c4
mov esi, dword [ebp + 0xc]
xor ecx, ecx
sub esi, dword [edi + 0x1d0]
mov edx, dword [ebp + 0x10]
mov eax, esi
sub eax, dword [ebp - 0x18]
sub edx, dword [edi + 0x1d4]
mov ebx, dword [ebp - 0x10]
add ebx, eax
mov dword [ebp - 0x18], esi
mov eax, edx
mov dword [ebp - 0x10], ebx
sub eax, dword [ebp - 0x14]
add dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x14], edx
cmp esi, dword [ebp - 0x28]
jge 0x41528a
mov ecx, esi
neg ecx
mov esi, dword [ebp - 0x20]
cmp ebx, esi
jle 0x415298
mov ecx, esi
sub ecx, ebx
sub ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
cmp edx, ebx
jge 0x4152a3
mov eax, edx
neg eax
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xc]
cmp edx, esi
jle 0x4152b3
mov eax, esi
sub eax, edx
sub eax, ebx
push eax
push ecx
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
jmp 0x415483
test eax, eax
jne 0x41530d
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
cmp eax, edx
jl 0x4152dc
mov dword [edi + 0x204], 2
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp - 0xc]
cmp ebx, esi
jl 0x4152f0
mov dword [edi + 0x204], 5
cmp eax, edx
mov ecx, edx
cmovl ecx, eax
cmovg edx, eax
cmp ebx, esi
mov eax, esi
cmovg esi, ebx
cmovl eax, ebx
push esi
push edx
push eax
push ecx
jmp 0x415479
cmp eax, 2
jne 0x415357
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x18]
cmp eax, edx
jg 0x415326
mov dword [edi + 0x204], 0
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp - 0xc]
cmp ebx, esi
jl 0x41533a
mov dword [edi + 0x204], 7
cmp eax, edx
mov ecx, edx
cmovl ecx, eax
cmovg edx, eax
cmp ebx, esi
mov eax, esi
cmovg esi, ebx
cmovl eax, ebx
push esi
push edx
push eax
push ecx
jmp 0x415479
cmp eax, 5
jne 0x4153a1
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
cmp eax, edx
jl 0x415370
mov dword [edi + 0x204], 7
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x14]
cmp ebx, esi
jg 0x415384
mov dword [edi + 0x204], 0
cmp eax, edx
mov ecx, edx
cmovl ecx, eax
cmovg edx, eax
cmp ebx, esi
mov eax, esi
cmovg esi, ebx
cmovl eax, ebx
push esi
push edx
push eax
push ecx
jmp 0x415479
cmp eax, 7
jne 0x4153eb
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x18]
cmp eax, edx
jg 0x4153ba
mov dword [edi + 0x204], 5
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x14]
cmp ebx, esi
jg 0x4153ce
mov dword [edi + 0x204], 2
cmp eax, edx
mov ecx, edx
cmovl ecx, eax
cmovg edx, eax
cmp ebx, esi
mov eax, esi
cmovg esi, ebx
cmovl eax, ebx
push esi
push edx
push eax
push ecx
jmp 0x415479
cmp eax, 1
jne 0x415418
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0xc]
cmp edx, ecx
jl 0x415404
mov dword [edi + 0x204], 6
cmp edx, ecx
mov eax, ecx
cmovg ecx, edx
cmovl eax, edx
push ecx
push dword [ebp - 0x10]
push eax
push dword [ebp - 0x18]
jmp 0x415479
cmp eax, 6
jne 0x415433
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x14]
cmp edx, ecx
jg 0x415404
mov dword [edi + 0x204], 1
jmp 0x415404
cmp eax, 3
jne 0x41544e
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
jl 0x415467
mov dword [edi + 0x204], 4
jmp 0x415467
cmp eax, 4
jne 0x41548e
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jg 0x415467
mov dword [edi + 0x204], 3
push dword [ebp - 0xc]
cmp edx, ecx
mov eax, ecx
cmovg ecx, edx
cmovl eax, edx
push ecx
push dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_SetRect]
movups xmm0, xmmword [ebp - 0x18]
movups xmmword [edi + 0x194], xmm0
mov ecx, edi
call fcn.00415d70
push dword [edi + 0x1cc]
mov ecx, edi
push dword [edi + 0x1c8]
call fcn.00415eb0
mov ecx, edi
call fcn.00415c30
jmp 0x4156b3
cmp ebx, 2
jne 0x41550f
push dword [edi + 0x19c]
mov edx, dword [edi + 0x194]
mov ecx, dword [edi + 0x1c8]
call fcn.0042fdc0
mov edx, dword [edi + 0x198]
add esp, 4
mov ecx, dword [edi + 0x1cc]
mov esi, eax
push dword [edi + 0x1a0]
call fcn.0042fdc0
add esp, 4
push dword [edi + 0x210]
push dword [edi + 0x20c]
push ebx
push eax
push esi
push dword [edi + 0x1bc]
push dword [edi + 0x1b8]
jmp 0x415661
cmp ebx, 3
jne 0x41554a
mov eax, dword [edi + 0x1c8]
mov ecx, dword [edi + 0x1cc]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa4], ecx
lea ecx, [edi + 0x254]
push eax
call fcn.00416c70
mov ecx, edi
call fcn.00415c30
jmp 0x4156b3
test ebx, ebx
je 0x4155ac
cmp ebx, 1
je 0x4155ac
cmp ebx, 4
jne 0x415683
mov eax, dword [edi + 0x20c]
mov ecx, dword [edi + 0x1cc]
cdq
sub eax, edx
mov edx, dword [edi + 0x1c8]
sar eax, 1
lea esi, [eax + eax*4]
lea eax, [ecx + esi*2]
push eax
lea eax, [edx + esi*2]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_CreateEllipticRgn]
mov ecx, dword [edi + 0x260]
mov esi, eax
push 2
push esi
push ecx
push ecx
call dword [sym.imp.GDI32.dll_CombineRgn]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, edi
call fcn.00415c30
jmp 0x4156b3
mov edx, dword [edi + 0x1b8]
mov ecx, dword [edi + 0x1c8]
mov eax, ecx
mov esi, dword [edi + 0x194]
cmp edx, ecx
mov dword [ebp - 0xa4], esi
cmovl eax, edx
cmp eax, esi
jle 0x4155dc
cmp edx, ecx
mov esi, ecx
cmovl esi, edx
mov dword [ebp - 0xa4], esi
mov esi, dword [edi + 0x19c]
cmp edx, ecx
mov eax, ecx
cmovg eax, edx
cmp eax, esi
jge 0x4155f4
cmp edx, ecx
cmovg ecx, edx
jmp 0x4155f6
mov ecx, esi
mov esi, dword [edi + 0x1bc]
mov edx, dword [edi + 0x1cc]
mov eax, edx
mov ebx, dword [edi + 0x198]
cmp esi, edx
mov dword [ebp - 0xa0], ebx
cmovl eax, esi
cmp eax, ebx
jle 0x415626
cmp esi, edx
mov eax, edx
cmovl eax, esi
mov dword [ebp - 0xa0], eax
mov ebx, dword [edi + 0x1a0]
cmp esi, edx
mov eax, edx
cmovg eax, esi
cmp eax, ebx
jge 0x41563e
cmp esi, edx
cmovg edx, esi
jmp 0x415640
mov edx, ebx
push dword [edi + 0x210]
mov ebx, dword [edi + 0x208]
push dword [edi + 0x20c]
push ebx
push edx
push ecx
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
lea ecx, [ebp - 0x9c]
call fcn.00411b30
push eax
lea ecx, [edi + 0x23c]
call fcn.00414330
lea ecx, [ebp - 0x9c]
call fcn.00412190
mov ecx, edi
call fcn.00415c30
jmp 0x4156b3
push str.hehehehehehhe_n
call fcn.0040e4e0
add esp, 4
mov ecx, edi
call fcn.00415c30
push dword [edi + 0x1cc]
mov ecx, edi
push dword [edi + 0x1c8]
call fcn.00415eb0
mov eax, dword fs:[0x2c]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [eax]
mov eax, dword [0x4cdb18]
cmp eax, dword [ecx + 4]
jg 0x4156fd
call esi
sub eax, dword [0x4cdb1c]
cmp eax, 0x32
jbe 0x4156ea
mov ecx, edi
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::Invalidate_void_]
call esi
mov dword [0x4cdb1c], eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004388ef
mov esp, ebp
pop ebp
ret 0xc
push 0x4cdb18
call fcn.00438b0e
add esp, 4
cmp dword [0x4cdb18], 0xffffffff
jne 0x4156ce
call esi
push 0x4cdb18
mov dword [0x4cdb1c], eax
call fcn.00438acf
add esp, 4
jmp 0x4156ce