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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffff004
push eax
add esp, 0xffffffe8
mov edi, ecx
mov dword [esp], edx
mov esi, eax
lea ebp, [esp + 0x418]
push 0x400
lea eax, [esp + 0x1c]
push eax
push 0
call sub.KERNEL32.DLL_GetModuleFileNameA
push str.WinRAR.exe
lea eax, [esp + 0x1c]
call fcn.0040bd0c
push eax
call fcn.00497c60
add esp, 8
lea edx, [esp + 8]
push edx
call sub.SHELL32.DLL_SHGetMalloc
call fcn.00410420
cmp eax, 6
setge al
and eax, 1
test al, al
je 0x462bc3
mov eax, ebp
call fcn.00463300
mov eax, ebp
call fcn.0040c210
push str.WinRAR.lnk
push ebp
call fcn.00497b84
add esp, 8
push ebp
call sub.KERNEL32.DLL_DeleteFileA
mov eax, ebp
call fcn.00463338
jmp 0x462bca
mov eax, ebp
call fcn.00463300
mov eax, ebp
call fcn.0040c210
push str.WinRAR.lnk
push ebp
call fcn.00497b84
add esp, 8
cmp byte [esi + 0x14], 0
je 0x462c01
push edi
push 0
mov eax, 0x537
call fcn.004125b4
mov ecx, eax
mov edx, ebp
lea eax, [esp + 0x20]
call fcn.00463228
jmp 0x462c07
push ebp
call sub.KERNEL32.DLL_DeleteFileA
lea edx, [esp + 4]
mov ebx, 0x16
push edx
call fcn.00410420
cmp eax, 6
jge 0x462c1e
add ebx, 0xfffffff5
push ebx
push 0
call sub.SHELL32.DLL_SHGetSpecialFolderLocation
push ebp
push dword [esp + 8]
call sub.SHELL32.DLL_SHGetPathFromIDListA
push dword [esp + 4]
mov eax, dword [esp + 0xc]
push eax
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, ebp
call fcn.0040c210
push str.WinRAR.lnk
push ebp
call fcn.00497b84
add esp, 8
cmp byte [esi + 0x15], 0
je 0x462c75
push edi
push 0
mov eax, 0x537
call fcn.004125b4
mov ecx, eax
mov edx, ebp
lea eax, [esp + 0x20]
call fcn.00463228
jmp 0x462c7b
push ebp
call sub.KERNEL32.DLL_DeleteFileA
mov edx, dword [str.WinRAR]
mov eax, 0x38e
mov dword [esp + 0xc], edx
mov edx, dword [0x4a9568]
mov dword [esp + 0x10], edx
mov edx, dword [0x4a956c]
mov dword [esp + 0x14], edx
call fcn.004125b4
mov dword [esp + 0x10], eax
mov eax, 0x38f
call fcn.004125b4
mov dword [esp + 0x14], eax
lea edx, [esp + 4]
push edx
push 2
push 0
call sub.SHELL32.DLL_SHGetSpecialFolderLocation
push ebp
push dword [esp + 8]
call sub.SHELL32.DLL_SHGetPathFromIDListA
push dword [esp + 4]
mov ecx, dword [esp + 0xc]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov eax, ebp
call fcn.0040c210
push str.WinRAR
push ebp
call fcn.00497b84
add esp, 8
cmp byte [esi + 0x16], 0
je 0x462dbb
cmp dword [esp], 0
je 0x462d0d
push ebp
push dword [esp + 4]
call fcn.00497c60
add esp, 8
push 0
push ebp
call sub.KERNEL32.DLL_CreateDirectoryA
xor ebx, ebx
mov eax, dword [ebx*4 + 0x4a9558]
cmp byte [eax], 0
je 0x462daf
push ebp
lea edx, [esp + 0x81c]
push edx
call fcn.00497c60
add esp, 8
lea eax, [esp + 0x818]
call fcn.0040c210
push dword [esp + ebx*4 + 0xc]
lea edx, [esp + 0x81c]
push edx
call fcn.00497b84
add esp, 8
push 0x4a9ad1
lea ecx, [esp + 0x81c]
push ecx
call fcn.00497b84
add esp, 8
push dword [ebx*4 + 0x4a9558]
lea eax, [esp + 0x1c]
call fcn.0040bd0c
push eax
call fcn.00497c60
add esp, 8
test ebx, ebx
jne 0x462d8e
mov edx, edi
jmp 0x462d90
xor edx, edx
push edx
push 0
mov eax, 0x537
call fcn.004125b4
mov ecx, eax
lea edx, [esp + 0x820]
lea eax, [esp + 0x20]
call fcn.00463228
inc ebx
cmp ebx, 3
jl 0x462d17
jmp 0x462dc2
mov eax, ebp
call fcn.00463370
call fcn.00410420
test eax, eax
je 0x462ef1
lea edx, [esp + 4]
push edx
push 0x17
push 0
call sub.SHELL32.DLL_SHGetSpecialFolderLocation
test eax, eax
jne 0x462ef1
push ebp
push dword [esp + 8]
call sub.SHELL32.DLL_SHGetPathFromIDListA
push dword [esp + 4]
mov ecx, dword [esp + 0xc]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov eax, ebp
call fcn.0040c210
push str.WinRAR
push ebp
call fcn.00497b84
add esp, 8
cmp byte [esi + 0x16], 0
je 0x462eea
push 0
push ebp
call sub.KERNEL32.DLL_CreateDirectoryA
cmp dword [esp], 0
je 0x462e44
mov eax, ebp
xor edx, edx
call fcn.0040a710
test al, al
je 0x462e44
push ebp
push dword [esp + 4]
call fcn.00497c60
add esp, 8
xor ebx, ebx
mov eax, dword [ebx*4 + 0x4a9558]
cmp byte [eax], 0
je 0x462ede
push ebp
lea edx, [esp + 0xc1c]
push edx
call fcn.00497c60
add esp, 8
lea eax, [esp + 0xc18]
call fcn.0040c210
push dword [esp + ebx*4 + 0xc]
lea edx, [esp + 0xc1c]
push edx
call fcn.00497b84
add esp, 8
push 0x4a9ad1
lea ecx, [esp + 0xc1c]
push ecx
call fcn.00497b84
add esp, 8
push dword [ebx*4 + 0x4a9558]
lea eax, [esp + 0x1c]
call fcn.0040bd0c
push eax
call fcn.00497c60
add esp, 8
test ebx, ebx
jne 0x462ebd
mov edx, edi
jmp 0x462ebf
xor edx, edx
push edx
push 0
mov eax, 0x537
call fcn.004125b4
mov ecx, eax
lea edx, [esp + 0xc20]
lea eax, [esp + 0x20]
call fcn.00463228
inc ebx
cmp ebx, 3
jl 0x462e46
jmp 0x462ef1
mov eax, ebp
call fcn.00463370
mov edx, dword [esp + 8]
push edx
mov ecx, dword [edx]
call dword [ecx + 8]
add esp, 0x1018
pop ebp
pop edi
pop esi
pop ebx
ret