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

Disassembly:
push ecx
mov al, byte [0xbbf618]
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
test al, 1
push edi
jne 0x44fe51
or al, 1
mov byte [0xbbf618], al
call ebp
mov dword [0xbbf628], eax
cmp dword [0xe36314], 0xa
je 0x44fe69
mov esi, dword [0xbc7b18]
mov dword [esp + 0xc], esi
mov ax, si
jmp 0x44fe78
mov ax, word [0xbc7b3e]
mov word [esp + 0xc], ax
mov esi, dword [esp + 0xc]
test ax, ax
je 0x45003a
cmp ax, 3
jge 0x44ff6a
call ebp
lea ecx, [esi + esi*4]
mov esi, dword [0xbbf628]
mov edx, 0x33
lea ecx, [ecx + ecx*4]
sub edx, ecx
movsx ecx, dx
add ecx, esi
cmp ecx, eax
jae 0x45003a
call fcn.0044fab0
mov esi, eax
test esi, esi
je 0x45003a
mov word [esi + 0x3c], 2
call fcn.00505223
cdq
mov ecx, 0x3ac
mov dword [esi + 4], 0
idiv ecx
sub edx, 0xc8
mov dword [esi], edx
call fcn.00505223
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x44feef
dec eax
or eax, 0xfffffffe
inc eax
mov word [esi + 0x40], ax
call fcn.00505223
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x44ff04
dec eax
or eax, 0xfffffffe
inc eax
jne 0x44ff30
call fcn.00505223
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x44ff17
dec eax
or eax, 0xfffffffe
inc eax
mov dword [esi + 8], eax
call fcn.00505223
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x44ff2b
dec eax
or eax, 0xfffffffe
inc eax
add eax, 3
jmp 0x44ff4c
cmp eax, 1
jne 0x44ff4f
mov dword [esi + 8], eax
call fcn.00505223
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x44ff49
dec eax
or eax, 0xfffffffe
inc eax
add eax, 4
mov dword [esi + 0xc], eax
call ebp
inc word [0xbc7b1c]
mov dword [0xbbf628], eax
mov edx, dword [esi + 0xc]
neg edx
mov dword [esi + 4], edx
jmp 0x45003a
lea eax, [esi + esi - 4]
movsx eax, ax
test eax, eax
jle 0x45003a
mov edi, eax
call fcn.0044fab0
mov esi, eax
test esi, esi
je 0x450033
mov word [esi + 0x3c], 2
call fcn.00505223
cdq
mov ecx, 0x3ac
mov dword [esi + 4], 0
idiv ecx
sub edx, 0xc8
mov dword [esi], edx
call fcn.00505223
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x44ffbd
dec eax
or eax, 0xfffffffe
inc eax
mov word [esi + 0x40], ax
call fcn.00505223
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x44ffd2
dec eax
or eax, 0xfffffffe
inc eax
jne 0x44fffe
call fcn.00505223
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x44ffe5
dec eax
or eax, 0xfffffffe
inc eax
mov dword [esi + 8], eax
call fcn.00505223
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x44fff9
dec eax
or eax, 0xfffffffe
inc eax
add eax, 3
jmp 0x45001a
cmp eax, 1
jne 0x45001d
mov dword [esi + 8], eax
call fcn.00505223
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x450017
dec eax
or eax, 0xfffffffe
inc eax
add eax, 4
mov dword [esi + 0xc], eax
call ebp
inc word [0xbc7b1c]
mov dword [0xbbf628], eax
mov edx, dword [esi + 0xc]
neg edx
mov dword [esi + 4], edx
dec edi
jne 0x44ff7b
mov esi, dword [0xbc7b04]
test esi, esi
je 0x4500a3
cmp word [esi + 0x3c], 2
jne 0x450093
mov eax, dword [esi + 8]
mov ecx, dword [esi]
add ecx, eax
mov eax, dword [esi + 4]
lea edi, [esi + 4]
mov dword [esi], ecx
mov ecx, dword [esi + 0xc]
push edi
add eax, ecx
push esi
mov dword [edi], eax
call fcn.0044fb50
mov eax, dword [esi]
add esp, 8
cmp eax, 0x2e4
jge 0x45007c
cmp dword [edi], 0x1e0
jl 0x450093
mov edi, dword [esi + 0x38]
push esi
call fcn.0044fb00
add esp, 4
dec word [0xbc7b1c]
mov esi, edi
jmp 0x45009f
mov esi, dword [esi + 0x38]
mov word [0xbc7b10], 1
test esi, esi
jne 0x450044
pop edi
pop esi
pop ebp
pop ecx
ret