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

Disassembly:
sub esp, 8
mov eax, dword [esp + 0x24]
push ebx
push ebp
xor edx, edx
push esi
mov ecx, 0xa
push edi
cmp eax, edx
mov edi, 1
mov dword [esp + 0x10], ecx
jne 0x4425ee
xor eax, eax
mov dword [0x58adfc], edx
mov dword [0x58ae00], eax
jmp 0x4425f3
mov eax, dword [0x58ae00]
cmp dword [0x58ade0], edx
je 0x44265a
cmp dword [0x58adfc], ecx
jl 0x442610
mov eax, 0x10
mov dword [0x58adfc], edx
jmp 0x442614
cmp eax, edx
jle 0x44265a
mov ecx, dword [esp + 0x38]
dec eax
mov dword [0x58ae00], eax
mov eax, dword [esp + 0x3c]
cmp eax, edx
jne 0x44262b
shl ecx, 0xb
jmp 0x442639
lea eax, [ecx + ecx*2]
shl eax, 4
add eax, ecx
lea ecx, [eax + eax*2]
shl ecx, 4
mov edi, dword [esp + 0x30]
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
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x4c]
cmp eax, edx
je 0x442664
mov dword [eax], edx
mov eax, dword [esp + 0x44]
cmp eax, 0x96
jbe 0x442675
mov dword [esp + 0x10], edx
jmp 0x442690
cmp eax, 2
jbe 0x442684
mov dword [esp + 0x10], 1
jmp 0x442690
cmp eax, edx
jbe 0x442690
mov dword [esp + 0x10], 5
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov ecx, eax
cmp ebx, edx
mov dword [esp + 0x38], ecx
mov esi, eax
je 0x4426b0
cmp eax, 0x10
jbe 0x4426ba
mov esi, 0x10
jmp 0x4426ba
cmp eax, 0x20
jbe 0x4426ba
mov esi, 0x20
cmp eax, edx
je 0x4429fb
mov ebx, dword [esp + 0x30]
cmp esi, ecx
jbe 0x4426cc
mov esi, ecx
mov eax, dword [esp + 0x3c]
cmp eax, edx
mov eax, dword [0x59ad50]
jne 0x442801
cmp eax, 2
jl 0x44278c
mov eax, 1
mov dword [esp + 0x14], edx
cmp eax, esi
mov dword [esp + 0x30], eax
sbb ebp, ebp
neg ebp
add ebp, 2
cmp ebp, edx
mov dword [esp + 0x10], ebp
jle 0x442751
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
push esi
push ecx
push ebx
push edx
push eax
call fcn.00442400
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x442747
mov ecx, dword [0x58adfc]
inc ecx
cmp esi, 1
mov dword [0x58adfc], ecx
ja 0x442751
mov eax, dword [esp + 0x30]
mov ecx, eax
inc eax
cmp ecx, ebp
mov dword [esp + 0x30], eax
jl 0x442704
jmp 0x442751
mov dword [0x58adfc], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp edi, 1
jne 0x44288e
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
add edx, esi
sub ecx, esi
mov dword [esp + 0x34], edx
test eax, eax
mov dword [esp + 0x38], ecx
jne 0x442879
mov edx, esi
shl edx, 0xb
add ebx, edx
jmp 0x4429ed
push str.Can_not_read_CD_DVD_BD_sector.
push 0x79
call fcn.004a6ea0
mov ebp, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], 1
lea ebp, [ebp + ebp*4]
test ebp, ebp
jl 0x442757
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
push esi
push edx
push ebx
push eax
push ecx
call fcn.004420e0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x442866
mov ecx, dword [0x58adfc]
inc ecx
cmp esi, 1
mov dword [0x58adfc], ecx
ja 0x442757
mov eax, dword [esp + 0x30]
mov edx, eax
inc eax
cmp edx, ebp
mov dword [esp + 0x30], eax
jle 0x4427b3
jmp 0x442757
cmp eax, 2
jl 0x442875
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], edx
cmp eax, edx
mov ebp, 1
jl 0x442757
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
push esi
push eax
mov eax, dword [esp + 0x28]
push ebx
push ecx
push edx
push eax
call fcn.004424c0
mov edi, eax
add esp, 0x18
cmp edi, 1
je 0x442866
mov ecx, dword [0x58adfc]
inc ecx
cmp esi, 1
mov dword [0x58adfc], ecx
ja 0x442757
mov eax, dword [esp + 0x10]
mov ecx, ebp
inc ebp
cmp ecx, eax
jle 0x44281b
jmp 0x442757
mov dword [0x58adfc], 0
jmp 0x442760
xor edi, edi
jmp 0x442894
lea eax, [esi + esi*2]
shl eax, 4
add eax, esi
lea eax, [eax + eax*2]
shl eax, 4
add ebx, eax
jmp 0x4429ed
mov ecx, dword [esp + 0x38]
xor edx, edx
mov ebp, 1
cmp esi, ebp
jbe 0x4428a4
mov esi, ebp
jmp 0x4429ed
cmp dword [esp + 0x44], edx
je 0x44290b
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
add edi, ecx
cmp eax, edx
mov esi, ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edx
jne 0x4428c9
mov edx, esi
shl edx, 0xb
jmp 0x4428d7
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 ebp, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebp
add ebx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4428fb
mov dword [eax], 1
mov edi, 1
mov dword [0x58adf8], edi
jmp 0x4429ed
cmp dword [esp + 0x40], edx
je 0x4429fb
cmp dword [0x58ade0], ebp
je 0x442951
mov eax, dword [esp + 0x1c]
cmp eax, edx
je 0x44292d
cmp dword [eax + 0x3848], ebp
je 0x442951
mov eax, dword [esp + 0x48]
cmp eax, edx
jne 0x44293a
mov eax, dword [0x58add4]
mov ecx, dword [esp + 0x14]
push ecx
push eax
call fcn.00486490
add esp, 8
cmp eax, 5
jne 0x4429e8
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
add ecx, esi
test eax, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], 0
jne 0x442976
mov edx, esi
shl edx, 0xb
jmp 0x442984
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 ebp, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebp
add ebx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x1c]
mov edi, 1
test eax, eax
mov dword [0x58adf8], edi
je 0x4429b5
cmp dword [eax + 0x3848], edi
je 0x4429ed
mov eax, dword [0x58ade0]
test eax, eax
jne 0x4429ed
push 4
push str.Do_you_want_to_ignore_all_errors_
push 0x19b
call fcn.004a6ea0
add esp, 8
push eax
call fcn.00486e20
add esp, 8
cmp eax, 6
jne 0x4429ed
mov dword [0x58ade0], edi
jmp 0x4429ed
cmp eax, 4
jne 0x4429fb
mov ecx, dword [esp + 0x38]
xor edx, edx
cmp ecx, edx
jne 0x4426c6
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret