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

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebx, ebx
cmp byte [edi + 0x7f6], bl
jne 0x44fb5e
mov esi, dword [esp + 0x28]
mov ebp, dword [esi + 0x2a]
cmp ebp, ebx
je 0x44f8f5
mov ecx, ebp
call fcn.00458c80
push ebp
call fcn.004aa713
add esp, 4
mov dword [esi + 0x2a], ebx
mov eax, dword [esi + 0xa]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov ecx, dword [eax + 0x28]
cmp ecx, ebx
jne 0x44f914
cmp dword [eax + 0x24], ebx
je 0x44f93f
mov eax, dword [esi + 0x36]
mov ecx, dword [esi + 0x3a]
xor edx, edx
cmp eax, ebx
jle 0x44f93f
mov eax, dword [ecx + 0x21]
cmp byte [eax + 4], 3
je 0x44f935
mov eax, dword [eax + 0x1e]
mov eax, dword [eax + 0xc]
cmp eax, ebx
je 0x44f935
mov byte [eax], bl
mov eax, dword [esi + 0x36]
mov ecx, dword [ecx]
inc edx
cmp edx, eax
jl 0x44f920
mov ecx, dword [esi + 0xa]
mov dword [ecx + 0x28], ebx
mov edx, dword [esi + 0xa]
mov dword [edx + 0x24], ebx
mov eax, dword [esi + 0x1e]
cmp eax, ebx
je 0x44f977
cmp dword [esi + 0x16], eax
jne 0x44f96d
cmp dword [esi + 0x1a], ebx
je 0x44f965
mov ecx, dword [esi + 0xa]
test byte [ecx + 0x2c], 0x40
je 0x44f96d
inc dword [edi + 0x137]
jmp 0x44f977
cmp eax, ebx
je 0x44f977
inc dword [edi + 0x13b]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, dword [esi + 0xe]
mov edx, eax
mov eax, 0x1f4
sub eax, ebp
add edx, eax
mov eax, 0x10624dd3
mul edx
shr edx, 6
mov dword [edi + 0x160], edx
mov ecx, dword [esi + 0x12]
mov dword [edi + 0x15c], ecx
mov edx, dword [esi + 0x1e]
mov dword [edi + 0x164], edx
mov eax, dword [esi + 0x22]
mov dword [edi + 0x168], eax
mov ecx, dword [esi + 0x26]
add ecx, 5
lea edx, [edi + 0x14b]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [esi + 0xa]
mov al, byte [ecx + 0x2c]
test al, 0x20
je 0x44fa3d
and al, 0xdf
mov byte [ecx + 0x2c], al
mov eax, dword [esi + 0x3a]
cmp eax, ebx
je 0x44f9f0
mov ecx, dword [esi + 0xa]
push ebx
push ebx
add eax, 0xd
mov edx, dword [ecx + 8]
push edx
push ebx
push eax
jmp 0x44fa16
mov eax, dword [esi + 0x2e]
push ebx
cmp eax, ebx
push ebx
je 0x44fa07
mov ecx, dword [esi + 0xa]
add eax, 0xd
mov edx, dword [ecx + 8]
push edx
push ebx
push eax
jmp 0x44fa16
mov eax, dword [esi + 0xa]
lea edx, [edi + 0x800]
mov ecx, dword [eax + 8]
push ecx
push ebx
push edx
mov ecx, edi
call fcn.0044e3c0
cmp byte [edi + 0x7f6], bl
jne 0x44fa2d
cmp byte [edi + 0x7ff], bl
je 0x44fa3d
mov byte [edi + 0x7ff], bl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 4
mov ecx, dword [esi + 0x2e]
cmp ecx, ebx
je 0x44fb5e
mov eax, dword [ecx + 0x21]
cmp byte [eax + 4], 3
jne 0x44fa77
lea eax, [esp + 0x14]
push 7
push eax
push esi
mov ecx, edi
call fcn.0044e710
lea ecx, [edi + 0x824]
call fcn.0043d610
lea ecx, [edi + 0x800]
push ecx
jmp 0x44fb2e
mov edx, dword [eax + 0x1e]
mov al, byte [esi + 4]
test al, 0x10
mov edx, dword [edx + 0xc]
mov byte [esp + 0x28], bl
je 0x44fac3
movsx ecx, byte [ecx + 0x41]
mov eax, dword [edx + ecx*4 + 7]
mov edx, dword [eax + 6]
cmp byte [edx + 0xc], 1
jne 0x44fb35
mov al, 1
shl al, cl
lea ecx, [esp + 0x14]
push eax
push ecx
push esi
mov ecx, edi
call fcn.0044e710
lea ecx, [edi + 0x824]
call fcn.0043d610
lea edx, [edi + 0x800]
push edx
jmp 0x44fb2e
movsx eax, al
xor ecx, ecx
mov dword [esp + 0x10], eax
lea ebp, [edx + 7]
mov ebx, dword [esp + 0x10]
mov eax, 1
shl eax, cl
test ebx, eax
je 0x44faff
xor ebx, ebx
cmp edx, ebx
je 0x44fb01
mov eax, dword [ebp]
cmp eax, ebx
je 0x44fb01
cmp byte [eax + 3], 1
jne 0x44fb01
mov bl, byte [esp + 0x28]
mov al, 1
shl al, cl
or bl, al
mov byte [esp + 0x28], bl
xor ebx, ebx
inc ecx
add ebp, 4
cmp ecx, 3
jl 0x44facf
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x14]
push ecx
push edx
push esi
mov ecx, edi
call fcn.0044e710
lea ecx, [edi + 0x824]
call fcn.0043d610
lea eax, [edi + 0x800]
push eax
mov ecx, edi
call fcn.0044e680
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x44fb5e
mov eax, dword [edi + 0x1c]
lea edx, [esp + 0x14]
push ebx
push edx
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [edi + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 4