Function at 0x472450
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x56800c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x56ca4c]
push ebx
push esi
xor bl, bl
mov esi, ecx
push edi
test eax, eax
jne 0x47248d
push 4
call fcn.004bcd25
add esp, 4
mov dword [0x56ca4c], eax
mov bl, 1
mov dword [eax], 0
mov dword [eax], 0x4f6fd0
push esi
push str.Starting:__s
push eax
call fcn.00472170
add esp, 0xc
test esi, esi
je 0x47279c
lea eax, [ebp - 0x28]
push eax
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x47279c
test byte [ebp - 0x28], 0x10
jne 0x47279c
xor dl, dl
mov ecx, esi
call fcn.00488c70
test al, al
jne 0x4724da
push str.Error:_not_an_ebook_file
jmp 0x4727a1
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
call edi
mov edx, esi
lea ecx, [ebp - 0x48]
call fcn.004889e0
cmp dword [ebp - 0x44], 0
je 0x47253b
push str.Error:_failed_to_load_the_file_as_doc
push dword [0x56ca4c]
call fcn.00472170
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.00488600
push dword [ebp - 0x40]
call fcn.004bf8aa
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bcb15
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x50]
push eax
call edi
lea ecx, [ebp - 0x58]
call fcn.00411a90
sub esp, 8
fstp qword [esp]
push str.load:__.2f_ms
push dword [0x56ca4c]
call fcn.00472170
add esp, 0x10
mov dword [0x568a10], 2
lea eax, [ebp - 0x38]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
push eax
call edi
lea ecx, [ebp - 0x48]
call fcn.00472340
mov esi, eax
lea eax, [ebp - 0x30]
push eax
call edi
lea ecx, [ebp - 0x38]
call fcn.00411a90
sub esp, 8
fstp qword [esp]
push 0x4f6bb0
push str._s:__.2f_ms
push dword [0x56ca4c]
call fcn.00472170
add esp, 0x14
mov dword [0x568a10], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
push eax
call edi
lea ecx, [ebp - 0x48]
call fcn.00472340
lea eax, [ebp - 0x30]
push eax
call edi
lea ecx, [ebp - 0x38]
call fcn.00411a90
sub esp, 8
fstp qword [esp]
push str.gdi
push str._s:__.2f_ms
push dword [0x56ca4c]
call fcn.00472170
add esp, 0x14
mov dword [0x568a10], 1
lea eax, [ebp - 0x38]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
push eax
call edi
lea ecx, [ebp - 0x48]
call fcn.00472340
lea eax, [ebp - 0x30]
push eax
call edi
lea ecx, [ebp - 0x38]
call fcn.00411a90
sub esp, 8
fstp qword [esp]
push str.gdi_quick
push str._s:__.2f_ms
push dword [0x56ca4c]
call fcn.00472170
add esp, 0x14
mov dword [0x568a10], 2
lea eax, [ebp - 0x38]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
push eax
call edi
lea ecx, [ebp - 0x48]
call fcn.00472340
lea eax, [ebp - 0x30]
push eax
call edi
lea ecx, [ebp - 0x38]
call fcn.00411a90
sub esp, 8
fstp qword [esp]
push 0x4f6bb0
push str._s:__.2f_ms
push dword [0x56ca4c]
call fcn.00472170
add esp, 0x14
mov dword [0x568a10], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
push eax
call edi
lea ecx, [ebp - 0x48]
call fcn.00472340
lea eax, [ebp - 0x30]
push eax
call edi
lea ecx, [ebp - 0x38]
call fcn.00411a90
sub esp, 8
fstp qword [esp]
push str.gdi
push str._s:__.2f_ms
push dword [0x56ca4c]
call fcn.00472170
add esp, 0x14
mov dword [0x568a10], 1
lea eax, [ebp - 0x38]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
push eax
call edi
lea ecx, [ebp - 0x48]
call fcn.00472340
lea eax, [ebp - 0x30]
push eax
call edi
lea ecx, [ebp - 0x38]
call fcn.00411a90
sub esp, 8
fstp qword [esp]
push str.gdi_quick
push str._s:__.2f_ms
push dword [0x56ca4c]
call fcn.00472170
add esp, 0x14
lea ecx, [ebp - 0x48]
call fcn.00488600
push esi
push str.pages:__d
push dword [0x56ca4c]
call fcn.00472170
add esp, 0xc
test bl, bl
je 0x472780
mov ecx, dword [0x56ca4c]
test ecx, ecx
je 0x472780
mov eax, dword [ecx]
push 1
call dword [eax]
push dword [ebp - 0x40]
call fcn.004bf8aa
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bcb15
mov esp, ebp
pop ebp
ret
push str.Error:_file_doesnt_exist
push dword [0x56ca4c]
call fcn.00472170
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.004bcb15
mov esp, ebp
pop ebp
ret