Function at 0x40ae10
Capabilities:
Delete file
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4151fb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50c
mov dword [ebp - 0x4f8], ecx
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x4f8]
call fcn.0040ab00
mov dword [ebp - 4], 0
push 0
push 0
lea ecx, [ebp - 0x2c]
call fcn.00401af0
mov byte [ebp - 4], 1
mov byte [ebp - 0xd], 0
cmp dword [ebp - 0x3c], 0x10
jb 0x40ae6f
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x4fc], ecx
jmp 0x40ae78
lea edx, [ebp - 0x50]
mov dword [ebp - 0x4fc], edx
mov eax, dword [ebp - 0x4fc]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x3c], 0x10
jb 0x40aea2
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x500], edx
jmp 0x40aeab
lea eax, [ebp - 0x50]
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x500]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
cmp dword [ebp - 0x3c], 0x10
jb 0x40aecd
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x504], eax
jmp 0x40aed6
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x504], ecx
push 0x416850
mov edx, dword [ebp - 0x504]
push edx
call fcn.0040d9c4
add esp, 8
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x40af28
mov byte [ebp - 0x46d], 1
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00401af0
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x54]
call fcn.00401af0
mov al, byte [ebp - 0x46d]
jmp 0x40b22a
lea ecx, [ebp - 0x468]
call fcn.0040b2b0
mov byte [ebp - 4], 2
mov dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x38]
push eax
push 0x400
lea ecx, [ebp - 0x45c]
push ecx
call fcn.0040d8e2
add esp, 0xc
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x40b01b
lea edx, [ebp - 0x45c]
push edx
call fcn.0040cc20
add esp, 4
push eax
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00401fd0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x474], esp
mov dword [ebp - 0x4a0], ecx
push 0
push 0
mov ecx, dword [ebp - 0x4a0]
call fcn.00401af0
mov edx, dword [0x4164a0]
push edx
push 0
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x4a0]
call fcn.00401ee0
mov ecx, dword [ebp - 0x4a0]
mov dword [ebp - 0x508], ecx
mov ecx, dword [ebp - 0x4f8]
call fcn.0040a980
mov byte [ebp - 0x509], al
movzx edx, byte [ebp - 0x509]
test edx, edx
jne 0x40b012
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x4a8]
mov dword [ebp - 0x4a4], ecx
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x4a4]
push eax
lea ecx, [ebp - 0x468]
call fcn.0040b430
jmp 0x40b016
mov byte [ebp - 0xd], 1
jmp 0x40af3e
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.0040d891
add esp, 4
mov dword [ebp - 0x38], 0
movzx edx, byte [ebp - 0xd]
test edx, edx
je 0x40b1e3
cmp dword [ebp - 0x3c], 0x10
jb 0x40b04b
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x510], eax
jmp 0x40b054
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x510], ecx
mov edx, dword [ebp - 0x510]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp - 0x3c], 0x10
jb 0x40b072
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x514], eax
jmp 0x40b07b
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x514], ecx
push 0x41684c
mov edx, dword [ebp - 0x514]
push edx
call fcn.0040d9c4
add esp, 8
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x40b0dc
mov byte [ebp - 0x475], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x468]
call fcn.0040b2e0
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00401af0
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x54]
call fcn.00401af0
mov al, byte [ebp - 0x475]
jmp 0x40b22a
mov dword [ebp - 0x46c], 0
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ecx]
mov dword [ebp - 0x4b0], edx
mov eax, dword [ebp - 0x4b0]
mov dword [ebp - 0x47c], eax
mov ecx, dword [ebp - 0x47c]
mov dword [ebp - 0x46c], ecx
jmp 0x40b140
mov edx, dword [ebp - 0x46c]
mov dword [ebp - 0x4b4], edx
mov eax, dword [ebp - 0x46c]
mov ecx, dword [eax]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x4b4]
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x4b8], eax
mov ecx, dword [ebp - 0x4b8]
mov dword [ebp - 0x484], ecx
mov edx, dword [ebp - 0x46c]
sub edx, dword [ebp - 0x484]
neg edx
sbb edx, edx
inc edx
movzx eax, dl
neg eax
sbb eax, eax
inc eax
movzx ecx, al
test ecx, ecx
je 0x40b1d0
mov edx, dword [ebp - 0x46c]
add edx, 8
mov dword [ebp - 0x4bc], edx
mov eax, dword [0x4164a0]
push eax
push 0
mov ecx, dword [ebp - 0x4bc]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00401ee0
cmp dword [ebp - 0x14], 0x10
jb 0x40b1af
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x518], edx
jmp 0x40b1b8
lea eax, [ebp - 0x28]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x518]
push edx
call fcn.0040d7d4
add esp, 8
jmp 0x40b11a
mov eax, dword [ebp - 0x38]
push eax
call fcn.0040d891
add esp, 4
mov dword [ebp - 0x38], 0
movzx ecx, byte [ebp - 0xd]
neg ecx
sbb ecx, ecx
inc ecx
mov byte [ebp - 0x485], cl
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x468]
call fcn.0040b2e0
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00401af0
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x54]
call fcn.00401af0
mov al, byte [ebp - 0x485]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret