Function at 0x1000a12d
Capabilities:
Delete file
Get common file path

Disassembly:
push 0x244
mov eax, 0x1007d696
call fcn.10063f27
mov eax, dword [ebp + 8]
mov dword [ebp - 0x240], eax
xor eax, eax
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21c]
push eax
xor edi, edi
push edi
push edi
push 0x801a
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
setge bl
test bl, bl
je 0x1000a41a
push 0x10093504
mov esi, 0x104
lea eax, [ebp - 0x21c]
push esi
push eax
call fcn.1005ab1d
add esp, 0xc
cmp byte [ebp + 0xc], 0
lea eax, [ebp - 0x21c]
je 0x1000a19f
push 0x10093530
jmp 0x1000a1a4
push 0x10093580
push esi
push eax
call fcn.1005ab1d
lea eax, [ebp - 0x21c]
add esp, 0xc
push eax
call fcn.100076fd
pop ecx
test al, al
je 0x1000a41a
mov dword [ebp - 0x220], edi
push 1
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x220]
push eax
mov dword [ebp - 4], edi
call fcn.10008c89
test eax, eax
jne 0x1000a3f4
lea eax, [ebp - 0x220]
push eax
lea esi, [ebp - 0x234]
mov dword [ebp - 0x234], edi
mov dword [ebp - 0x230], edi
call fcn.10008c53
mov ebx, dword [ebp - 0x234]
lea eax, [ebx + 1]
push eax
call fcn.10059bd9
pop ecx
mov esi, eax
push ebx
push esi
lea eax, [ebp - 0x220]
push eax
mov byte [esi], 0
call fcn.10008c16
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
cmp dword [ebp - 0x220], edi
je 0x1000a24c
push dword [ebp - 0x220]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x220], edi
test bl, bl
je 0x1000a3f4
mov eax, dword [ebp - 0x234]
mov byte [eax + esi], 0
lea eax, [ebp - 0x238]
push esi
push eax
call fcn.10006f91
mov dword [ebp - 0x250], edi
mov dword [ebp - 0x24c], edi
mov dword [ebp - 0x248], edi
mov dword [ebp - 0x244], edi
add esp, 4
mov byte [ebp - 4], 2
mov eax, esp
mov dword [ebp - 0x224], esp
push eax
mov edi, 0x10093464
call fcn.100022a8
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x238]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x228], esp
mov esi, esp
call fcn.1000296d
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x250]
push eax
mov byte [ebp - 4], 2
call fcn.1000782d
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x24c], eax
jbe 0x1000a3d9
mov esi, dword [ebp - 0x250]
lea ecx, [eax + 1]
cmp ecx, dword [ebp - 0x24c]
jae 0x1000a3c5
cmp eax, dword [ebp - 0x24c]
jae 0x1000a424
mov ebx, eax
shl ebx, 2
mov eax, dword [ebx + esi]
push ecx
sub eax, 0x10
mov dword [ebp - 0x230], esp
mov edi, esp
call fcn.1000296d
add eax, 0x10
mov dword [edi], eax
lea eax, [ebp - 0x228]
push eax
call fcn.100074ba
mov byte [ebp - 4], 4
mov eax, dword [ebx + esi + 4]
add esp, 4
sub eax, 0x10
mov dword [ebp - 0x230], esp
mov edi, esp
call fcn.1000296d
add eax, 0x10
mov dword [edi], eax
lea eax, [ebp - 0x23c]
push eax
call fcn.100074ba
push 0x44
mov byte [ebp - 4], 5
call fcn.10059e60
add esp, 0xc
test eax, eax
je 0x1000a37e
push dword [ebp - 0x240]
mov edi, eax
call fcn.100095f8
mov edi, eax
jmp 0x1000a380
xor edi, edi
lea eax, [ebp - 0x23c]
push eax
push edi
lea eax, [ebp - 0x228]
call fcn.1000972d
mov ebx, dword [ebp - 0x240]
push edi
call fcn.10009f1f
mov eax, dword [ebp - 0x23c]
add eax, 0xfffffff0
call fcn.100029ea
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x228]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp - 0x224]
inc eax
inc eax
mov dword [ebp - 0x224], eax
cmp eax, dword [ebp - 0x24c]
jb 0x1000a2ea
lea esi, [ebp - 0x250]
call fcn.100025d5
mov eax, dword [ebp - 0x238]
add eax, 0xfffffff0
call fcn.100029ea
xor edi, edi
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
setne bl
cmp dword [ebp - 0x220], edi
je 0x1000a41a
push dword [ebp - 0x220]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
call fcn.10063faa
ret 8
push 0x80070057
call fcn.10002a17
int3