Function at 0x401131
Capabilities:
Copy file
Create directory
Delete directory
Delete file
Get common file path

Disassembly:
jmp 0x40d4b0
mov eax, 0x1348
call fcn.0041be90
mov eax, dword [0x44e1b4]
xor eax, esp
mov dword [esp + 0x1344], eax
mov eax, dword [esp + 0x1350]
push esi
mov esi, dword [esp + 0x1350]
test esi, esi
mov dword [esp + 4], eax
jne 0x40d4f7
xor eax, eax
pop esi
mov ecx, dword [esp + 0x1344]
xor ecx, esp
call fcn.0041bdf4
add esp, 0x1348
ret
test eax, eax
je 0x40d4df
push ebx
push edi
push 0x88
xor ebx, ebx
lea eax, [esp + 0x14]
push ebx
push eax
call fcn.0041be10
push 0x88
lea ecx, [esp + 0xa8]
push ebx
push ecx
call fcn.0041be10
push 0x410
lea edx, [esp + 0xf5c]
push ebx
push edx
call fcn.0041be10
push 0x208
lea eax, [esp + 0x760]
push ebx
push eax
call fcn.0041be10
push 0x208
lea ecx, [esp + 0x35c]
push ebx
push ecx
call fcn.0041be10
push 0x208
lea edx, [esp + 0x160]
push ebx
push edx
call fcn.0041be10
add esp, 0x48
push 0x208
lea eax, [esp + 0x534]
push ebx
push eax
call fcn.0041be10
push 0x200
lea ecx, [esp + 0xd50]
push ebx
push ecx
call fcn.0041be10
push 0x200
lea edx, [esp + 0xb5c]
push ebx
push edx
call fcn.0041be10
push 0x200
lea eax, [esp + 0x968]
push ebx
push eax
call fcn.0041be10
push 0x100
lea ecx, [esp + 0xb74]
push ecx
push 0x100
lea edx, [esp + 0xd7c]
push edx
push ebx
push ebx
push ebx
push ebx
push esi
call fcn.0041c92d
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x54
lea eax, [esp + 0xb40]
push eax
lea ecx, [esp + 0xd44]
push ecx
lea edx, [esp + 0xf48]
push 0x435d60
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x738]
push eax
push ebx
push ebx
push 0x23
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push 0x100
lea ecx, [esp + 0x944]
push ecx
lea edx, [esp + 0x740]
push edx
call fcn.004010b4
add esp, 0xc
test eax, eax
je 0x40d74a
lea eax, [esp + 0x940]
push eax
lea ecx, [esp + 0x73c]
push ecx
lea edx, [esp + 0x330]
push str._s_s
push edx
call edi
add esp, 0x10
push ebx
lea eax, [esp + 0x32c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x40d74a
push ebp
lea ecx, [esp + 0xf44]
push ecx
lea edx, [esp + 0x330]
push edx
lea eax, [esp + 0x12c]
push str._s_s
push eax
call edi
mov ebp, dword [sym.imp.KERNEL32.dll_CopyFileW]
add esp, 0x10
push ebx
lea ecx, [esp + 0x128]
push ecx
push esi
call ebp
test eax, eax
je 0x40d749
lea edx, [esp + 0x124]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and eax, 0xfffffffe
push eax
lea eax, [esp + 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [esp + 0x534]
push ecx
lea edx, [esp + 0x128]
push edx
call sub.LZ32.dll_GetExpandedNameW
push ebx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x12c]
push ecx
call sub.LZ32.dll_LZOpenFileW
push 0x1000
lea edx, [esp + 0xa0]
mov esi, eax
push edx
lea eax, [esp + 0x53c]
push eax
call sub.LZ32.dll_LZOpenFileW
mov edi, eax
push edi
push esi
call sub.LZ32.dll_LZCopy
test eax, eax
jl 0x40d749
push esi
call sub.LZ32.dll_LZClose
push edi
call sub.LZ32.dll_LZClose
mov ecx, dword [esp + 0x10]
push ebx
push ecx
lea edx, [esp + 0x53c]
push edx
call ebp
mov ebx, eax
pop ebp
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [esp + 0x530]
push eax
call esi
lea ecx, [esp + 0x120]
push ecx
call esi
lea edx, [esp + 0x328]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov ecx, dword [esp + 0x1350]
pop edi
mov eax, ebx
pop ebx
pop esi
xor ecx, esp
call fcn.0041bdf4
add esp, 0x1348
ret