Function at 0x100064f0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100107a0
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push esi
push edi
mov eax, dword [0x1001629c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x10016f58]
push eax
lea ecx, [ebp - 0x10]
push ecx
call fcn.10003d20
add esp, 8
xor esi, esi
mov dword [ebp - 4], esi
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10006750
jmp 0x10006545
xor esi, esi
call fcn.10005fd0
xor edi, edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], esi
lea eax, [ebp - 0x44]
push eax
mov ecx, 0x10016f40
mov byte [ebp - 4], 1
call fcn.10005a20
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
sub ebx, ecx
mov dword [ebp - 0x14], ecx
je 0x100065ab
test ebx, ebx
je 0x1000659b
push ebx
call fcn.10007ae1
mov esi, eax
add esp, 4
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x100065ab
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x28], esi
mov edi, esi
mov dword [ebp - 0x20], ebx
push ebx
push ecx
push edi
call fcn.1000c270
add esp, 0xc
add edi, ebx
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x100065c1
cmp dword [ebp - 0x44], 0
jne 0x100065c1
push eax
call fcn.10007aa7
add esp, 4
mov ecx, dword [ebp - 0x20]
mov eax, dword [0x10017c8c]
sub eax, dword [0x10017c88]
mov edx, ecx
sub edx, edi
add edx, esi
mov dword [ebp - 0x1c], eax
cmp edx, 4
jae 0x1000662e
mov ebx, dword [ebp - 0x28]
mov eax, edi
sub eax, esi
mov dword [ebp - 0x18], eax
xor eax, eax
sub ebx, esi
test esi, esi
setne al
test eax, eax
lea eax, [ecx + 4]
mov dword [ebp - 0x14], eax
push eax
je 0x10006606
push esi
call fcn.10007c07
add esp, 8
jmp 0x1000660e
call fcn.10007ae1
add esp, 4
mov esi, eax
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x10006638
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
lea eax, [esi + ebx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
lea edi, [esi + ecx]
mov dword [ebp - 0x20], edx
mov ecx, edx
mov dword [edi], eax
add edi, 4
mov dword [ebp - 0x24], edi
jmp 0x1000663b
mov ecx, dword [ebp - 0x20]
mov eax, dword [0x10017c88]
mov ebx, dword [0x10017c8c]
sub ebx, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
je 0x100066b6
mov eax, ecx
sub eax, edi
add eax, esi
cmp ebx, eax
jbe 0x100066a3
test ebx, ebx
je 0x100066b6
mov eax, dword [ebp - 0x28]
sub eax, esi
mov dword [ebp - 0x1c], eax
xor eax, eax
sub edi, esi
test esi, esi
setne al
add ebx, ecx
push ebx
test eax, eax
je 0x10006681
push esi
call fcn.10007c07
add esp, 8
jmp 0x10006689
call fcn.10007ae1
add esp, 4
mov esi, eax
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x100066b6
mov ecx, dword [ebp - 0x1c]
lea edx, [esi + ecx]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x28], edx
add edi, esi
mov eax, dword [ebp - 0x14]
push ebx
push eax
push edi
call fcn.1000c270
add esp, 0xc
add edi, ebx
mov dword [ebp - 0x24], edi
xor eax, eax
sub esp, 0x14
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x1c], esp
call fcn.100010d0
sub esp, 0x14
mov ecx, esp
xor ebx, ebx
mov eax, 0x10017c80
mov dword [ebp - 0x1c], esp
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov dword [ecx + 0x10], ebx
call fcn.100010d0
call fcn.10005e50
add esp, 0x28
push eax
push ebx
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
cmp edi, ebx
je 0x10006723
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [ebp - 4], bl
cmp esi, ebx
je 0x1000673e
push esi
call fcn.10007aa7
add esp, 4
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x10006543
mov esi, dword [ebp - 0x10]
add esi, 0xfffffff4
cmp esi, 0x10016f18
je 0x10006772
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x10006772
push esi
call fcn.10007aa7
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret