Function at 0x404225
Capabilities:
Delete directory
Get common file path

Disassembly:
push ebx
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.004085ba
mov dword [esp], eax
push 0
call sub.KERNEL32.DLL_GetModuleHandleA
mov dword [0x4134cc], eax
push dword [0x413a50]
push dword [esp + 4]
call fcn.00402859
lea eax, [esp + 8]
push eax
call fcn.0040f040
call fcn.00404530
call fcn.00403fd5
push dword [0x413a50]
push dword [0x413a50]
push 0
call fcn.0040856c
inc dword [0x413a50]
mov edx, dword [0x4134e8]
pop ecx
mov dword [0x413a50], ecx
add ecx, dword [0x412324]
call fcn.0040f0c0
je 0x4042ac
mov ebx, dword [esp]
cmp ebx, 1
jne 0x4042ac
mov eax, 1
jmp 0x4042ae
xor eax, eax
and eax, eax
je 0x4042b7
call fcn.00402c54
call fcn.00402ae6
mov edx, dword [0x413544]
push dword [0x413a50]
call fcn.0040f120
mov edx, dword [0x413524]
call fcn.0040f120
mov edx, dword [0x4134e4]
call fcn.0040f120
lea eax, [0x4134e4]
push eax
call fcn.0040f040
push dword [0x413a50]
push dword [0x413a50]
push 0x800
call fcn.00405b50
lea eax, [esp + 0xc]
push eax
call fcn.0040f040
push dword [0x413a50]
push dword [esp + 0xc]
push 0
push 0x41201e
mov edx, dword [0x413544]
push dword [0x413a50]
call fcn.0040f120
mov edx, dword [0x413524]
call fcn.0040f120
inc dword [0x413a50]
mov edx, dword [0x412324]
add dword [esp], edx
call sub.KERNEL32.DLL_GetTempFileNameA
pop dword [0x413a50]
push dword [esp + 8]
call fcn.0040c53c
push dword [0x41351c]
push dword [esp + 0xc]
call sub.SHLWAPI.DLL_PathRenameExtensionA
mov edx, dword [esp + 8]
push dword [0x413a50]
call fcn.0040f120
lea eax, [0x4134e4]
push eax
call fcn.0040f040
call fcn.00403de5
mov edx, dword [0x413484]
xor ecx, ecx
call fcn.0040f0c0
jne 0x4043ab
push dword [0x413484]
call fcn.00402faa
call fcn.004035ee
push dword [0x413a50]
call fcn.00403b17
lea eax, [esp + 0x10]
push eax
call fcn.0040f040
push dword [0x4134e4]
call sub.SHLWAPI.DLL_PathQuoteSpacesA
mov edx, dword [0x4134e4]
push dword [0x413a50]
call fcn.0040f120
mov edx, str.__BFINOPSX
call fcn.0040f120
mov edx, dword [esp + 8]
call fcn.0040f120
lea eax, [esp + 8]
push eax
call fcn.0040f040
push dword [esp + 4]
call sub.SHLWAPI.DLL_PathQuoteSpacesA
push dword [0x413a50]
mov edx, dword [0x413534]
push dword [0x413a50]
call fcn.0040f120
mov edx, str.__BFINOPSX
call fcn.0040f120
mov edx, dword [esp + 0xc]
call fcn.0040f120
inc dword [0x413a50]
push dword [0x4134d8]
mov edx, dword [esp + 0x18]
push dword [0x413a50]
call fcn.0040f120
mov edx, dword [0x4134c0]
call fcn.0040f120
mov edx, dword [0x412324]
add dword [esp], edx
mov edx, dword [0x412324]
add dword [esp + 8], edx
call fcn.00402a04
pop dword [0x413a50]
mov dword [esp + 0x10], eax
call fcn.00403d19
push dword [0x4134e4]
call sub.SHLWAPI.DLL_PathUnquoteSpacesA
push dword [0x4134e4]
call fcn.0040c53c
push dword [0x413554]
call fcn.0040c53c
push dword [0x4134d0]
call fcn.0040c53c
push dword [0x413a50]
push dword [0x413a50]
push dword [0x413a50]
push dword [0x413a50]
push dword [0x413a50]
call fcn.00408450
mov edx, dword [0x412324]
add dword [esp], edx
call fcn.0040c59c
mov edx, dword [0x412324]
add dword [esp], edx
call fcn.0040c58a
pop dword [0x413a50]
push dword [0x413540]
call sub.KERNEL32.DLL_RemoveDirectoryA
push dword [0x413544]
call sub.KERNEL32.DLL_RemoveDirectoryA
push dword [esp + 0x10]
jmp 0x4017ab