Function at 0x10014870
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe4
push ebx
push esi
push edi
mov dword [ebp - 4], 0
mov al, byte [0x100273cc]
mov byte [ebp - 0x14], al
xor ecx, ecx
mov dword [ebp - 0x13], ecx
mov dword [ebp - 0xf], ecx
mov dword [ebp - 0xb], ecx
mov word [ebp - 7], cx
mov byte [ebp - 5], cl
mov dl, byte [0x100273cc]
mov byte [ebp - 0x54], dl
mov ecx, 0xf
xor eax, eax
lea edi, [ebp - 0x53]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x100273cc]
mov byte [ebp - 0x94], al
mov ecx, 0xf
xor eax, eax
lea edi, [ebp - 0x93]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
cmp dword [ebp + 0x14], 0
jne 0x1001490b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetCreationSpeed._1.__08X.
push 0x100273cc
push 1
call fcn.1000eed0
add esp, 0x10
mov dword [ebp - 4], 0x57
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x10014aff
lea edx, [ebp - 0x9c]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
push 0
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.1001ea18
add esp, 4
push 0
lea edx, [ebp - 0x14]
push edx
push 8
push 1
push 0x19
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x54]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call sym.pdapi.dll_CreateDiskEx
test eax, eax
jne 0x100149a9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], eax
push 0
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edx, dword [ebp + 0xc]
push edx
call fcn.1001ea18
add esp, 4
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetCreationSpeed._2.__08X.__s.
push 0x100273cc
push 1
call fcn.1000eed0
add esp, 0x14
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x10014aff
push 0
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov eax, dword [ebp + 0xc]
push eax
call fcn.1001ea18
add esp, 4
lea ecx, [ebp - 0xa4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov edx, dword [ebp - 0xa4]
sub edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa0]
sbb eax, dword [ebp - 0x98]
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa0], eax
push 0
push 0x400
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp - 0xa4]
push edx
call fcn.1001f180
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp + 0x10]
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 0xa0]
push edx
mov eax, dword [ebp - 0xa4]
push eax
call fcn.1001f180
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], edx
push 0
push 0x64
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp - 0xa4]
push edx
call fcn.10020230
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], edx
push 0
push 2
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.10020230
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], edx
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov ecx, dword [ebp + 0x14]
xor edx, edx
mov dx, word [ecx]
test edx, edx
je 0x10014ab2
mov eax, dword [ebp + 0x14]
mov cx, word [eax]
sub cx, 0x641
mov edx, dword [ebp + 0x14]
mov word [edx], cx
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov cx, word [eax + 6]
test ecx, ecx
je 0x10014ad1
mov edx, dword [ebp + 0x14]
mov ax, word [edx + 6]
sub ax, 1
mov ecx, dword [ebp + 0x14]
mov word [ecx + 6], ax
mov edx, dword [ebp + 0x14]
xor eax, eax
mov ax, word [edx + 2]
test eax, eax
je 0x10014af0
mov ecx, dword [ebp + 0x14]
mov dx, word [ecx + 2]
sub dx, 1
mov eax, dword [ebp + 0x14]
mov word [eax + 2], dx
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10