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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1160
call fcn.0046f160
mov eax, dword [0x4af6f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x206
push eax
mov word [ebp - 0xc34], ax
lea eax, [ebp - 0xc32]
push eax
call fcn.0046f7e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x824], ax
lea eax, [ebp - 0x822]
push eax
call fcn.0046f7e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
call fcn.0046f7e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x1044], ax
lea eax, [ebp - 0x1042]
push eax
call fcn.0046f7e0
push 0x11c
lea eax, [ebp - 0x1160]
mov edi, 4
push 0
push eax
call fcn.0046f7e0
add esp, 0x3c
mov dword [ebp - 0x1160], 0x11c
lea eax, [ebp - 0x1160]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x46858e
push str.ReadLockedFiles____OSVERSIONINFOEX_failed
call fcn.004696f0
add esp, 4
mov dword [ebp - 0x1160], 0x114
lea eax, [ebp - 0x1160]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x4687c2
push ebx
push 0x104
test esi, esi
je 0x468632
lea eax, [ebp - 0x824]
push eax
call fcn.0046fe12
add esp, 0xc
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
push 3
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x1044]
push 0x104
push eax
call fcn.004703d1
push esi
lea eax, [ebp - 0xc34]
push 0x104
push eax
call fcn.0046fe12
add esp, 0x1c
lea eax, [ebp - 0xc34]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x20c]
push eax
push 0
lea eax, [ebp - 0x1044]
push eax
lea eax, [ebp - 0xc34]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
push 0
lea eax, [ebp - 0x20c]
push eax
push ebx
call fcn.004687e0
add esp, 0xc
test eax, eax
je 0x4687c2
mov edi, 5
jmp 0x468641
lea eax, [ebp - 0x20c]
push eax
call fcn.0046fe12
add esp, 0xc
cmp dword [ebp - 0x1150], 2
jne 0x46866c
push edi
push esi
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push eax
push esi
lea eax, [ebp - 0x20c]
push eax
push str.MoveFileEx__s___s___d
jmp 0x4687ba
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push eax
call fcn.0046f7e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xe3c], ax
lea eax, [ebp - 0xe3a]
push eax
call fcn.0046f7e0
add esp, 0x18
lea eax, [ebp - 0xe3c]
push eax
push 0
push 0
push 0x24
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea eax, [ebp - 0xe3c]
push eax
lea eax, [ebp - 0x414]
push 0x104
push eax
call fcn.0046fe12
add esp, 0xc
lea eax, [ebp - 0x414]
push str.WinInit.ini
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xa2c], ax
lea eax, [ebp - 0xa2a]
push eax
call fcn.0046f7e0
mov edi, dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
lea eax, [ebp - 0xa2c]
add esp, 0xc
push 0x104
push eax
lea eax, [ebp - 0x20c]
push eax
call edi
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x61c], ax
lea eax, [ebp - 0x61a]
push eax
call fcn.0046f7e0
add esp, 0xc
lea eax, [ebp - 0x61c]
test esi, esi
je 0x468753
push 0x104
push eax
push esi
call edi
jmp 0x468766
push 0x49e240
push 0x104
push eax
call fcn.0046fe12
add esp, 0xc
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0xa2c]
push eax
lea eax, [ebp - 0x61c]
push eax
push str.rename
call esi
lea eax, [ebp - 0x414]
push eax
push 0x48c8a4
push 0x48c8a4
push 0x48c8a4
call esi
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0xa2c]
push eax
lea eax, [ebp - 0x61c]
push eax
push str.ReadLockedFiles____WritePrivateProfileString_rename___s___s___s_
call fcn.00469390
add esp, 0x10
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046ecfa
mov esp, ebp
pop ebp
ret