Function at 0x10018ed0
Capabilities:
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x458
mov eax, dword [0x1004c024]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x444], ecx
call fcn.10033950
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 0
je 0x100190a1
mov byte [ebp - 0x218], 0
push 0x103
push 0
lea eax, [ebp - 0x217]
push eax
call sub.ntdll.dll_memset
add esp, 0xc
call fcn.10017b10
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 5
jg 0x10018f4b
push 0x104
lea ecx, [ebp - 0x218]
push ecx
call fcn.10018950
add esp, 8
test eax, eax
jne 0x10018f4b
xor eax, eax
jmp 0x100192fd
mov byte [ebp - 0x110], 0
push 0x103
push 0
lea edx, [ebp - 0x10f]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
push 0x104
lea eax, [ebp - 0x110]
push eax
call fcn.10018900
add esp, 8
lea ecx, [ebp - 0x110]
push ecx
call sub.ntdll.dll_strlen
add esp, 4
movsx edx, byte [ebp + eax - 0x111]
cmp edx, 0x5c
je 0x10018fc8
lea eax, [ebp - 0x110]
push eax
call sub.ntdll.dll_strlen
add esp, 4
movsx ecx, byte [ebp + eax - 0x111]
cmp ecx, 0x2f
je 0x10018fc8
push 0x1003b454
lea edx, [ebp - 0x110]
push edx
call sub.ntdll.dll_strcat
add esp, 8
push 0x1003b458
lea eax, [ebp - 0x110]
push eax
call sub.ntdll.dll_strcat
add esp, 8
lea ecx, [ebp - 0x110]
push ecx
lea edx, [ebp - 0x218]
push edx
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
call eax
test eax, eax
jne 0x1001903c
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x448], eax
push 0x306
push 0x1003b468
call fcn.10017a50
add esp, 8
push eax
push str._s:_BackupCurrentBootFile_Failed.
mov ecx, dword [ebp - 0x448]
push ecx
mov edx, dword [ebp - 0x448]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
call ecx
add esp, 0xc
lea edx, [ebp - 0x218]
push edx
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 4]
mov eax, dword [edx + 8]
call eax
test eax, eax
jne 0x1001909c
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x44c], eax
push 0x30b
push 0x1003b4a0
call fcn.10017a50
add esp, 8
push eax
push str._s:_SetMyISODefault_Failed.
mov ecx, dword [ebp - 0x44c]
push ecx
mov edx, dword [ebp - 0x44c]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
call ecx
add esp, 0xc
xor eax, eax
jmp 0x100192fd
jmp 0x100192f8
mov byte [ebp - 0x430], 0
push 0x103
push 0
lea edx, [ebp - 0x42f]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
call fcn.10017b10
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 5
jg 0x1001912b
push 0x104
lea eax, [ebp - 0x430]
push eax
call fcn.10018950
add esp, 8
test eax, eax
jne 0x1001912b
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x450], eax
push 0x315
push 0x1003b4d0
call fcn.10017a50
add esp, 8
push eax
push 0x1003b4e4
mov ecx, dword [ebp - 0x450]
push ecx
mov edx, dword [ebp - 0x450]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
call ecx
add esp, 0xc
xor eax, eax
jmp 0x100192fd
mov byte [ebp - 0x328], 0
push 0x103
push 0
lea edx, [ebp - 0x327]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
push 0x104
lea eax, [ebp - 0x328]
push eax
call fcn.10018900
add esp, 8
lea ecx, [ebp - 0x328]
push ecx
call sub.ntdll.dll_strlen
add esp, 4
movsx edx, byte [ebp + eax - 0x329]
cmp edx, 0x5c
je 0x100191a8
lea eax, [ebp - 0x328]
push eax
call sub.ntdll.dll_strlen
add esp, 4
movsx ecx, byte [ebp + eax - 0x329]
cmp ecx, 0x2f
je 0x100191a8
push 0x1003b50c
lea edx, [ebp - 0x328]
push edx
call sub.ntdll.dll_strcat
add esp, 8
push str.AomeiBootBackup
lea eax, [ebp - 0x328]
push eax
call sub.ntdll.dll_strcat
add esp, 8
call fcn.10017b10
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x438], 0
cmp dword [ebp - 0x43c], 5
jg 0x10019277
lea ecx, [ebp - 0x430]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x438], eax
cmp dword [ebp - 0x438], 0
jne 0x10019201
xor eax, eax
jmp 0x100192fd
mov edx, dword [ebp - 0x438]
mov dword [ebp - 0x440], edx
mov dword [ebp - 0x440], 0x80
mov eax, dword [ebp - 0x440]
push eax
lea ecx, [ebp - 0x430]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x10019277
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x454], eax
lea edx, [ebp - 0x430]
push edx
push 0x32e
push 0x1003b520
call fcn.10017a50
add esp, 8
push eax
push str._s:_SetFileAttributes__s
mov eax, dword [ebp - 0x454]
push eax
mov ecx, dword [ebp - 0x454]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
add esp, 0x10
xor eax, eax
jmp 0x100192fd
lea ecx, [ebp - 0x328]
push ecx
lea edx, [ebp - 0x430]
push edx
mov eax, dword [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 4]
mov eax, dword [edx + 4]
call eax
test eax, eax
jne 0x100192db
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x458], eax
push 0x335
push 0x1003b550
call fcn.10017a50
add esp, 8
push eax
push str._s:_SetLocalSystemDefault_Failed.
mov ecx, dword [ebp - 0x458]
push ecx
mov edx, dword [ebp - 0x458]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
call ecx
add esp, 0xc
xor eax, eax
jmp 0x100192fd
cmp dword [ebp - 0x43c], 5
jg 0x100192f8
mov edx, dword [ebp - 0x438]
push edx
lea eax, [ebp - 0x430]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov eax, 1
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1000f6c2
mov esp, ebp
pop ebp
ret 4