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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
push ebx
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x5f8], 0
je 0x45f583
mov ecx, 0x73f470
call fcn.005a4a97
test eax, eax
jne 0x45f583
call sub.kernel32.dll_GetTickCount
sub eax, dword [esi + 0x604]
mov edi, 0x6de2f0
mov ecx, edi
mov dword [ebp - 0x14], eax
call fcn.00464616
push 1
pop ebx
cmp eax, ebx
je 0x45f274
mov ecx, edi
call fcn.00464616
cmp eax, 2
je 0x45f274
and dword [ebp - 0xc], 0
jmp 0x45f277
mov dword [ebp - 0xc], ebx
xor edi, edi
cmp dword [ebp - 0xc], edi
je 0x45f28f
mov ecx, 0x73f350
call fcn.0049d13d
cmp eax, 5
jae 0x45f28f
mov edi, ebx
lea ecx, [ebp - 0x38]
call fcn.0066b08d
lea ecx, [ebp - 0x68]
call fcn.0066b08d
mov ecx, dword [0x6e5938]
and dword [ebp - 0x1c], 0
lea eax, [ebp - 0x38]
push 0xc6
push eax
call fcn.0067697b
push 0x740780
lea ecx, [ebp - 0x38]
call fcn.0066c033
and dword [ebp - 0x10], 0
mov dword [ebp - 0x20], 0x3a98
test edi, edi
je 0x45f2da
mov dword [ebp - 0x20], 0x15f90
and dword [ebp - 4], 0
mov dword [ebp - 8], 0x7187e0
push dword [ebp - 4]
mov ecx, esi
call fcn.004608d7
test eax, eax
je 0x45f3fe
lea ecx, [ebp - 0x68]
call fcn.0066b83a
lea edi, [esi + 0x84]
mov ecx, edi
call fcn.006103e3
cmp dword [ebp - 4], eax
jne 0x45f315
xor ebx, ebx
jmp 0x45f37a
push 0
mov ecx, edi
push dword [ebp - 4]
call fcn.006119a4
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x45f32a
xor ebx, ebx
push dword [ebp - 4]
mov ecx, edi
call fcn.00611987
cmp ebx, eax
ja 0x45f344
push dword [ebp - 4]
mov ecx, edi
call fcn.00611987
mov ebx, eax
cmp ebx, dword [ebp - 0x20]
jbe 0x45f37a
cmp dword [ebp - 0xc], 0
jne 0x45f370
cmp dword [0x718734], 1
jne 0x45f370
mov ecx, edi
call fcn.006103cd
cmp eax, 2
jne 0x45f370
push dword [ebp - 4]
mov ecx, esi
call fcn.00460841
jmp 0x45f37a
push dword [ebp - 4]
mov ecx, edi
call fcn.006119bb
push dword [ebp - 8]
lea ecx, [ebp - 0x98]
call fcn.0066b0a7
xor eax, eax
mov ecx, esi
cmp dword [ebp - 0xc], eax
sete al
push eax
call fcn.004604af
cmp ebx, eax
jbe 0x45f3f0
push dword [ebp - 8]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x10], 1
call fcn.0066b0a7
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x1c]
test eax, eax
je 0x45f3dc
lea eax, [ebp - 0x80]
push 0x6c8320
push eax
call fcn.0066b125
pop ecx
lea eax, [ebp - 0x80]
pop ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.0066c04b
lea ecx, [ebp - 0x80]
call fcn.0066b24c
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x38]
push eax
call fcn.0066c033
lea ecx, [ebp - 0x50]
call fcn.0066b24c
lea ecx, [ebp - 0x98]
call fcn.0066b24c
push 1
pop ebx
add dword [ebp - 8], 0x48
inc dword [ebp - 4]
cmp dword [ebp - 8], 0x718ab0
jb 0x45f2e5
xor edi, edi
cmp dword [esi + 0x5fc], edi
je 0x45f447
lea eax, [ebp - 0x38]
push eax
call fcn.00507361
pop ecx
call sub.kernel32.dll_GetTickCount
cmp eax, dword [esi + 0x600]
jbe 0x45f43b
push 5
call fcn.00507469
pop ecx
cmp dword [esi + 0x5fc], edi
jne 0x45f4e9
cmp dword [ebp - 0x10], edi
je 0x45f4e9
cmp dword [0x757d3c], edi
jne 0x45f573
push 6
call fcn.0050730c
pop ecx
xor ecx, ecx
cmp dword [ebp - 0xc], edi
sete cl
cmp eax, edi
mov dword [0x757d38], ecx
je 0x45f573
lea ecx, [ebp - 0x50]
call fcn.0066b08d
mov ecx, dword [0x6e5938]
lea eax, [ebp - 0x50]
push 5
push eax
call fcn.0067697b
lea eax, [ebp - 0x50]
push ebx
push eax
call fcn.0050738f
push 5
call fcn.005073de
call sub.kernel32.dll_GetTickCount
add eax, 0x7d0
mov dword [esi + 0x600], eax
lea eax, [ebp - 0x38]
push eax
call fcn.00507361
push edi
push 0x45e371
call fcn.00507522
add esp, 0x18
call fcn.00507535
push ebx
mov ecx, 0x73cc00
mov dword [esi + 0x5fc], ebx
call fcn.004470c3
lea ecx, [ebp - 0x50]
call fcn.0066b24c
fild dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], eax
fstp dword [ebp - 0x10]
fild qword [ebp - 0x18]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fadd st(0), st(0)
fcomp dword [ebp - 0x10]
fnstsw ax
sahf
jae 0x45f573
xor ebx, ebx
push ebx
mov ecx, esi
call fcn.004608d7
test eax, eax
jne 0x45f52e
test ebx, ebx
jne 0x45f557
lea ecx, [esi + 0x84]
call fcn.006103e3
test eax, eax
jne 0x45f55f
jmp 0x45f557
lea edi, [esi + 0x84]
push ebx
mov ecx, edi
call fcn.006110b4
mov edx, eax
mov ecx, edi
mov dword [ebp - 0x14], edx
call fcn.0061041e
mov ecx, dword [ebp - 0x14]
cmp ecx, eax
jae 0x45f557
push ebx
mov ecx, esi
call fcn.00460841
inc ebx
cmp ebx, 0xa
jb 0x45f50d
jmp 0x45f573
mov ecx, 0x73e8d0
call fcn.0045fa19
mov ecx, 0x73cac8
call fcn.00447d32
lea ecx, [ebp - 0x68]
call fcn.0066b24c
lea ecx, [ebp - 0x38]
call fcn.0066b24c
pop edi
pop esi
pop ebx
leave
ret