Function at 0x406110
Capabilities:
Delete directory
Delete file
Get common file path
Move file

Disassembly:
sub esp, 0x20c
mov eax, dword [0x485618]
xor eax, esp
mov dword [esp + 0x208], eax
push ebx
push ebp
push esi
push edi
push 0x104
lea eax, [esp + 0x118]
push 0
push eax
call fcn.0043ac90
add esp, 0xc
lea ecx, [esp + 0x114]
push ecx
push 1
push 0
push 0x17
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x114]
push edx
lea eax, [esp + 0x14]
push 0x46b674
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
call edi
lea edx, [esp + 0x114]
push edx
lea eax, [esp + 0x14]
push 0x46b658
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
call edi
lea edx, [esp + 0x114]
push edx
lea eax, [esp + 0x14]
push 0x46b63c
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
call edi
lea edx, [esp + 0x114]
push edx
lea eax, [esp + 0x14]
push 0x46b620
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
call edi
lea edx, [esp + 0x114]
push edx
lea eax, [esp + 0x14]
push 0x46b600
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
call edi
push 0x104
lea edx, [esp + 0x14]
push 0
push edx
call fcn.0043ac90
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x20]
push 0x46b5f4
push ecx
call esi
add esp, 0x18
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
push 0x104
lea eax, [esp + 0x118]
push 0
push eax
call fcn.0043ac90
mov ebp, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
add esp, 0xc
push 0x104
lea ecx, [esp + 0x118]
push ecx
push 0
call ebp
lea edx, [esp + 0x114]
push 0x5c
push edx
call fcn.0043ad10
mov byte [eax], 0
push str.ico.ico
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x20]
push str._s_s
push ecx
call esi
add esp, 0x18
lea edx, [esp + 0x10]
push edx
call edi
lea eax, [esp + 0x114]
push eax
lea ecx, [esp + 0x14]
push str._syhb32.dll
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0x10]
push edx
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_MoveFileExA]
push 4
push 0
lea eax, [esp + 0x18]
push eax
call ebx
lea ecx, [esp + 0x114]
push ecx
lea edx, [esp + 0x14]
push str._syhb64.dll
push edx
call esi
add esp, 0xc
lea eax, [esp + 0x10]
push eax
call edi
push 4
push 0
lea ecx, [esp + 0x18]
push ecx
call ebx
lea edx, [esp + 0x114]
push edx
lea eax, [esp + 0x14]
push str._sCoreIo.dll
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
call edi
push 4
push 0
lea edx, [esp + 0x18]
push edx
call ebx
lea eax, [esp + 0x114]
push eax
push str._s_se_core.dll
lea ecx, [esp + 0x18]
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0x10]
push edx
call edi
push 4
push 0
lea eax, [esp + 0x18]
push eax
call ebx
lea ecx, [esp + 0x114]
push ecx
lea edx, [esp + 0x14]
push str._s_so_core.dll
push edx
call esi
add esp, 0xc
lea eax, [esp + 0x10]
push eax
call edi
push 4
push 0
lea ecx, [esp + 0x18]
push ecx
call ebx
push 0x104
lea edx, [esp + 0x118]
push 0
push edx
call fcn.0043ac90
add esp, 0xc
push 0x104
lea eax, [esp + 0x118]
push eax
push 0
call ebp
push 0x104
lea ecx, [esp + 0x14]
push 0
push ecx
call fcn.0043ac90
add esp, 0xc
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x114]
mov byte [esp + eax + 0x10], cl
add eax, 1
test cl, cl
jne 0x4063a0
lea eax, [esp + 0x10]
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x4063c0
mov edx, dword [str..bootdel]
mov ecx, dword [0x46b5ec]
mov dword [eax], edx
mov dl, byte [0x46b5f0]
mov dword [eax + 4], ecx
mov byte [eax + 8], dl
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x118]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
push 4
push 0
lea edx, [esp + 0x18]
push edx
call ebx
push 0x104
lea eax, [esp + 0x118]
push 0
push eax
call fcn.0043ac90
add esp, 0xc
lea ecx, [esp + 0x114]
push ecx
push 1
push 0
push 0x19
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea edx, [esp + 0x114]
push edx
lea eax, [esp + 0x14]
push 0x46b494
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
call edi
mov ecx, dword [esp + 0x218]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043a450
add esp, 0x20c
ret