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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1160
call fcn.00469d10
mov eax, dword [0x4a86f0]
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.0046a390
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x824], ax
lea eax, [ebp - 0x822]
push eax
call fcn.0046a390
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
call fcn.0046a390
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x1044], ax
lea eax, [ebp - 0x1042]
push eax
call fcn.0046a390
push 0x11c
lea eax, [ebp - 0x1160]
mov edi, 4
push 0
push eax
call fcn.0046a390
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 0x45e71e
push str.ReadLockedFiles____OSVERSIONINFOEX_failed
call fcn.0045f880
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 0x45e952
push ebx
push 0x104
test esi, esi
je 0x45e7c2
lea eax, [ebp - 0x824]
push eax
call fcn.0046bf5a
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.0046cc55
push esi
lea eax, [ebp - 0xc34]
push 0x104
push eax
call fcn.0046bf5a
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.0045e970
add esp, 0xc
test eax, eax
je 0x45e952
mov edi, 5
jmp 0x45e7d1
lea eax, [ebp - 0x20c]
push eax
call fcn.0046bf5a
add esp, 0xc
cmp dword [ebp - 0x1150], 2
jne 0x45e7fc
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 0x45e94a
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push eax
call fcn.0046a390
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xe3c], ax
lea eax, [ebp - 0xe3a]
push eax
call fcn.0046a390
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.0046bf5a
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.0046a390
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.0046a390
add esp, 0xc
lea eax, [ebp - 0x61c]
test esi, esi
je 0x45e8e3
push 0x104
push eax
push esi
call edi
jmp 0x45e8f6
push 0x495988
push 0x104
push eax
call fcn.0046bf5a
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 0x487854
push 0x487854
push 0x487854
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.0045f520
add esp, 0x10
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004698aa
mov esp, ebp
pop ebp
ret