Function at 0x77cf56f8
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0x758
push 0x77cf6210
call fcn.77cc8277
mov eax, dword [ebp + 8]
mov dword [ebp - 0x63c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x678], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x65c], eax
mov esi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x640], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x654], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x67c], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x66c], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x670], eax
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x694], eax
xor ebx, ebx
mov dword [ebp - 0x674], ebx
mov dword [ebp - 0x698], ebx
mov dword [ebp - 0x638], ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [ebp - 0x648], eax
mov dword [ebp - 0x680], ebx
mov dword [ebp - 0x684], ebx
mov dword [ebp - 0x690], ebx
mov dword [ebp - 0x644], ebx
mov dword [ebp - 0x64c], ebx
push 0xb0
push ebx
lea eax, [ebp - 0x748]
push eax
call sub.ntdll.dll_memset
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x768]
rep stosd dword es:[edi], eax
push 0x414
push ebx
lea eax, [ebp - 0x634]
push eax
call sub.ntdll.dll_memset
push 0x202
push ebx
lea eax, [ebp - 0x220]
push eax
call sub.ntdll.dll_memset
add esp, 0x24
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x63c]
cdq
mov dword [ebp - 0x6a0], eax
mov dword [ebp - 0x69c], edx
cmp esi, ebx
je 0x77cf589b
cmp word [esi], bx
je 0x77cf589b
push esi
push 0x101
lea eax, [ebp - 0x220]
push eax
call fcn.77cab999
cmp eax, ebx
jge 0x77cf5827
mov dword [ebp - 0x638], eax
jmp 0x77cf615a
lea eax, [ebp - 0x220]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x77cf5830
sub eax, edx
sar eax, 1
mov ecx, eax
mov dword [ebp - 0x650], ecx
lea edx, [ecx + ecx]
and edx, 7
je 0x77cf5857
push 8
pop eax
sub eax, edx
shr eax, 1
add eax, ecx
mov esi, eax
mov dword [ebp - 0x650], esi
push 2
lea eax, [esi + esi]
push eax
lea eax, [ebp - 0x220]
push eax
call sym.ADVAPI32.dll_SystemFunction040
cmp eax, ebx
jge 0x77cf587e
push eax
call dword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
jmp 0x77cf581c
mov word [ebp - 0x738], si
inc esi
mov word [ebp - 0x736], si
lea eax, [ebp - 0x220]
mov dword [ebp - 0x734], eax
jmp 0x77cf58f1
mov eax, 0x77ccac50
mov dword [ebp - 0x734], eax
xor ecx, ecx
cmp ecx, eax
je 0x77cf58e3
lea ecx, [ebp - 0x63c]
push ecx
push 0xfffe
push eax
call fcn.77d085ca
mov dword [ebp - 0x638], eax
cmp eax, ebx
jl 0x77cf615a
mov eax, dword [ebp - 0x63c]
mov word [ebp - 0x738], ax
inc eax
mov word [ebp - 0x736], ax
jmp 0x77cf58f1
mov word [ebp - 0x736], bx
mov word [ebp - 0x738], bx
test dword [ebp + 0x24], 0x8000b
jne 0x77cf6150
test dword [ebp + 0x18], 0xfffffffc
jne 0x77cf6150
or dword [ebp + 0x24], 0x4000210
test word [ebp + 0x24], 0x1e0
jne 0x77cf592f
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_GetPriorityClass]
cmp eax, 0x40
jne 0x77cf592f
or dword [ebp + 0x24], eax
push 0x208
push ebx
push dword [ebp - 0x648]
mov esi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
call esi
mov dword [ebp - 0x644], eax
push dword [ebp - 0x654]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
add edi, 0x106
mov dword [ebp - 0x63c], edi
lea eax, [edi + edi]
push eax
push ebx
push dword [ebp - 0x648]
call esi
mov dword [ebp - 0x64c], eax
cmp dword [ebp - 0x644], ebx
je 0x77cf6150
cmp eax, ebx
je 0x77cf6150
cmp dword [ebp - 0x640], ebx
jne 0x77cf5d2e
cmp dword [ebp - 0x654], ebx
je 0x77cf6150
mov dword [ebp - 0x668], ebx
mov dword [ebp - 0x660], ebx
mov dword [ebp - 0x664], ebx
mov dword [ebp - 0x658], ebx
mov dword [ebp - 0x68c], 1
push dword [ebp - 0x654]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
inc edi
lea eax, [edi + edi]
push eax
push ebx
push dword [ebp - 0x648]
call esi
mov dword [ebp - 0x640], eax
push 0x20a
push ebx
push dword [ebp - 0x648]
call esi
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x640], ebx
je 0x77cf5d1f
cmp eax, ebx
je 0x77cf5d1f
push dword [ebp - 0x654]
push edi
push dword [ebp - 0x640]
call fcn.77cab999
cmp eax, ebx
jl 0x77cf581c
mov esi, dword [ebp - 0x640]
mov dword [ebp - 0x658], esi
push 0x22
pop ecx
cmp word [esi], cx
jne 0x77cf5a6a
mov dword [ebp - 0x68c], ebx
add esi, 2
mov dword [ebp - 0x660], esi
mov dword [ebp - 0x658], esi
movzx eax, word [esi]
cmp ax, bx
je 0x77cf5abe
cmp ax, cx
jne 0x77cf5a66
mov dword [ebp - 0x668], ecx
jmp 0x77cf5ab5
inc esi
inc esi
jmp 0x77cf5a4b
movzx eax, word [esi]
cmp ax, bx
je 0x77cf5a88
cmp ax, 0x20
je 0x77cf5a7e
cmp ax, 9
jne 0x77cf5a88
inc esi
inc esi
mov dword [ebp - 0x658], esi
jmp 0x77cf5a6a
mov dword [ebp - 0x660], esi
movzx eax, word [esi]
cmp ax, bx
je 0x77cf5abe
cmp ax, 0x20
je 0x77cf5aac
cmp ax, 9
je 0x77cf5aac
inc esi
inc esi
mov dword [ebp - 0x658], esi
jmp 0x77cf5a8e
movzx eax, word [esi]
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x664], esi
mov word [esi], bx
mov edi, 0x104
push ebx
push dword [ebp - 0x650]
push edi
push 0x77cf6204
push dword [ebp - 0x660]
push ebx
call dword [sym.imp.KERNEL32.dll_SearchPathW]
cmp eax, ebx
je 0x77cf5bfc
cmp eax, edi
ja 0x77cf5bfc
push dword [ebp - 0x650]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x77cf5b06
test al, 0x10
jne 0x77cf5c1e
push dword [ebp - 0x650]
mov eax, edi
push eax
push dword [ebp - 0x644]
call fcn.77cab999
cmp eax, ebx
jl 0x77cf581c
mov esi, dword [ebp - 0x654]
cmp word [esi], 0x22
je 0x77cf5bb9
push 0x20
push dword [ebp - 0x660]
call dword [sym.imp.ntdll.dll_wcschr]
pop ecx
pop ecx
test eax, eax
je 0x77cf5bb9
mov esi, 0x77cf6200
push esi
push dword [ebp - 0x63c]
mov edi, dword [ebp - 0x64c]
push edi
call fcn.77cab999
cmp eax, ebx
jl 0x77cf581c
push dword [ebp - 0x660]
push dword [ebp - 0x63c]
push edi
call fcn.77cac786
cmp eax, ebx
jl 0x77cf581c
push esi
push dword [ebp - 0x63c]
push edi
call fcn.77cac786
cmp eax, ebx
jl 0x77cf581c
push dword [ebp - 0x660]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp - 0x654]
lea eax, [ecx + eax*2]
push eax
push dword [ebp - 0x63c]
push edi
call fcn.77cac786
jmp 0x77cf5bcb
push esi
push dword [ebp - 0x63c]
push dword [ebp - 0x64c]
call fcn.77cab999
cmp eax, ebx
jl 0x77cf581c
push dword [ebp - 0x640]
push ebx
push dword [ebp - 0x648]
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
call esi
push dword [ebp - 0x650]
push ebx
push dword [ebp - 0x648]
call esi
jmp 0x77cf5dbe
cmp dword [ebp - 0x638], ebx
je 0x77cf5c12
push dword [ebp - 0x638]
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x77cf5c1e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x638], eax
mov eax, dword [ebp - 0x664]
cmp eax, ebx
je 0x77cf5c40
mov cx, word [ebp - 0x668]
mov word [eax], cx
mov dword [ebp - 0x664], ebx
inc esi
inc esi
mov dword [ebp - 0x658], esi
cmp word [esi], bx
je 0x77cf5ca4
cmp dword [ebp - 0x68c], ebx
je 0x77cf5ca4
movzx eax, word [esi]
cmp ax, bx
je 0x77cf5c6b
cmp ax, 0x20
je 0x77cf5c61
cmp ax, 9
jne 0x77cf5c6b
inc esi
inc esi
mov dword [ebp - 0x658], esi
jmp 0x77cf5c4d
movzx eax, word [esi]
cmp ax, bx
je 0x77cf5ac3
cmp ax, 0x20
je 0x77cf5c8d
cmp ax, 9
je 0x77cf5c8d
inc esi
inc esi
mov dword [ebp - 0x658], esi
jmp 0x77cf5c6b
movzx eax, word [esi]
mov dword [ebp - 0x668], eax
mov word [esi], bx
mov dword [ebp - 0x664], esi
jmp 0x77cf5ac3
cmp dword [ebp - 0x650], ebx
je 0x77cf5cbf
push dword [ebp - 0x650]
push ebx
push dword [ebp - 0x648]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [ebp - 0x640], ebx
je 0x77cf5cda
push dword [ebp - 0x640]
push ebx
push dword [ebp - 0x648]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [ebp - 0x644], ebx
je 0x77cf5cfb
push dword [ebp - 0x644]
push ebx
push dword [ebp - 0x648]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 0x644], ebx
push dword [ebp - 0x654]
push dword [ebp - 0x63c]
push dword [ebp - 0x64c]
call fcn.77cab999
cmp eax, ebx
jl 0x77cf581c
jmp 0x77cf5dbe
mov dword [ebp - 0x638], 8
jmp 0x77cf615a
lea eax, [ebp - 0x63c]
push eax
push dword [ebp - 0x644]
mov esi, 0x104
push esi
push dword [ebp - 0x640]
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
cmp eax, ebx
je 0x77cf5d6e
push ebx
push ebx
push 3
push ebx
push 3
push 0x80000000
push dword [ebp - 0x640]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
jne 0x77cf5d8a
push dword [ebp - 0x640]
push esi
push dword [ebp - 0x644]
call fcn.77cab999
cmp eax, ebx
jl 0x77cf581c
jmp 0x77cf5d91
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x654], ebx
je 0x77cf5da5
push dword [ebp - 0x654]
push edi
jmp 0x77cf5d07
push dword [ebp - 0x64c]
push ebx
push dword [ebp - 0x648]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 0x64c], ebx
mov dword [ebp - 0x6c4], ebx
mov dword [ebp - 0x6c8], ebx
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x6c0], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x6cc], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x6bc], eax
mov dword [ebp - 0x6b0], ebx
mov dword [ebp - 0x6ac], ebx
mov dword [ebp - 0x6a8], ebx
mov dword [ebp - 0x6a4], ebx
mov eax, dword [ebp - 0x678]
mov dword [ebp - 0x744], eax
cmp eax, ebx
je 0x77cf5e47
lea ecx, [ebp - 0x678]
push ecx
push 0xfffe
push eax
call fcn.77d085ca
mov dword [ebp - 0x638], eax
cmp eax, ebx
jl 0x77cf615a
mov eax, dword [ebp - 0x678]
mov word [ebp - 0x748], ax
inc eax
mov word [ebp - 0x746], ax
jmp 0x77cf5e55
mov word [ebp - 0x746], bx
mov word [ebp - 0x748], bx
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x73c], eax
cmp eax, ebx
je 0x77cf5e9c
lea ecx, [ebp - 0x65c]
push ecx
push 0xfffe
push eax
call fcn.77d085ca
mov dword [ebp - 0x638], eax
cmp eax, ebx
jl 0x77cf615a
mov eax, dword [ebp - 0x65c]
mov word [ebp - 0x740], ax
inc eax
mov word [ebp - 0x73e], ax
jmp 0x77cf5eaa
mov word [ebp - 0x73e], bx
mov word [ebp - 0x740], bx
mov eax, dword [ebp - 0x644]
mov dword [ebp - 0x72c], eax
cmp eax, ebx
je 0x77cf5ef1
lea ecx, [ebp - 0x65c]
push ecx
push 0xfffe
push eax
call fcn.77d085ca
mov dword [ebp - 0x638], eax
cmp eax, ebx
jl 0x77cf615a
mov eax, dword [ebp - 0x65c]
mov word [ebp - 0x730], ax
inc eax
mov word [ebp - 0x72e], ax
jmp 0x77cf5eff
mov word [ebp - 0x72e], bx
mov word [ebp - 0x730], bx
mov eax, dword [ebp - 0x64c]
mov dword [ebp - 0x724], eax
cmp eax, ebx
je 0x77cf5f46
lea ecx, [ebp - 0x65c]
push ecx
push 0xfffe
push eax
call fcn.77d085ca
mov dword [ebp - 0x638], eax
cmp eax, ebx
jl 0x77cf615a
mov eax, dword [ebp - 0x65c]
mov word [ebp - 0x728], ax
inc eax
mov word [ebp - 0x726], ax
jmp 0x77cf5f54
mov word [ebp - 0x726], bx
mov word [ebp - 0x728], bx
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x71c], eax
cmp eax, ebx
je 0x77cf5f9b
lea ecx, [ebp - 0x66c]
push ecx
push 0xfffe
push eax
call fcn.77d085ca
mov dword [ebp - 0x638], eax
cmp eax, ebx
jl 0x77cf615a
mov eax, dword [ebp - 0x66c]
mov word [ebp - 0x720], ax
inc eax
mov word [ebp - 0x71e], ax
jmp 0x77cf5fa9
mov word [ebp - 0x71e], bx
mov word [ebp - 0x720], bx
lea eax, [ebp - 0x6d4]
push eax
push dword [ebp - 0x67c]
test word [ebp + 0x24], 0x400
je 0x77cf5fc5
call fcn.77cf55cd
jmp 0x77cf5fca
call fcn.77cf5664
mov dword [ebp - 0x638], eax
cmp eax, ebx
jne 0x77cf615a
lea eax, [ebp - 0x718]
push eax
push dword [ebp - 0x670]
call fcn.77cf5166
mov dword [ebp - 0x638], eax
cmp eax, ebx
jne 0x77cf615a
mov eax, dword [ebp - 0x710]
cmp eax, ebx
je 0x77cf605c
cmp word [eax], bx
je 0x77cf605c
or dword [ebp - 0x6b8], 1
lea eax, [ebp - 0x768]
push eax
lea eax, [ebp - 0x748]
push eax
call fcn.77cf5406
mov dword [ebp - 0x638], eax
cmp eax, ebx
jne 0x77cf615a
xor ecx, ecx
mov eax, dword [ebp - 0x750]
cmp eax, ebx
sete cl
mov dword [ebp - 0x674], ecx
cmp ecx, ebx
jne 0x77cf611f
mov dword [ebp - 0x638], eax
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x77cf615a
call dword [sym.imp.USER32.dll_GetProcessWindowStation]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.USER32.dll_GetThreadDesktop]
mov dword [ebp - 0x670], eax
mov dword [ebp - 0x688], ebx
mov eax, 0x77ccac50
mov dword [ebp - 0x710], eax
lea eax, [ebp - 0x63c]
push eax
mov edi, 0x208
push edi
lea eax, [ebp - 0x634]
push eax
push 2
push esi
mov esi, dword [sym.imp.USER32.dll_GetUserObjectInformationW]
call esi
mov dword [ebp - 0x688], eax
cmp eax, ebx
je 0x77cf6114
lea eax, [ebp - 0x634]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x77cf60ba
sub eax, edx
sar eax, 1
mov dword [ebp - 0x63c], eax
mov word [ebp + eax*2 - 0x634], 0x5c
inc eax
mov dword [ebp - 0x63c], eax
lea ecx, [ebp - 0x63c]
push ecx
push edi
lea eax, [ebp + eax*2 - 0x634]
push eax
push 2
push dword [ebp - 0x670]
call esi
mov dword [ebp - 0x688], eax
cmp eax, ebx
je 0x77cf6114
lea ecx, [ebp - 0x634]
mov dword [ebp - 0x710], ecx
jmp 0x77cf600e
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x77cf581c
mov ecx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x694]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x760]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x758]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x754]
mov dword [eax + 0xc], ecx
mov dword [ebp - 0x638], ebx
jmp 0x77cf615a
mov dword [ebp - 0x638], 0x57
mov dword [ebp - 4], 0xfffffffe
call fcn.77cf6180
mov eax, dword [ebp - 0x674]
call fcn.77cc8268
ret 0x30