Function at 0x1024e8a
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x854
push ebx
push esi
push edi
lea eax, [ebp - 0x1c]
xor esi, esi
push eax
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
call fcn.0102290f
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
jne 0x1024ec1
call ebx
cmp eax, 2
jne 0x1024ee9
mov dword [ebp - 4], esi
mov edi, 0x103d688
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 [0x103d680], eax
jne 0x1024ef3
call ebx
jmp 0x1024fdb
call ebx
mov dword [ebp - 4], eax
jmp 0x10250bd
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x1003108
push esi
push esi
mov dword [ebp - 0x34], 0x18
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], 3
mov dword [ebp - 0x20], 0x80000001
mov dword [ebp - 0x10], 0x20000
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
push 0x103d684
call sub.TAPI32.dll_lineInitializeExW
cmp eax, esi
jne 0x1024fdb
cmp dword [ebp - 0x10], 0x20000
jae 0x1024f59
mov dword [ebp - 4], 0x8000000c
jmp 0x10250b6
push 1
lea eax, [ebp - 0x454]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1024ee2
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0x854]
push eax
push esi
lea eax, [ebp - 0x454]
push esi
push eax
call dword [sym.imp.msvcrt.dll__wsplitpath]
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0x854]
push eax
lea eax, [ebp - 0x454]
push 0x10030fc
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 - 0x454]
push eax
call sub.TAPI32.dll_lineSetAppPriorityW
push 1
push esi
push esi
push esi
push 0x10
lea eax, [ebp - 0x454]
push eax
call sub.TAPI32.dll_lineSetAppPriorityW
cmp eax, esi
je 0x1024fe3
mov dword [ebp - 4], eax
jmp 0x10250b6
call fcn.0102f72d
mov ecx, eax
xor ebx, ebx
cmp dword [ebp - 0x14], esi
mov dword [ebp - 0xc], ecx
jbe 0x1025049
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x10]
push eax
push 0x20000
push 0x10003
push ebx
push dword [0x103d684]
call sub.TAPI32.dll_lineNegotiateAPIVersion
test eax, eax
jne 0x1025040
push dword [ebp - 0x10]
push ebx
push dword [0x103d684]
call fcn.01033708
cmp eax, esi
mov dword [ebp - 8], eax
je 0x1025040
push dword [ebp - 0xc]
push 1
push eax
push ebx
call fcn.01023b71
push dword [ebp - 8]
call fcn.01031b59
inc ebx
cmp ebx, dword [ebp - 0x14]
jb 0x1024ff4
mov ecx, dword [ebp - 0xc]
cmp dword [ecx], esi
mov dword [ebp - 8], esi
jbe 0x102508e
xor ebx, ebx
mov eax, dword [ecx + 4]
add eax, ebx
cmp dword [eax + 0x24], esi
je 0x1025081
test byte [eax + 8], 4
jne 0x1025081
cmp dword [eax + 0x20], esi
jne 0x1025081
mov ecx, dword [eax + 0x28]
xor edx, edx
cmp ecx, dword [0x103d664]
sete dl
push edx
push dword [eax]
push ecx
call fcn.01030d14
mov ecx, dword [ebp - 0xc]
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add ebx, 0x38
cmp eax, dword [ecx]
jb 0x1025052
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.01024cc4
call fcn.01025648
test eax, eax
jne 0x10250fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, esi
mov dword [ebp - 4], eax
jne 0x10250b6
mov dword [ebp - 4], 0x1f
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x103d684]
cmp eax, esi
je 0x10250d2
push eax
call sub.TAPI32.dll_lineShutdown
mov dword [0x103d684], esi
mov eax, dword [0x103d680]
cmp eax, esi
je 0x10250e8
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x103d680], esi
push dword [0x103d668]
call fcn.01031b59
mov dword [0x103d668], esi
jmp 0x1025102
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [ebp - 0xc]
call fcn.0102f939
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 4