Function at 0x54d330
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov edi, dword [ebp + 0x10]
cmp edi, 2
jae 0x54d392
xor edi, edi
inc edi
mov esi, 0x2000
mov dword [ebp - 0x10], 0
mov ebx, esi
shr ebx, 0xc
and bl, byte [0x59b37c]
push edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
sete cl
and cl, byte [ebp - 0x10]
and cl, bl
cmp cl, 1
je 0x54d3bd
test eax, eax
je 0x54d382
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
xchg dword [0x59b370], eax
xor eax, eax
jmp 0x54d37a
lea eax, [edi - 2]
cmp eax, 6
ja case.default.0x54d3a3
mov esi, 0x3000
jmp dword [eax*4 + 0x579798]
mov edi, 4
mov al, 1
mov dword [ebp - 0x10], eax
jmp 0x54d34e
mov edi, 0x40
jmp case.0x54d3a3.2
mov ebx, edi
mov edi, dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x54d3da
cmp eax, 0x27b
jne 0x54d382
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push esi
push dword [ebp + 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x54d37a
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x54d40e
cmp eax, 0x27b
jne 0x54d382
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push esi
push dword [ebp + 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x54d37a
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x54d446
cmp eax, 0x27b
jne 0x54d382
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push esi
push dword [ebp + 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x54d37a
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x54d47e
cmp eax, 0x27b
jne 0x54d382
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push esi
push dword [ebp + 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x54d37a
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x54d4b6
cmp eax, 0x27b
jne 0x54d382
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push esi
push dword [ebp + 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x54d37a
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x54d4ee
cmp eax, 0x27b
jne 0x54d382
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push esi
push dword [ebp + 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x54d37a
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x54d526
cmp eax, 0x27b
jne 0x54d382
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push esi
push dword [ebp + 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x54d37a
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x54d55e
cmp eax, 0x27b
jne 0x54d382
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push esi
push dword [ebp + 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x54d37a
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x54d596
cmp eax, 0x27b
jne 0x54d382
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push esi
push dword [ebp + 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x54d37a
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x54d5ce
cmp eax, 0x27b
jne 0x54d382
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x54d382
int3
mov edi, 0x20
jmp case.0x54d3a3.2