Function at 0x4b15d5c1
Capabilities:
Check if file exists

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, ecx
mov byte [ebp - 1], 1
xor ebx, ebx
push 0x4e20
push dword [esi + 4]
call edi
cmp eax, 0xffffffff
je 0x4b15d7ab
test eax, eax
jne 0x4b15d62d
push 1
push dword [esi]
call edi
cmp eax, 0xffffffff
je 0x4b15d7c8
test eax, eax
jne 0x4b15d745
mov byte [ebp - 1], al
mov eax, dword [0x4b16c0b8]
cmp byte [eax + 0x19], 2
jb 0x4b15d626
push 0x4b1528f0
push 0x1b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.4b157041
xor ebx, ebx
jmp 0x4b15d745
push 0x4e20
push dword [esi + 8]
call edi
cmp eax, 0xffffffff
je 0x4b15d7f7
cmp eax, 0x102
je 0x4b15d754
cmp eax, 0x80
je 0x4b15d77b
push 1
push dword [esi + 4]
call edi
cmp eax, 0xffffffff
jne 0x4b15d6a7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x4b16c0b8]
cmp byte [eax + 0x19], 2
mov byte [ebp - 1], 0
jb 0x4b15d73c
test ebx, ebx
mov ecx, ebx
jle 0x4b15d68f
and ecx, 0xffff
or ecx, 0x80070000
push ecx
push 0x4b1528f0
push 0x1f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.4b156ac1
jmp 0x4b15d73c
test eax, eax
je 0x4b15d6d7
mov eax, dword [0x4b16c0b8]
cmp byte [eax + 0x19], 2
jb 0x4b15d6c8
push 0x4b1528f0
push 0x20
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.4b157041
push dword [esi]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ebx, 0x102
jmp 0x4b15d738
push 1
push dword [esi]
call edi
cmp eax, 0xffffffff
jne 0x4b15d715
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x4b16c0b8]
cmp byte [eax + 0x19], 2
mov byte [ebp - 1], 0
jb 0x4b15d73c
test ebx, ebx
mov ecx, ebx
jle 0x4b15d70b
and ecx, 0xffff
or ecx, 0x80070000
push ecx
push 0x4b1528f0
push 0x21
jmp 0x4b15d697
test eax, eax
jne 0x4b15d73c
mov eax, dword [0x4b16c0b8]
cmp byte [eax + 0x19], 2
jb 0x4b15d736
push 0x4b1528f0
push 0x22
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.4b157041
xor ebx, ebx
mov byte [ebp - 1], 0
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp byte [ebp - 1], 0
jne 0x4b15d5d8
jmp 0x4b15d82f
mov eax, dword [0x4b16c0b8]
cmp byte [eax + 0x19], 2
jb 0x4b15d771
push 0x4b1528f0
push 0x1d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.4b157041
mov ebx, 0x102
jmp 0x4b15d82f
mov eax, dword [0x4b16c0b8]
cmp byte [eax + 0x19], 2
jb 0x4b15d798
push 0x4b1528f0
push 0x1e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.4b157041
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ebx, 0x3e3
jmp 0x4b15d82f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x4b16c0b8]
cmp byte [eax + 0x19], 2
jb 0x4b15d82f
push ebx
push 0x4b1528f0
push 0x19
jmp 0x4b15d824
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x4b16c0b8]
cmp byte [eax + 0x19], 2
jb 0x4b15d82f
test ebx, ebx
mov ecx, ebx
jle 0x4b15d7ed
and ecx, 0xffff
or ecx, 0x80070000
push ecx
push 0x4b1528f0
push 0x1a
jmp 0x4b15d824
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x4b16c0b8]
cmp byte [eax + 0x19], 2
jb 0x4b15d82f
test ebx, ebx
mov ecx, ebx
jle 0x4b15d81c
and ecx, 0xffff
or ecx, 0x80070000
push ecx
push 0x4b1528f0
push 0x1c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.4b156ac1
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret