Function at 0x4292b0
Capabilities:
Delete file
Get common file path
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x548
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0x104
lea eax, [esp + 0x244]
push eax
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [esp + 0x240]
push ecx
call esi
lea edx, [esp + 0x240]
mov cl, byte [eax + edx - 1]
dec edx
cmp cl, 0x5c
je 0x429339
lea edi, [esp + 0x240]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x429328
mov ax, word [0x44b63c]
mov word [edi], ax
call fcn.00404100
cmp eax, 2
je 0x429454
cmp eax, 3
je 0x429454
push 0x104
lea ecx, [esp + 0x34c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea edx, [esp + 0x348]
push edx
call esi
lea ecx, [esp + 0x348]
mov dl, byte [eax + ecx - 1]
dec ecx
cmp dl, 0x5c
je 0x429398
lea edi, [esp + 0x348]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x429386
mov dx, word [0x44b63c]
mov word [edi], dx
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x10]
rep stosd dword es:[edi], eax
mov eax, dword [0x466dec]
push str..FTS
push eax
lea ecx, [esp + 0x350]
push ecx
lea edx, [esp + 0x1c]
push 0x44d628
push edx
call fcn.0042f6e9
add esp, 0x14
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.004422e6
test eax, eax
mov ebp, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
je 0x42940c
push 0x20
lea edx, [esp + 0x14]
push edx
call ebp
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x42940c
push 4
push ebx
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
lea edi, [esp + 0x240]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x429414
mov edx, dword [str.SpoolDriversw32x863]
mov eax, dword [0x44c3cc]
mov ecx, dword [0x44c3d0]
mov dword [edi], edx
mov edx, dword [0x44c3d4]
mov dword [edi + 4], eax
mov eax, dword [0x44c3d8]
mov dword [edi + 8], ecx
mov ecx, dword [0x44c3dc]
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
jmp 0x4294ee
mov ebp, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edi, dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
mov esi, 0x44d48c
mov edx, dword [esi]
mov eax, dword [0x466dec]
push edx
push eax
lea ecx, [esp + 0x248]
push ecx
lea edx, [esp + 0x1c]
push str._s_s_s
push edx
call fcn.0042f6e9
add esp, 0x14
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.004422e6
test eax, eax
je 0x4294df
push 0x20
lea edx, [esp + 0x14]
push edx
call ebp
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x4294df
push 0x104
lea ecx, [esp + 0x454]
push ecx
lea edx, [esp + 0x18]
push edx
call edi
lea eax, [esp + 0x450]
push eax
push 0x44bf10
call fcn.004046e0
add esp, 8
add esi, 4
cmp esi, 0x44d498
jl 0x429465
mov ecx, dword [0x466dec]
push str..GID
push ecx
lea edx, [esp + 0x248]
push edx
lea eax, [esp + 0x1c]
push 0x44c3c0
push eax
call fcn.0042f6e9
add esp, 0x14
push 0x20
lea ecx, [esp + 0x14]
push ecx
call ebp
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret