Function at 0x200668c
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c0
mov eax, dword [0x2015918]
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push 0x21
xor ebx, ebx
pop ecx
mov byte [ebp - 0x190], bl
lea edi, [ebp - 0x18f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov esi, dword [ebp + 0xc]
stosb byte es:[edi], al
push 6
xor eax, eax
pop ecx
mov dword [ebp - 0x1c0], ebx
lea edi, [ebp - 0x1bc]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x40
xor eax, eax
cmp esi, ebx
mov byte [ebp - 0x108], bl
pop ecx
lea edi, [ebp - 0x107]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x198], ebx
stosb byte es:[edi], al
jne 0x20066fc
push 0x57
jmp 0x200672e
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x2006701
sub eax, edx
cmp eax, 0x104
jbe 0x2006715
push 0x6f
jmp 0x200672e
push 0x105
call fcn.020099ae
mov edi, eax
cmp edi, ebx
pop ecx
mov dword [ebp - 0x1a0], edi
jne 0x2006734
push 0xe
pop eax
jmp 0x2006a78
push 0x41
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
push esi
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x19c], eax
jne 0x2006764
call esi
cmp eax, ebx
mov dword [ebp - 0x198], eax
jne 0x2006a4b
mov eax, dword [ebp - 0x19c]
and eax, 0xfffffffe
push eax
push dword [ebp - 0x194]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test byte [ebp - 0x19c], 0x10
je 0x2006819
mov esi, dword [ebp - 0x194]
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x1c0]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x1c0]
push eax
mov dword [ebp - 0x1c0], ebx
mov dword [ebp - 0x1bc], 3
mov dword [ebp - 0x1b8], esi
mov dword [ebp - 0x1b4], ebx
mov word [ebp - 0x1b0], 0x614
call dword [sym.imp.SHELL32.dll_SHFileOperationA]
cmp eax, ebx
mov dword [ebp - 0x198], eax
jne 0x20067ef
push ebx
push esi
push 0x200136c
push eax
push ebx
push ebx
call fcn.02006372
add esp, 0x18
jmp 0x2006a4b
cmp dword [ebp - 0x1ae], ebx
mov ecx, 0x2001358
jne 0x2006801
mov ecx, 0x2001340
push ebx
push ecx
push esi
push 0x2001324
push eax
push ebx
push ebx
call fcn.02006372
add esp, 0x1c
jmp 0x2006a4b
push 0x200
lea eax, [ebp - 0x190]
push eax
push dword [ebp - 0x194]
mov byte [ebp - 0x190], 0x88
call sub.LZ32.dll_LZOpenFileA
mov edx, eax
cmp edx, 0xffffffff
mov dword [ebp - 0x19c], edx
je 0x200684d
cmp edx, 0xfffffffb
jne 0x2006a4b
push 0x41
pop ecx
xor eax, eax
push edx
lea edi, [ebp - 0x108]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x108]
push 0x200130c
push eax
mov dword [ebp - 0x198], 0x50
call fcn.0200a1aa
push ebx
push dword [ebp - 0x194]
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x19c]
push ebx
push ebx
call fcn.02006372
add esp, 0x24
push dword [ebp - 0x194]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x2006a4b
mov eax, dword [ebp - 0x194]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x20068b1
sub eax, edi
add eax, 0x104
mov dword [ebp - 0x198], eax
call esi
push ebx
push ebx
push dword [ebp - 0x194]
mov edi, 0x20012f4
push edi
push eax
push ebx
push ebx
call fcn.02006372
add esp, 0x1c
push dword [ebp - 0x194]
call fcn.0200650d
push dword [ebp - 0x194]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x2006911
call esi
push ebx
push ebx
push dword [ebp - 0x194]
push edi
push eax
push ebx
push ebx
call fcn.02006372
add esp, 0x1c
cmp dword [ebp - 0x198], ebx
je 0x2006a43
cmp dword [0x201662c], ebx
je 0x2006a43
push dword [ebp - 0x198]
call fcn.020099ae
mov edi, eax
cmp edi, ebx
pop ecx
mov dword [ebp - 0x19c], edi
je 0x2006a37
mov ecx, dword [ebp - 0x198]
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x194]
mov edx, edi
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x200696b
cmp byte [edi], bl
je 0x20069ae
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x200697e
sub eax, edx
add eax, 4
cmp dword [ebp - 0x198], eax
jbe 0x20069ae
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x2006993
mov esi, 0x200125c
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [ebp - 0x19c]
push ebx
push edi
push 0x20012e0
push ebx
push ebx
push ebx
call fcn.02006372
add esp, 0x18
push dword [ebp - 0x194]
call fcn.02006448
test eax, eax
je 0x20069dc
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x20069dc
call esi
push 1
push edi
push dword [ebp - 0x194]
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
jne 0x20069fa
call esi
push ebx
push edi
push 0x20012c8
jmp 0x2006a11
push 4
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
jne 0x2006a14
call esi
push ebx
push edi
push 0x20012ac
push eax
jmp 0x2006a1c
push ebx
push edi
push 0x200128c
push ebx
push ebx
push ebx
call fcn.02006372
add esp, 0x18
call esi
push edi
mov dword [ebp - 0x198], eax
call fcn.020096e3
pop ecx
jmp 0x2006a4b
mov dword [ebp - 0x198], 0xe
jmp 0x2006a4b
call esi
mov dword [ebp - 0x198], eax
push dword [ebp - 0x1a0]
call fcn.020096e3
push ebx
push dword [ebp - 0x194]
push 0x2001280
push dword [ebp - 0x198]
push ebx
push ebx
call fcn.02006372
mov eax, dword [ebp - 0x198]
add esp, 0x1c
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.020092eb
leave
ret 0x14