Function at 0x52cabc
Capabilities:
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff86c
push ebx
xor ebx, ebx
mov dword [ebp - 0x78c], ebx
mov dword [ebp - 0x790], ebx
mov dword [ebp - 0x794], ebx
mov dword [ebp - 0x784], ebx
mov dword [ebp - 0x788], ebx
mov dword [ebp - 0x780], ebx
mov dword [ebp - 0x77c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x52cef2
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xd], 0
lea eax, [ebp - 0x778]
xor ecx, ecx
mov edx, 0x114
call fcn.00403b8c
mov dword [ebp - 0x778], 0x114
lea eax, [ebp - 0x778]
push eax
call sub.kernel32.dll_GetVersionExW
cmp dword [ebp - 0x768], 0
jne 0x52cb50
push 0x32
call sub.kernel32.dll_SetLastError
jmp 0x52cec7
cmp dword [ebp - 0x768], 2
jne 0x52cba1
cmp dword [ebp - 0xc], 1
jne 0x52cb7a
push 5
push 0
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_MoveFileExW
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0xd], al
jmp 0x52cec7
cmp dword [ebp - 0xc], 2
jne 0x52cec7
push 5
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_MoveFileExW
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0xd], al
jmp 0x52cec7
mov dl, 1
mov eax, dword [0x490a3c]
call fcn.00496c18
mov dword [ebp - 0x14], eax
push 0x105
lea eax, [ebp - 0x24a]
push eax
call sub.kernel32.dll_GetWindowsDirectoryW
lea eax, [ebp - 0x18]
lea edx, [ebp - 0x24a]
mov ecx, 0x106
call fcn.00406f90
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x52cbfa
mov eax, dword [ebp - 0x24]
sub eax, 0xa
cmp word [eax], 2
je 0x52cbfa
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x18]
call fcn.00405d84
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x52cc20
mov eax, dword [ebp - 0x28]
sub eax, 0xa
cmp word [eax], 2
je 0x52cc20
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x18]
call fcn.00405d84
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x52cc37
mov eax, dword [ebp - 0x2c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2c]
cmp word [eax + edx*2 - 2], 0x5c
je 0x52cc52
lea eax, [ebp - 0x18]
mov edx, 0x52cf10
call fcn.004071a4
lea eax, [ebp - 0x18]
mov edx, 0x52cf20
call fcn.004071a4
mov eax, dword [ebp - 0x18]
call fcn.0047a474
test al, al
je 0x52cc76
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov edx, 0x52cf44
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x52cc93
mov edx, 0x52cf44
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 0x105
lea eax, [ebp - 0x456]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_GetShortPathNameW
lea eax, [ebp - 0x77c]
mov edx, dword [ebp - 8]
call fcn.00406f3c
mov eax, dword [ebp - 0x77c]
call fcn.0047a474
test al, al
je 0x52ccdf
push 0x105
lea eax, [ebp - 0x662]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_GetShortPathNameW
jmp 0x52cdf8
lea eax, [ebp - 0x780]
mov edx, dword [ebp - 8]
call fcn.00406f3c
mov eax, dword [ebp - 0x780]
lea edx, [ebp - 0x1c]
call fcn.0047ad0c
mov edx, dword [ebp - 0x1c]
mov eax, 0x52cf64
call fcn.004078ac
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x52cd70
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x52cd37
mov eax, dword [ebp - 0x30]
sub eax, 0xa
cmp word [eax], 2
je 0x52cd37
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
call fcn.00405d84
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x52cd4e
mov eax, dword [ebp - 0x34]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 8
jle 0x52cde5
mov ecx, 0x52cf74
mov dl, 1
mov eax, dword [0x477528]
call fcn.00481750
call fcn.00405354
jmp 0x52cde5
mov eax, dword [ebp - 0x20]
dec eax
cmp eax, 8
jle 0x52cd7f
mov byte [ebp - 0x3d], 1
jmp 0x52cdc9
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x52cda5
mov eax, dword [ebp - 0x38]
sub eax, 0xa
cmp word [eax], 2
je 0x52cda5
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
call fcn.00405d84
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x52cdbc
mov eax, dword [ebp - 0x3c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x20]
cmp eax, 3
setg byte [ebp - 0x3d]
cmp byte [ebp - 0x3d], 0
je 0x52cde5
mov ecx, 0x52cf74
mov dl, 1
mov eax, dword [0x477528]
call fcn.00481750
call fcn.00405354
lea eax, [ebp - 0x662]
mov ecx, 0x105
mov edx, dword [ebp - 8]
call fcn.0047b3ac
cmp dword [ebp - 0xc], 1
jne 0x52ce4a
mov edx, 0x52cf44
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
push eax
lea eax, [ebp - 0x788]
lea edx, [ebp - 0x456]
mov ecx, 0x106
call fcn.00406f90
mov ecx, dword [ebp - 0x788]
lea eax, [ebp - 0x784]
mov edx, 0x52cf9c
call fcn.00407264
mov ecx, dword [ebp - 0x784]
mov eax, dword [ebp - 0x14]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x60]
jmp 0x52cebb
cmp dword [ebp - 0xc], 2
jne 0x52cebb
mov edx, 0x52cf44
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
push eax
lea eax, [ebp - 0x790]
lea edx, [ebp - 0x662]
mov ecx, 0x106
call fcn.00406f90
push dword [ebp - 0x790]
push 0x52cfb4
lea eax, [ebp - 0x794]
lea edx, [ebp - 0x456]
mov ecx, 0x106
call fcn.00406f90
push dword [ebp - 0x794]
lea eax, [ebp - 0x78c]
mov edx, 3
call fcn.00407348
mov ecx, dword [ebp - 0x78c]
mov eax, dword [ebp - 0x14]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x60]
mov byte [ebp - 0xd], 1
mov eax, dword [ebp - 0x14]
call fcn.004044bc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52cef9
lea eax, [ebp - 0x794]
mov edx, 7
call fcn.00406d78
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.00406d78
ret