Function at 0x102791b
Capabilities:
Check if file exists

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x858
mov eax, dword [0x103ff58]
push ebx
push esi
mov dword [ebp - 4], eax
push edi
lea eax, [ebp - 0x830]
xor esi, esi
push eax
mov dword [ebp - 0x820], esi
mov dword [ebp - 0x818], esi
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
call fcn.0102514b
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
jne 0x1027968
call ebx
cmp eax, 2
jne 0x1027990
mov dword [ebp - 0x818], esi
mov edi, 0x10416f8
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 1
push esi
push esi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
cmp eax, esi
mov dword [0x10416f0], eax
jne 0x102799d
call ebx
jmp 0x1027aa9
call ebx
mov dword [ebp - 0x818], eax
jmp 0x1027bcf
mov dword [ebp - 0x838], eax
lea eax, [ebp - 0x848]
push eax
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x828]
push eax
push 0x1003130
push esi
push esi
mov dword [ebp - 0x848], 0x18
mov dword [ebp - 0x844], esi
mov dword [ebp - 0x840], esi
mov dword [ebp - 0x83c], 3
mov dword [ebp - 0x834], 0x80000001
mov dword [ebp - 0x824], 0x20000
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
push 0x10416f4
call sub.TAPI32.dll_lineInitializeExW
cmp eax, esi
jne 0x1027aa9
cmp dword [ebp - 0x824], 0x20000
jae 0x1027a27
mov dword [ebp - 0x818], 0x8000000c
jmp 0x1027bc8
push 1
lea eax, [ebp - 0x414]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1027989
lea eax, [ebp - 0x614]
push eax
lea eax, [ebp - 0x814]
push eax
push esi
lea eax, [ebp - 0x414]
push esi
push eax
call dword [sym.imp.msvcrt.dll__wsplitpath]
lea eax, [ebp - 0x614]
push eax
lea eax, [ebp - 0x814]
push eax
lea eax, [ebp - 0x414]
push 0x1003124
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x24
push 1
push esi
push esi
push esi
push 2
lea eax, [ebp - 0x414]
push eax
call sub.TAPI32.dll_lineSetAppPriorityW
push 1
push esi
push esi
push esi
push 0x10
lea eax, [ebp - 0x414]
push eax
call sub.TAPI32.dll_lineSetAppPriorityW
cmp eax, esi
je 0x1027ab4
mov dword [ebp - 0x818], eax
jmp 0x1027bc8
call fcn.010330f5
xor ebx, ebx
cmp dword [ebp - 0x828], esi
mov dword [ebp - 0x820], eax
jbe 0x1027b30
lea eax, [ebp - 0x858]
push eax
lea eax, [ebp - 0x824]
push eax
push 0x20000
push 0x10003
push ebx
push dword [0x10416f4]
call sub.TAPI32.dll_lineNegotiateAPIVersion
test eax, eax
jne 0x1027b27
push dword [ebp - 0x824]
push ebx
push dword [0x10416f4]
call fcn.01037a04
cmp eax, esi
mov dword [ebp - 0x81c], eax
je 0x1027b27
push dword [ebp - 0x820]
push 1
push eax
push ebx
call fcn.0102653d
push dword [ebp - 0x81c]
call fcn.01035abf
inc ebx
cmp ebx, dword [ebp - 0x828]
jb 0x1027ac9
mov eax, dword [ebp - 0x820]
cmp dword [eax], esi
mov dword [ebp - 0x81c], esi
jbe 0x1027b94
xor ebx, ebx
mov ecx, dword [ebp - 0x820]
mov eax, dword [ecx + 4]
add eax, ebx
cmp dword [eax + 0x24], esi
je 0x1027b81
test byte [eax + 8], 4
jne 0x1027b81
cmp dword [eax + 0x20], esi
jne 0x1027b81
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x28]
add ecx, ebx
xor edx, edx
cmp eax, dword [0x10416d4]
sete dl
push edx
push dword [ecx]
push dword [ecx + 0x28]
call fcn.0103493e
mov ecx, dword [ebp - 0x820]
inc dword [ebp - 0x81c]
mov eax, dword [ebp - 0x81c]
add ebx, 0x38
cmp eax, dword [ecx]
jb 0x1027b42
push dword [ebp - 0x82c]
push dword [ebp - 0x830]
call fcn.01027756
call fcn.01028178
test eax, eax
jne 0x1027c0d
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, esi
mov dword [ebp - 0x818], eax
jne 0x1027bc8
mov dword [ebp - 0x818], 0x1f
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x10416f4]
cmp eax, esi
je 0x1027be4
push eax
call sub.TAPI32.dll_lineShutdown
mov dword [0x10416f4], esi
mov eax, dword [0x10416f0]
cmp eax, esi
je 0x1027bfa
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x10416f0], esi
push dword [0x10416d8]
call fcn.01035abf
mov dword [0x10416d8], esi
jmp 0x1027c14
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [ebp - 0x820]
call fcn.0103332f
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x818]
pop edi
pop esi
pop ebx
call fcn.01031d91
leave
ret 4