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

Disassembly:
sub esp, 0x8b0
push ebx
push ebp
mov ebp, dword [esp + 0x8d4]
xor ecx, ecx
push esi
cmp ebp, ecx
push edi
mov ebx, 1
mov dword [esp + 0x10], 0xa
jne 0x455af3
xor eax, eax
mov dword [0x6c6208], ecx
mov dword [0x6c620c], eax
jmp 0x455af8
mov eax, dword [0x6c620c]
cmp dword [0x6c61e4], ecx
je 0x455b89
cmp dword [0x6c6208], 0x10
jl 0x455b1a
mov eax, 0x10
mov dword [0x6c6208], ecx
jmp 0x455b1e
cmp eax, ecx
jle 0x455b89
mov esi, dword [esp + 0x8e0]
dec eax
mov dword [0x6c620c], eax
mov eax, dword [esp + 0x8e4]
cmp eax, ecx
jne 0x455b3d
mov ecx, esi
shl ecx, 0xb
jmp 0x455b4b
lea eax, [esi + esi*2]
shl eax, 4
add eax, esi
lea ecx, [eax + eax*2]
shl ecx, 4
mov edi, dword [esp + 0x8d8]
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push 0xa
push esi
push ebp
push str.ReadCdromSector0__skipping:_Sector_d__d___iRetry_d_Tick_d_r_n
call fcn.004b4fc0
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8b0
ret
mov eax, dword [esp + 0x8f4]
cmp eax, ecx
je 0x455b96
mov dword [eax], ecx
mov eax, dword [esp + 0x8ec]
cmp eax, 0x96
jbe 0x455baa
mov dword [esp + 0x10], ecx
jmp 0x455bc1
cmp eax, 2
jbe 0x455bb5
mov dword [esp + 0x10], ebx
jmp 0x455bc1
cmp eax, ecx
jbe 0x455bc1
mov dword [esp + 0x10], 5
mov edx, dword [esp + 0x8e4]
mov eax, dword [esp + 0x8e0]
cmp edx, ecx
mov dword [esp + 0x14], eax
mov esi, eax
je 0x455be5
cmp eax, 0x10
jbe 0x455bef
mov esi, 0x10
jmp 0x455bef
cmp eax, 0x20
jbe 0x455bef
mov esi, 0x20
cmp eax, ecx
je 0x456191
mov ebp, dword [esp + 0x8d8]
mov eax, dword [esp + 0x14]
cmp esi, eax
jbe 0x455c08
mov esi, eax
mov eax, dword [esp + 0x8e4]
xor ecx, ecx
cmp eax, ecx
mov eax, dword [0x760b28]
jne 0x455dac
cmp eax, 2
jl 0x455cde
mov eax, 1
mov dword [esp + 0x18], ecx
cmp eax, esi
mov edi, 1
sbb eax, eax
neg eax
add eax, 2
cmp eax, ecx
mov dword [esp + 0x10], eax
jle 0x455d54
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x8e0]
mov ebx, dword [esp + 0x8dc]
push eax
push edi
push ecx
push ebx
push str.ReadCdromSector1:_Sector_d__d___iRetry_d_Tick_d_r_n
call fcn.004b4fc0
mov edx, dword [esp + 0x8e8]
mov eax, dword [esp + 0x8dc]
push esi
push ebx
push ebp
push edx
push eax
call fcn.00455900
add esp, 0x28
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x8e0]
mov edx, dword [esp + 0x8dc]
push eax
push edi
push ecx
push edx
push str.ReadCdromSector2:_Sector_d__d___iRetry_d_Tick_d_r_n
call fcn.004b4fc0
add esp, 0x14
cmp ebx, 1
je 0x455e19
mov ecx, dword [0x6c6208]
inc ecx
cmp esi, 1
mov dword [0x6c6208], ecx
ja 0x455d4d
mov ecx, dword [esp + 0x10]
mov eax, edi
inc edi
cmp eax, ecx
jl 0x455c4a
jmp 0x455d54
push str.Can_not_read_CD_DVD_Blu_ray_disc_sector.
push 0x2751
call fcn.004dd120
mov edi, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x18], eax
mov ebp, 1
lea edi, [edi + edi*4]
test edi, edi
jl 0x455d4d
mov ecx, dword [esp + 0x8dc]
mov edx, dword [esp + 0x8d8]
mov eax, dword [esp + 0x8d0]
push esi
push ecx
mov ecx, dword [esp + 0x8dc]
push edx
push eax
push ecx
call fcn.004555a0
mov ebx, eax
add esp, 0x14
cmp ebx, 1
je 0x455d99
mov ecx, dword [0x6c6208]
inc ecx
cmp esi, 1
mov dword [0x6c6208], ecx
ja 0x455d4d
mov edx, ebp
inc ebp
cmp edx, edi
jle 0x455d04
mov ebp, dword [esp + 0x8d8]
cmp ebx, 1
jne 0x455e2a
mov edx, dword [esp + 0x8dc]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x8e4]
add edx, esi
sub ecx, esi
mov dword [esp + 0x8dc], edx
test eax, eax
mov dword [esp + 0x14], ecx
jne 0x455e39
mov edx, esi
shl edx, 0xb
add ebp, edx
mov dword [esp + 0x8d8], ebp
jmp 0x456185
mov ebp, dword [esp + 0x8d8]
mov dword [0x6c6208], 0
jmp 0x455d5d
cmp eax, 2
jl 0x455e28
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
cmp eax, ecx
mov edi, 1
jl 0x455d54
mov eax, dword [esp + 0x8dc]
mov ecx, dword [esp + 0x8d4]
mov edx, dword [esp + 0x8cc]
push esi
push eax
mov eax, dword [esp + 0x8d0]
push ebp
push ecx
push edx
push eax
call fcn.004559c0
mov ebx, eax
add esp, 0x18
cmp ebx, 1
je 0x455e19
mov ecx, dword [0x6c6208]
inc ecx
cmp esi, 1
mov dword [0x6c6208], ecx
ja 0x455d4d
mov eax, dword [esp + 0x10]
mov ecx, edi
inc edi
cmp ecx, eax
jle 0x455dc2
jmp 0x455d54
mov dword [0x6c6208], 0
jmp 0x455d5d
xor ebx, ebx
cmp esi, 1
jbe 0x455e55
mov esi, 1
jmp 0x456185
lea eax, [esi + esi*2]
shl eax, 4
add eax, esi
lea eax, [eax + eax*2]
shl eax, 4
add ebp, eax
mov dword [esp + 0x8d8], ebp
jmp 0x456185
mov eax, dword [esp + 0x8ec]
test eax, eax
je 0x455eda
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x8dc]
mov eax, dword [esp + 0x8e4]
add ecx, esi
test eax, eax
mov dword [esp + 0x8dc], ecx
mov dword [esp + 0x14], 0
jne 0x455e8e
mov edx, esi
shl edx, 0xb
jmp 0x455e9c
lea eax, [esi + esi*2]
shl eax, 4
add eax, esi
lea edx, [eax + eax*2]
shl edx, 4
mov ecx, edx
xor eax, eax
mov ebx, ecx
mov edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebx
add ebp, edx
and ecx, 3
mov dword [esp + 0x8d8], ebp
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x8f4]
test eax, eax
je 0x455eca
mov dword [eax], 1
mov ebx, 1
mov dword [0x6c6204], ebx
jmp 0x456185
mov eax, dword [esp + 0x8e8]
test eax, eax
je 0x456191
cmp dword [0x6c61e4], 1
je 0x4560b2
mov eax, dword [esp + 0x8c4]
test eax, eax
je 0x455f0e
cmp dword [eax + 0x3bbc], 1
je 0x4560b2
mov eax, dword [0x6c7d78]
test eax, eax
je 0x456074
call fcn.004b42f0
mov edi, eax
test edi, edi
je 0x455f2c
cmp word [edi], 0
jne 0x455f33
call fcn.004b42f0
mov edi, eax
push str.Do_you_want_to_retry_
push edi
lea ecx, [esp + 0xc8]
push str._r_n_s__s
push ecx
call fcn.004f5dd2
lea edx, [esp + 0xd0]
push str._Retry_Cancel_Ignore_IgnoreAll_:
push edx
call fcn.004f59c8
lea eax, [esp + 0xd8]
push eax
call fcn.004f4f50
push 0x670600
lea ecx, [esp + 0x3c]
push 0x51
push ecx
call fcn.004f4f50
lea edx, [esp + 0x44]
push str.Retry
push edx
call fcn.004f5afd
add esp, 0x30
test eax, eax
je 0x456097
lea eax, [esp + 0x1c]
push 0x61618c
push eax
call fcn.004f5afd
add esp, 8
test eax, eax
je 0x456191
lea ecx, [esp + 0x1c]
push str.Ignore
push ecx
call fcn.004f5afd
add esp, 8
test eax, eax
je 0x456057
lea edx, [esp + 0x1c]
push str.IgnoreAll
push edx
call fcn.004f5afd
add esp, 8
test eax, eax
je 0x456068
push str.Do_you_want_to_retry_
push edi
lea eax, [esp + 0xc8]
push str._r_n_s__s
push eax
call fcn.004f5dd2
lea ecx, [esp + 0xd0]
push str._Retry_Cancel_Ignore_IgnoreAll_:
push ecx
call fcn.004f59c8
lea edx, [esp + 0xd8]
push edx
call fcn.004f4f50
push 0x670600
lea eax, [esp + 0x3c]
push 0x51
push eax
call fcn.004f4f50
lea ecx, [esp + 0x44]
push str.Retry
push ecx
call fcn.004f5afd
add esp, 0x30
test eax, eax
jne 0x455f95
push str.Retry..._r_n
call fcn.004b4fc0
add esp, 4
jmp 0x456185
mov dword [0x6c61e4], 0
push str.Ignore..._r_n
jmp 0x4560cc
mov dword [0x6c61e4], 1
jmp 0x4560c7
mov eax, dword [esp + 0x8f0]
test eax, eax
jne 0x456084
mov eax, dword [0x6c61d8]
mov edx, dword [esp + 0x18]
push edx
push eax
call fcn.004b3da0
add esp, 8
cmp eax, 4
jne 0x4560a9
push str.Retry..._r_n
call fcn.004b4fc0
add esp, 4
jmp 0x456185
cmp eax, 5
jne 0x456191
mov eax, dword [0x6c61e4]
test eax, eax
jne 0x4560c2
push str.Ignore..._r_n
jmp 0x4560cc
cmp eax, 1
jne 0x4560d4
push str.Ignore_All..._r_n
call fcn.004b4fc0
add esp, 4
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x8dc]
mov eax, dword [esp + 0x8e4]
add ecx, esi
test eax, eax
mov dword [esp + 0x8dc], ecx
mov dword [esp + 0x14], 0
jne 0x456102
mov edx, esi
shl edx, 0xb
jmp 0x456110
lea eax, [esi + esi*2]
shl eax, 4
add eax, esi
lea edx, [eax + eax*2]
shl edx, 4
mov ecx, edx
xor eax, eax
mov ebx, ecx
mov edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebx
add ebp, edx
and ecx, 3
mov ebx, 1
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x8c4]
mov dword [esp + 0x8d8], ebp
test eax, eax
mov dword [0x6c6204], ebx
je 0x45614b
cmp dword [eax + 0x3bbc], ebx
je 0x456185
mov eax, dword [0x6c61e4]
test eax, eax
jne 0x456185
mov eax, dword [0x6c7d78]
test eax, eax
jne 0x456185
push 0x24
push str.Do_you_want_to_ignore_all_errors_
push 0xe42
call fcn.004dd120
add esp, 8
push eax
call fcn.004b4a10
add esp, 8
cmp eax, 6
jne 0x456185
mov dword [0x6c61e4], ebx
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x455bfe
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x8b0
ret