Function at 0x474530
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov al, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
lea ecx, [eax - 2]
cmp ecx, 2
jae 0x474581
mov esi, 4
movzx ebx, byte [0x55d334]
push esi
push 0x1000
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
cmp byte [ebp - 0x10], 0
je 0x474574
test bl, bl
je 0x474574
test eax, eax
je 0x47459d
test eax, eax
setne al
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
cmp eax, 6
ja case.0x47458f.2
mov esi, 2
jmp dword [eax*4 + 0x53a754]
mov esi, 0x40
jmp case.0x47458f.1
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x4745b9
cmp eax, 0x27b
jne 0x4747cd
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 0x1000
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x474574
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x4745f1
cmp eax, 0x27b
jne 0x4747cd
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 0x1000
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x474574
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x47462d
cmp eax, 0x27b
jne 0x4747cd
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 0x1000
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x474574
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x474669
cmp eax, 0x27b
jne 0x4747cd
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 0x1000
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x474574
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x4746a5
cmp eax, 0x27b
jne 0x4747cd
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 0x1000
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x474574
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x4746e1
cmp eax, 0x27b
jne 0x4747cd
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 0x1000
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x474574
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x47471d
cmp eax, 0x27b
jne 0x4747cd
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 0x1000
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x474574
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x474755
cmp eax, 0x27b
jne 0x4747cd
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 0x1000
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x474574
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x47478d
cmp eax, 0x27b
jne 0x4747cd
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 0x1000
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x474574
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x4747c5
cmp eax, 0x27b
jne 0x4747cd
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
jmp 0x474574
xor esi, esi
inc esi
mov dword [ebp - 0x10], 0
jmp case.0x47458f.1
mov esi, 0x20
jmp case.0x47458f.1
push 0x4000
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualFree]
jmp 0x474574