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

Disassembly:
push 0xb00
mov eax, 0x607909
call fcn.005cbb9f
mov esi, ecx
call fcn.00435390
test eax, eax
je 0x5cdd11
call fcn.00434fe0
test eax, eax
je 0x5cdd11
xor al, al
jmp 0x5ce1ec
xor ebx, ebx
cmp dword [esi + 0x10], ebx
je 0x5cdd0a
push 0x208
lea eax, [ebp - 0xa38]
push ebx
push eax
call fcn.005d4b40
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.005ce364
test eax, eax
js 0x5cdd0a
lea edi, [esi + 0x18]
cmp dword [edi + 0x10], ebx
je 0x5cdd66
push edi
mov ecx, esi
call fcn.005cdb64
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.005ee162
pop ecx
push eax
push ebx
lea ecx, [ebp - 0xa50]
call fcn.004072f0
xor ebx, ebx
cmp dword [edi + 0x14], 8
mov dword [ebp - 4], ebx
jb 0x5cdda5
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 0x5cdddb
cmp dword [ebp - 0xa40], ebx
je 0x5cdddb
lea eax, [ebp - 0xa50]
mov ecx, esi
push eax
call fcn.005cdb64
push 0x208
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.005d4b40
add esp, 0xc
push 8
pop edi
cmp dword [esi + 0x14], edi
jb 0x5cddfc
mov eax, dword [esi]
jmp 0x5cddfe
mov eax, esi
push eax
lea eax, [ebp - 0xa38]
push eax
lea eax, [ebp - 0x218]
push str._s_s.sys
push eax
call fcn.00434800
add esp, 0x10
cmp dword [esi + 0x14], edi
jb 0x5cde23
mov ecx, dword [esi]
jmp 0x5cde25
mov ecx, esi
cmp dword [esi + 0x14], edi
jb 0x5cde2e
mov eax, dword [esi]
jmp 0x5cde30
mov eax, esi
push 1
push ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0xadc]
call fcn.005cd7e0
lea ecx, [ebp - 0xadd]
mov byte [ebp - 4], 1
call fcn.00422480
mov byte [ebp - 4], 2
cmp dword [esi + 0x14], edi
jb 0x5cde62
mov eax, dword [esi]
jmp 0x5cde64
mov eax, esi
push eax
lea ecx, [ebp - 0xadd]
call fcn.005cc8cb
test al, al
je 0x5cde8b
cmp dword [esi + 0x14], edi
jb 0x5cde7d
mov eax, dword [esi]
jmp 0x5cde7f
mov eax, esi
push eax
lea ecx, [ebp - 0xadc]
call fcn.005ce45b
mov edi, 0x208
lea eax, [ebp - 0x628]
push edi
push ebx
push eax
call fcn.005d4b40
push edi
lea eax, [ebp - 0x830]
push ebx
push eax
call fcn.005d4b40
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.005ee162
add esp, 0x1c
lea ecx, [ebp - 0xa80]
push eax
push edi
call fcn.004072f0
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.005ee162
pop ecx
push eax
push ebx
lea ecx, [ebp - 0xa68]
call fcn.004072f0
push edi
mov byte [ebp - 4], 4
call fcn.00443e10
mov ecx, eax
call fcn.0040c500
push eax
mov edi, 0x609b88
lea eax, [ebp - 0x830]
push edi
push eax
call fcn.00434800
add esp, 0x10
push ebx
call fcn.00443e10
mov ecx, eax
call fcn.0040c500
push eax
lea eax, [ebp - 0x628]
push edi
push eax
call fcn.00434800
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x830]
add esp, 0x10
push eax
call edi
test eax, eax
je 0x5ce1a5
cmp dword [ebp - 0xa70], 0
je 0x5ce1a5
lea eax, [ebp - 0x628]
push eax
call edi
test eax, eax
je 0x5ce1a5
cmp dword [ebp - 0xa58], 0
je 0x5ce1a5
lea ecx, [ebp - 0xb08]
call fcn.00407a20
lea eax, [ebp - 0xae4]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0xb08]
call fcn.00407cc0
lea eax, [ebp - 0x218]
push eax
call edi
test eax, eax
je 0x5cdfe4
sub esp, 0x18
lea eax, [ebp - 0x218]
mov ecx, esp
push eax
call fcn.00405d50
call fcn.00427300
add esp, 0x18
push dword [ebp - 0xae4]
lea ecx, [ebp - 0xb08]
call fcn.00407cf0
lea ecx, [ebp - 0xb08]
call fcn.00407a90
test eax, eax
je 0x5ce0a6
lea eax, [ebp - 0xae4]
push eax
lea ecx, [ebp - 0xb08]
call fcn.00407cc0
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileW]
xor edi, edi
jmp 0x5ce07d
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.005d4b40
push edi
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push str._s.bak_d
push eax
call fcn.00434800
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.005df3b9
add esp, 0x24
lea eax, [ebp - 0x420]
push 5
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp edi, 0xa
jge 0x5ce093
inc edi
push 0
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x628]
push eax
call ebx
test eax, eax
je 0x5ce024
push dword [ebp - 0xae4]
lea ecx, [ebp - 0xb08]
call fcn.00407cf0
jmp 0x5ce11f
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileW]
xor edi, edi
jmp 0x5ce109
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.005d4b40
push edi
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push str._s.bak_d
push eax
call fcn.00434800
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.005df3b9
add esp, 0x24
lea eax, [ebp - 0x420]
push 5
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp edi, 0xa
jge 0x5ce11f
inc edi
push 0
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x830]
push eax
call ebx
test eax, eax
je 0x5ce0b0
lea eax, [ebp - 0xae4]
push eax
lea ecx, [ebp - 0xb08]
call fcn.00407cc0
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 0x5ce155
call fcn.00407cf0
jmp 0x5ce169
call fcn.00407cf0
lea ecx, [ebp - 0xadc]
call fcn.005cd978
test eax, eax
je 0x5ce16d
xor bl, bl
jmp 0x5ce198
cmp dword [esi + 0x14], 8
jb 0x5ce175
mov esi, dword [esi]
push esi
push str.DriveVCDSName
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0xadd]
call fcn.005cc538
lea ecx, [ebp - 0xadc]
call fcn.005ce2d1
mov bl, 1
lea ecx, [ebp - 0xb08]
call fcn.00407a70
jmp 0x5ce1a7
xor bl, bl
push 0
push 1
lea ecx, [ebp - 0xa68]
call fcn.00420bb0
push 0
push 1
lea ecx, [ebp - 0xa80]
call fcn.00420bb0
lea ecx, [ebp - 0xadd]
call fcn.00443f10
lea ecx, [ebp - 0xadc]
call fcn.005cd8e9
push 0
push 1
lea ecx, [ebp - 0xa50]
call fcn.00420bb0
mov al, bl
call fcn.005cbb5a
ret