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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
mov ebx, eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetClientRect]
push 6
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_FillRect]
test byte [0x4b1668], 1
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jne 0x40a8c8
or dword [0x4b1668], 1
call esi
mov dword [0x4b1664], eax
cmp byte [ebx + 0x7ba], 0
je 0x40a979
mov eax, dword [ebx + 0x7bc]
cmp eax, dword [ebx + 0x7c4]
jle 0x40a91b
mov edi, eax
mov eax, dword [ebx + 0x7c4]
mov dword [ebp + 8], eax
call esi
sub eax, dword [ebx + 0x7c0]
mov ecx, dword [ebp + 8]
mov edx, edi
sub edx, ecx
imul eax, edx
xor edx, edx
mov esi, 0xc8
div esi
sub edi, eax
mov eax, edi
cmp eax, ecx
jg 0x40a953
mov dword [ebx + 0x794], ecx
mov eax, ecx
jmp 0x40a94c
mov edi, dword [ebx + 0x7c4]
mov dword [ebp + 8], eax
call esi
sub eax, dword [ebx + 0x7c0]
mov ecx, edi
sub ecx, dword [ebp + 8]
xor edx, edx
imul eax, ecx
mov ecx, 0xc8
div ecx
add eax, dword [ebp + 8]
cmp eax, edi
jl 0x40a953
mov dword [ebx + 0x794], edi
mov eax, edi
mov byte [ebx + 0x7ba], 0
push 7
push 7
push eax
push dword [ebx + 0x798]
xor esi, esi
push esi
push esi
call dword [sym.imp.GDI32.dll_CreateRoundRectRgn]
push 1
push eax
push dword [ebx + 0xa4]
call dword [sym.imp.USER32.dll_SetWindowRgn]
jmp 0x40a97b
xor esi, esi
mov eax, dword [ebx + 0xb8]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov edi, dword [ebp + 0xc]
push ecx
push edx
push ecx
push edx
push edi
call fcn.00405694
mov eax, dword [ebx + 0x7b0]
cmp eax, 1
je 0x40a9d0
cmp eax, 2
je 0x40a9d0
cmp byte [ebx + 0x7ba], 0
jne 0x40a9d0
cmp eax, esi
je 0x40a9c8
cmp eax, 4
je 0x40a9c8
cmp eax, 3
je 0x40a9c0
cmp eax, 5
jne 0x40a9f1
mov eax, dword [ebx + 0xc4]
jmp 0x40a9d6
mov eax, dword [ebx + 0xbc]
jmp 0x40a9d6
mov eax, dword [ebx + 0xc0]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
push ecx
push edx
push esi
push ecx
mov ecx, dword [ebx + 0xb8]
push edx
push dword [ecx + 0x10]
push esi
push edi
call fcn.0040552d
mov eax, dword [ebx + 0xc8]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
push ecx
push edx
push esi
push ecx
push edx
push 0xa
push 0xa
push edi
call fcn.0040552d
mov eax, dword [ebx + 0xac]
cmp eax, 4
jne 0x40aabf
mov edi, dword [0x4a9f44]
cmp edi, esi
mov eax, dword [0x4a9f48]
mov ecx, dword [0x4a9f4c]
mov edx, dword [0x4a9f40]
mov dword [0x4a9db8], eax
mov dword [0x4a9dbc], ecx
ja 0x40aa49
cmp edx, esi
jbe 0x40aae1
cmp eax, edx
jne 0x40aa55
cmp ecx, edi
je 0x40aae1
mov dword [ebp - 0x10], eax
mov eax, ecx
mov dword [ebp - 4], eax
mov ecx, 0x7fffffff
and eax, ecx
mov dword [ebp - 0xc], eax
fild qword [ebp - 0x10]
mov eax, 0x80000000
and dword [ebp - 4], eax
xor esi, esi
mov dword [ebp - 8], esi
fild qword [ebp - 8]
mov dword [ebp - 4], edi
and dword [ebp - 4], eax
and edi, ecx
fchs
mov dword [ebp - 0x10], edx
faddp st(1)
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], esi
fmul qword [0x490180]
fild qword [ebp - 0x10]
fild qword [ebp - 8]
fchs
faddp st(1)
fdivp st(1)
call fcn.0047d390
push 0x64
pop edx
cmp eax, edx
lea ecx, [ebx + 0x51c]
mov dword [ecx], eax
jle 0x40aab7
mov dword [ecx], edx
cmp dword [ecx], esi
jge 0x40aae1
mov dword [ecx], esi
jmp 0x40aae1
cmp eax, 6
jne 0x40aae1
mov ecx, dword [0x4a9f6c]
push 0x64
pop edx
cmp ecx, edx
lea eax, [ebx + 0x51c]
mov dword [eax], ecx
jle 0x40aadb
mov dword [eax], edx
cmp dword [eax], esi
jge 0x40aae1
mov dword [eax], esi
push dword [ebp + 0xc]
lea edi, [ebx + 0xd8]
call fcn.0045b1fc
mov esi, dword [ebp + 0xc]
push esi
lea edi, [ebx + 0x150]
call fcn.0045b1fc
push esi
lea edi, [ebx + 0x1c8]
call fcn.0045b1fc
push esi
lea edi, [ebx + 0x240]
call fcn.0045b1fc
push esi
lea ecx, [ebx + 0x4e8]
call fcn.0045b569
lea eax, [ebx + 0x478]
mov edi, esi
call fcn.0045b378
lea eax, [ebx + 0x2b8]
call fcn.0045b378
lea eax, [ebx + 0x328]
call fcn.0045b378
lea eax, [ebx + 0x398]
call fcn.0045b378
lea eax, [ebx + 0x408]
call fcn.0045b378
push esi
lea esi, [ebx + 0x560]
call fcn.0045b707
push edi
lea esi, [ebx + 0x59c]
call fcn.0045b707
push edi
lea esi, [ebx + 0x5d8]
call fcn.0045b707
push edi
lea esi, [ebx + 0x614]
call fcn.0045b707
push edi
lea esi, [ebx + 0x68c]
call fcn.0045b707
push edi
lea esi, [ebx + 0x650]
call fcn.0045b707
push edi
lea edi, [ebx + 0x704]
call fcn.0045b1fc
mov edi, dword [ebp + 0xc]
push edi
lea esi, [ebx + 0x6c8]
call fcn.0045b707
mov eax, dword [ebx + 0x77c]
test eax, eax
je 0x40abd3
mov eax, dword [eax + 0xb0]
call fcn.0045b378
mov ebx, dword [ebx + 0x780]
test ebx, ebx
je 0x40abe8
mov eax, dword [ebx + 0xb0]
call fcn.0045b378
pop edi
pop esi
pop ebx
leave
ret 8