Function at 0x462b68
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 0x4a97b7
lea eax, [esp + 0x1c]
call fcn.0040bd28
push eax
call fcn.00497c80
add esp, 8
lea edx, [esp + 8]
push edx
call sub.SHELL32.DLL_SHGetMalloc
call fcn.0041043c
cmp eax, 6
setge al
and eax, 1
test al, al
je 0x462bf3
mov eax, ebp
call fcn.00463330
mov eax, ebp
call fcn.0040c22c
push 0x4a9b0b
push ebp
call fcn.00497ba4
add esp, 8
push ebp
call sub.KERNEL32.DLL_DeleteFileA
mov eax, ebp
call fcn.00463368
jmp 0x462bfa
mov eax, ebp
call fcn.00463330
mov eax, ebp
call fcn.0040c22c
push 0x4a9b0b
push ebp
call fcn.00497ba4
add esp, 8
cmp byte [esi + 0x14], 0
je 0x462c31
push edi
push 0
mov eax, 0x537
call fcn.004125d0
mov ecx, eax
mov edx, ebp
lea eax, [esp + 0x20]
call fcn.00463258
jmp 0x462c37
push ebp
call sub.KERNEL32.DLL_DeleteFileA
lea edx, [esp + 4]
mov ebx, 0x16
push edx
call fcn.0041043c
cmp eax, 6
jge 0x462c4e
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.0040c22c
push 0x4a9b0b
push ebp
call fcn.00497ba4
add esp, 8
cmp byte [esi + 0x15], 0
je 0x462ca5
push edi
push 0
mov eax, 0x537
call fcn.004125d0
mov ecx, eax
mov edx, ebp
lea eax, [esp + 0x20]
call fcn.00463258
jmp 0x462cab
push ebp
call sub.KERNEL32.DLL_DeleteFileA
mov edx, dword [0x4a95a4]
mov eax, 0x38e
mov dword [esp + 0xc], edx
mov edx, dword [0x4a95a8]
mov dword [esp + 0x10], edx
mov edx, dword [0x4a95ac]
mov dword [esp + 0x14], edx
call fcn.004125d0
mov dword [esp + 0x10], eax
mov eax, 0x38f
call fcn.004125d0
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.0040c22c
push 0x4a9841
push ebp
call fcn.00497ba4
add esp, 8
cmp byte [esi + 0x16], 0
je 0x462deb
cmp dword [esp], 0
je 0x462d3d
push ebp
push dword [esp + 4]
call fcn.00497c80
add esp, 8
push 0
push ebp
call sub.KERNEL32.DLL_CreateDirectoryA
xor ebx, ebx
mov eax, dword [ebx*4 + 0x4a9598]
cmp byte [eax], 0
je 0x462ddf
push ebp
lea edx, [esp + 0x81c]
push edx
call fcn.00497c80
add esp, 8
lea eax, [esp + 0x818]
call fcn.0040c22c
push dword [esp + ebx*4 + 0xc]
lea edx, [esp + 0x81c]
push edx
call fcn.00497ba4
add esp, 8
push 0x4a9b11
lea ecx, [esp + 0x81c]
push ecx
call fcn.00497ba4
add esp, 8
push dword [ebx*4 + 0x4a9598]
lea eax, [esp + 0x1c]
call fcn.0040bd28
push eax
call fcn.00497c80
add esp, 8
test ebx, ebx
jne 0x462dbe
mov edx, edi
jmp 0x462dc0
xor edx, edx
push edx
push 0
mov eax, 0x537
call fcn.004125d0
mov ecx, eax
lea edx, [esp + 0x820]
lea eax, [esp + 0x20]
call fcn.00463258
inc ebx
cmp ebx, 3
jl 0x462d47
jmp 0x462df2
mov eax, ebp
call fcn.004633a0
call fcn.0041043c
test eax, eax
je 0x462f21
lea edx, [esp + 4]
push edx
push 0x17
push 0
call sub.SHELL32.DLL_SHGetSpecialFolderLocation
test eax, eax
jne 0x462f21
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.0040c22c
push 0x4a9841
push ebp
call fcn.00497ba4
add esp, 8
cmp byte [esi + 0x16], 0
je 0x462f1a
push 0
push ebp
call sub.KERNEL32.DLL_CreateDirectoryA
cmp dword [esp], 0
je 0x462e74
mov eax, ebp
xor edx, edx
call fcn.0040a72c
test al, al
je 0x462e74
push ebp
push dword [esp + 4]
call fcn.00497c80
add esp, 8
xor ebx, ebx
mov eax, dword [ebx*4 + 0x4a9598]
cmp byte [eax], 0
je 0x462f0e
push ebp
lea edx, [esp + 0xc1c]
push edx
call fcn.00497c80
add esp, 8
lea eax, [esp + 0xc18]
call fcn.0040c22c
push dword [esp + ebx*4 + 0xc]
lea edx, [esp + 0xc1c]
push edx
call fcn.00497ba4
add esp, 8
push 0x4a9b11
lea ecx, [esp + 0xc1c]
push ecx
call fcn.00497ba4
add esp, 8
push dword [ebx*4 + 0x4a9598]
lea eax, [esp + 0x1c]
call fcn.0040bd28
push eax
call fcn.00497c80
add esp, 8
test ebx, ebx
jne 0x462eed
mov edx, edi
jmp 0x462eef
xor edx, edx
push edx
push 0
mov eax, 0x537
call fcn.004125d0
mov ecx, eax
lea edx, [esp + 0xc20]
lea eax, [esp + 0x20]
call fcn.00463258
inc ebx
cmp ebx, 3
jl 0x462e76
jmp 0x462f21
mov eax, ebp
call fcn.004633a0
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