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

Disassembly:
sub esp, 0x3c
mov eax, dword [0x47d874]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
push ebp
push esi
mov esi, ecx
cmp dword [esi + 0x190], 6
push edi
je 0x440948
cmp dword [esp + 0x68], 0x10
jb 0x440931
mov eax, dword [esp + 0x54]
push eax
call fcn.0044e46d
add esp, 4
xor al, al
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.0044e472
add esp, 0x3c
ret 0x2c
mov ebp, dword [esp + 0x54]
xor ebx, ebx
cmp dword [esp + 0x68], 0x10
mov eax, 0xf
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ebx
mov byte [esp + 0x30], bl
jae 0x44096a
lea ebp, [esp + 0x54]
mov ecx, dword [esi + 0x198]
fld qword [esp + 0x74]
push ecx
sub esp, 0x2c
mov edi, esp
fstp qword [esp + 0x24]
fld qword [esp + 0x9c]
mov dword [edi + 0x18], eax
mov eax, ebp
fstp qword [esp + 0x1c]
mov dword [edi + 0x14], ebx
mov byte [edi + 4], bl
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x440997
sub eax, ecx
push eax
push ebp
mov ecx, edi
call fcn.00404936
lea edx, [esp + 0x40]
lea edi, [esi + 8]
push edx
mov ecx, edi
call fcn.0043fe50
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x38]
call fcn.00404662
mov ebp, 0x10
cmp dword [esp + 0x28], ebp
jb 0x4409df
mov eax, dword [esp + 0x14]
push eax
call fcn.0044e46d
add esp, 4
sub esp, 0x1c
mov ecx, esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x50]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00404662
mov eax, dword [esi]
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call edx
mov eax, dword [esi + 0x198]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, edi
call fcn.0043ff60
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x38]
call fcn.00404662
cmp dword [esp + 0x28], ebp
jb 0x440a3a
mov edx, dword [esp + 0x14]
push edx
call fcn.0044e46d
add esp, 4
sub esp, 0x1c
mov ecx, esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x50]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00404662
mov eax, dword [esi]
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call edx
mov eax, dword [esi + 0x198]
push eax
push 0x100000
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
call fcn.00440160
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x38]
call fcn.00404662
cmp dword [esp + 0x28], ebp
jb 0x440a9a
mov edx, dword [esp + 0x14]
push edx
call fcn.0044e46d
add esp, 4
sub esp, 0x1c
mov ecx, esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x50]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00404662
mov eax, dword [esi]
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call edx
mov eax, dword [esi + 0x190]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x194], eax
mov dword [esi + 0x190], 7
mov byte [esi + 0x264], bl
mov byte [esi + 0x288], 1
call edi
mov dword [esi + 0x280], eax
call edi
cmp dword [esp + 0x44], ebp
mov dword [esi + 0x284], eax
jb 0x440b0e
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0044e46d
add esp, 4
cmp dword [esp + 0x68], ebp
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], ebx
mov byte [esp + 0x30], bl
jb 0x440b31
mov edx, dword [esp + 0x54]
push edx
call fcn.0044e46d
add esp, 4
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov al, 1
call fcn.0044e472
add esp, 0x3c
ret 0x2c