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

Disassembly:
push 0x2d0
mov eax, 0x49f1c4
call fcn.00454d9d
mov eax, dword [ebp + 8]
and dword [ebp - 4], 0
mov dword [ebp - 0x264], eax
mov eax, dword [eax + 0x1c]
mov esi, 0x4ae0f8
push esi
push eax
call fcn.0041f44f
mov ebx, 0x4ae1b8
push ebx
push eax
call fcn.0041f44f
mov edi, 0x4ae1e8
push edi
mov ecx, eax
call fcn.0041f647
test al, al
jne 0x412d87
lea ecx, [ebp - 0x2a0]
call fcn.0045066b
mov dword [ebp - 0x2a0], 0x4b1354
mov dword [ebp - 0x294], 0x80047e58
push 0x4ba2ec
lea eax, [ebp - 0x2a0]
push eax
call fcn.004548cc
mov eax, dword [ebp - 0x264]
mov eax, dword [eax + 0x1c]
push esi
push eax
call fcn.0041f44f
push ebx
push eax
call fcn.0041f44f
push edi
push eax
call fcn.0041f44f
mov ecx, dword [ebp - 0x264]
lea edx, [ebp - 0x25c]
mov esi, eax
call fcn.00414203
mov byte [ebp - 4], 1
cmp dword [ebp - 0x244], 8
mov eax, dword [ebp - 0x258]
mov byte [ebp - 0x25d], 1
jae 0x412dd8
lea eax, [ebp - 0x258]
push eax
call fcn.00421118
pop ecx
test eax, eax
jge 0x412dea
mov byte [ebp - 0x25d], 0
lea eax, [ebp - 0x26c]
mov edx, esi
call fcn.0041f7b5
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x28c], eax
lea eax, [ebp - 0x2dc]
mov edx, esi
mov dword [ebp - 0x290], ecx
call fcn.0041f78e
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x26c], ecx
mov dword [ebp - 0x268], eax
lea edi, [ebp - 0x290]
lea esi, [ebp - 0x26c]
call fcn.0041fe88
push 0
test al, al
jne 0x413212
lea ecx, [ebp - 0x240]
mov dword [ebp - 0x228], 7
call fcn.00407fc5
mov byte [ebp - 4], 2
call fcn.0041fdaf
add eax, 8
push 0x4ae1fc
push eax
call fcn.0041f44f
lea esi, [ebp - 0x288]
mov ecx, eax
call fcn.0041ee43
push 0x4ae218
mov esi, eax
mov byte [ebp - 4], 3
call fcn.00408357
pop ecx
xor edi, edi
push edi
push 1
lea ecx, [ebp - 0x288]
mov bl, al
mov byte [ebp - 4], 2
call fcn.00407ab4
lea eax, [ebp - 0x224]
push eax
push edi
push edi
test bl, bl
je 0x412f06
push 0x8000
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp eax, edi
jge 0x412f5a
push eax
mov eax, dword [ebp - 0x264]
push edi
mov esi, 0x80047e41
push esi
push dword [eax + 0x10c]
call fcn.00418ee2
lea ecx, [ebp - 0x2c4]
call fcn.0045066b
mov dword [ebp - 0x2c4], 0x4b1354
mov dword [ebp - 0x2b8], esi
push 0x4ba2ec
lea eax, [ebp - 0x2c4]
jmp 0x412d81
push 0x8002
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp eax, edi
jge 0x412f5a
push eax
mov eax, dword [ebp - 0x264]
push edi
mov esi, 0x80047e43
push esi
push dword [eax + 0x10c]
call fcn.00418ee2
lea ecx, [ebp - 0x2d4]
call fcn.0045066b
mov dword [ebp - 0x2d4], 0x4b1354
mov dword [ebp - 0x2c8], esi
push 0x4ba2ec
lea eax, [ebp - 0x2d4]
jmp 0x412d81
lea ecx, [ebp - 0x240]
call fcn.00415949
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x240]
call fcn.004160ec
lea esi, [ebp - 0x26c]
call fcn.0041fdaf
add eax, 8
push 0x4ae240
push eax
call fcn.0041f44f
lea esi, [ebp - 0x288]
mov ecx, eax
call fcn.0041ee43
push eax
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 4
call fcn.00415753
push edi
push 1
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.00407ab4
lea esi, [ebp - 0x26c]
call fcn.0041fdaf
add eax, 8
push 0x4ae270
push eax
call fcn.0041f44f
push 0x4ae24c
push eax
call fcn.0041f44f
lea esi, [ebp - 0x288]
mov ecx, eax
call fcn.0041ee43
push eax
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 5
call fcn.00415753
push edi
push 1
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.00407ab4
cmp dword [ebp - 0x228], 8
mov eax, dword [ebp - 0x23c]
jae 0x41301f
lea eax, [ebp - 0x23c]
mov ebx, dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0x80
push eax
call ebx
cmp dword [ebp - 0x228], 8
mov eax, dword [ebp - 0x23c]
jae 0x413042
lea eax, [ebp - 0x23c]
push eax
call fcn.00421118
cmp eax, edi
pop ecx
jl 0x4130aa
cmp dword [ebp - 0x228], 8
mov eax, dword [ebp - 0x23c]
jae 0x413062
lea eax, [ebp - 0x23c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp eax, edi
jne 0x4130aa
cmp dword [ebp - 0x228], 8
mov esi, dword [ebp - 0x23c]
jae 0x413082
lea esi, [ebp - 0x23c]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jle 0x413096
and eax, 0xffff
or eax, 0x80070000
push esi
push edi
push eax
mov eax, dword [ebp - 0x264]
push dword [eax + 0x10c]
call fcn.00418e71
cmp byte [ebp - 0x25d], 0
jne 0x4131f0
lea esi, [ebp - 0x26c]
call fcn.0041fdaf
add eax, 8
push 0x4ae240
push eax
call fcn.0041f44f
lea esi, [ebp - 0x288]
mov ecx, eax
call fcn.0041ee43
mov esi, eax
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 6
call fcn.00415949
push esi
lea ecx, [ebp - 0x240]
call fcn.00415753
push edi
push 1
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 2
call fcn.00407ab4
lea esi, [ebp - 0x26c]
call fcn.0041fdaf
add eax, 8
push 0x4ae288
push eax
call fcn.0041f44f
push 0x4ae24c
push eax
call fcn.0041f44f
lea esi, [ebp - 0x288]
mov ecx, eax
call fcn.0041ee43
push eax
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 7
call fcn.00415753
push edi
push 1
mov ecx, esi
call fcn.00407ab4
mov eax, dword [ebp - 0x23c]
push 8
pop esi
cmp dword [ebp - 0x228], esi
jae 0x41316e
lea eax, [ebp - 0x23c]
push 0x80
push eax
call ebx
mov eax, dword [ebp - 0x23c]
cmp dword [ebp - 0x228], esi
jae 0x41318a
lea eax, [ebp - 0x23c]
push eax
call fcn.00421118
cmp eax, edi
pop ecx
jl 0x4131f0
mov eax, dword [ebp - 0x23c]
cmp dword [ebp - 0x228], esi
jae 0x4131a9
lea eax, [ebp - 0x23c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp eax, edi
jne 0x4131f0
cmp dword [ebp - 0x228], esi
mov esi, dword [ebp - 0x23c]
jae 0x4131c8
lea esi, [ebp - 0x23c]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jle 0x4131dc
and eax, 0xffff
or eax, 0x80070000
push esi
push edi
push eax
mov eax, dword [ebp - 0x264]
push dword [eax + 0x10c]
call fcn.00418e71
push edi
push 1
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 1
call fcn.00407ab4
lea esi, [ebp - 0x26c]
call fcn.0041fdda
jmp 0x412e26
push 1
lea ecx, [ebp - 0x25c]
call fcn.00407ab4
call fcn.00454df9
ret 4