Function at 0x5cd6b8
Capabilities:
Check if file exists
Copy file
Get common file path
Move file

Disassembly:
push 0xb00
mov eax, 0x6072c9
call fcn.005cb57f
mov esi, ecx
call fcn.00434e70
test eax, eax
je 0x5cd6e2
call fcn.00434ac0
test eax, eax
je 0x5cd6e2
xor al, al
jmp 0x5cdbbd
xor ebx, ebx
cmp dword [esi + 0x10], ebx
je 0x5cd6db
push 0x208
lea eax, [ebp - 0xa38]
push ebx
push eax
call fcn.005d4520
add esp, 0xc
lea eax, [ebp - 0xa38]
mov edi, 0x104
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push str.drivers_
push edi
lea eax, [ebp - 0xa38]
push eax
call fcn.005cdd35
test eax, eax
js 0x5cd6db
lea edi, [esi + 0x18]
cmp dword [edi + 0x10], ebx
je 0x5cd737
push edi
mov ecx, esi
call fcn.005cd535
mov dword [ebp - 0xa40], ebx
xor eax, eax
mov ebx, str.GdVCD
mov dword [ebp - 0xa3c], 7
push ebx
mov word [ebp - 0xa50], ax
call fcn.005edae2
pop ecx
push eax
push ebx
lea ecx, [ebp - 0xa50]
call fcn.00407280
xor ebx, ebx
cmp dword [edi + 0x14], 8
mov dword [ebp - 4], ebx
jb 0x5cd776
mov edi, dword [edi]
cmp dword [ebp - 0xa3c], 8
lea eax, [ebp - 0xa50]
push edi
cmovae eax, dword [ebp - 0xa50]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x5cd7ac
cmp dword [ebp - 0xa40], ebx
je 0x5cd7ac
lea eax, [ebp - 0xa50]
mov ecx, esi
push eax
call fcn.005cd535
push 0x208
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.005d4520
add esp, 0xc
push 8
pop edi
cmp dword [esi + 0x14], edi
jb 0x5cd7cd
mov eax, dword [esi]
jmp 0x5cd7cf
mov eax, esi
push eax
lea eax, [ebp - 0xa38]
push eax
lea eax, [ebp - 0x218]
push str._s_s.sys
push eax
call fcn.004342e0
add esp, 0x10
cmp dword [esi + 0x14], edi
jb 0x5cd7f4
mov ecx, dword [esi]
jmp 0x5cd7f6
mov ecx, esi
cmp dword [esi + 0x14], edi
jb 0x5cd7ff
mov eax, dword [esi]
jmp 0x5cd801
mov eax, esi
push 1
push ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0xadc]
call fcn.005cd1b1
lea ecx, [ebp - 0xadd]
mov byte [ebp - 4], 1
call fcn.0048ac90
mov byte [ebp - 4], 2
cmp dword [esi + 0x14], edi
jb 0x5cd833
mov eax, dword [esi]
jmp 0x5cd835
mov eax, esi
push eax
lea ecx, [ebp - 0xadd]
call fcn.005cc275
test al, al
je 0x5cd85c
cmp dword [esi + 0x14], edi
jb 0x5cd84e
mov eax, dword [esi]
jmp 0x5cd850
mov eax, esi
push eax
lea ecx, [ebp - 0xadc]
call fcn.005cde2c
mov edi, 0x208
lea eax, [ebp - 0x628]
push edi
push ebx
push eax
call fcn.005d4520
push edi
lea eax, [ebp - 0x830]
push ebx
push eax
call fcn.005d4520
xor eax, eax
mov dword [ebp - 0xa6c], 7
mov edi, str.GDVCDbus_x86.sys
mov dword [ebp - 0xa70], ebx
push edi
mov word [ebp - 0xa80], ax
call fcn.005edae2
add esp, 0x1c
lea ecx, [ebp - 0xa80]
push eax
push edi
call fcn.00407280
mov dword [ebp - 0xa58], ebx
xor eax, eax
mov ebx, str.GDVCDbus_x64.sys
mov byte [ebp - 4], 3
push ebx
mov dword [ebp - 0xa54], 7
mov word [ebp - 0xa68], ax
call fcn.005edae2
pop ecx
push eax
push ebx
lea ecx, [ebp - 0xa68]
call fcn.00407280
push edi
mov byte [ebp - 4], 4
call fcn.004438a0
mov ecx, eax
call fcn.0040c4a0
push eax
mov edi, 0x608b88
lea eax, [ebp - 0x830]
push edi
push eax
call fcn.004342e0
add esp, 0x10
push ebx
call fcn.004438a0
mov ecx, eax
call fcn.0040c4a0
push eax
lea eax, [ebp - 0x628]
push edi
push eax
call fcn.004342e0
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x830]
add esp, 0x10
push eax
call edi
test eax, eax
je 0x5cdb76
cmp dword [ebp - 0xa70], 0
je 0x5cdb76
lea eax, [ebp - 0x628]
push eax
call edi
test eax, eax
je 0x5cdb76
cmp dword [ebp - 0xa58], 0
je 0x5cdb76
lea ecx, [ebp - 0xb08]
call fcn.004079b0
lea eax, [ebp - 0xae4]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0xb08]
call fcn.00407c50
lea eax, [ebp - 0x218]
push eax
call edi
test eax, eax
je 0x5cd9b5
sub esp, 0x18
lea eax, [ebp - 0x218]
mov ecx, esp
push eax
call fcn.00405d50
call fcn.004271a0
add esp, 0x18
push dword [ebp - 0xae4]
lea ecx, [ebp - 0xb08]
call fcn.00407c80
lea ecx, [ebp - 0xb08]
call fcn.00407a20
test eax, eax
je 0x5cda77
lea eax, [ebp - 0xae4]
push eax
lea ecx, [ebp - 0xb08]
call fcn.00407c50
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileW]
xor edi, edi
jmp 0x5cda4e
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.005d4520
push edi
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push str._s.bak_d
push eax
call fcn.004342e0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.005dedb9
add esp, 0x24
lea eax, [ebp - 0x420]
push 5
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp edi, 0xa
jge 0x5cda64
inc edi
push 0
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x628]
push eax
call ebx
test eax, eax
je 0x5cd9f5
push dword [ebp - 0xae4]
lea ecx, [ebp - 0xb08]
call fcn.00407c80
jmp 0x5cdaf0
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileW]
xor edi, edi
jmp 0x5cdada
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.005d4520
push edi
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push str._s.bak_d
push eax
call fcn.004342e0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.005dedb9
add esp, 0x24
lea eax, [ebp - 0x420]
push 5
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp edi, 0xa
jge 0x5cdaf0
inc edi
push 0
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x830]
push eax
call ebx
test eax, eax
je 0x5cda81
lea eax, [ebp - 0xae4]
push eax
lea ecx, [ebp - 0xb08]
call fcn.00407c50
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea ecx, [ebp - 0xb08]
push dword [ebp - 0xae4]
test eax, eax
jne 0x5cdb26
call fcn.00407c80
jmp 0x5cdb3a
call fcn.00407c80
lea ecx, [ebp - 0xadc]
call fcn.005cd349
test eax, eax
je 0x5cdb3e
xor bl, bl
jmp 0x5cdb69
cmp dword [esi + 0x14], 8
jb 0x5cdb46
mov esi, dword [esi]
push esi
push str.DriveVCDSName
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0xadd]
call fcn.005cbee2
lea ecx, [ebp - 0xadc]
call fcn.005cdca2
mov bl, 1
lea ecx, [ebp - 0xb08]
call fcn.00407a00
jmp 0x5cdb78
xor bl, bl
push 0
push 1
lea ecx, [ebp - 0xa68]
call fcn.00420a80
push 0
push 1
lea ecx, [ebp - 0xa80]
call fcn.00420a80
lea ecx, [ebp - 0xadd]
call fcn.0043faa0
lea ecx, [ebp - 0xadc]
call fcn.005cd2ba
push 0
push 1
lea ecx, [ebp - 0xa50]
call fcn.00420a80
mov al, bl
call fcn.005cb53a
ret