Function at 0x14001fa2c
Capabilities:
Set file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
or qword [rbp + 0x7f], 0xffffffffffffffff
xor r14d, r14d
or qword [rbp - 0x39], 0xffffffffffffffff
xorps xmm0, xmm0
mov qword [rbp - 0x31], r14
mov rsi, rdx
mov qword [rbp + 0x77], r14
mov rdi, rcx
mov byte [rbp + 0x6f], 1
movups xmmword [rbp - 0x11], xmm0
test rdx, rdx
jne 0x14001fa87
call fcn.14001f6f8
mov ebx, eax
test eax, eax
jns 0x14001fcba
mov r9d, eax
mov r8d, 0x194
jmp 0x14001fca2
mov rax, qword [rcx + 0x38]
mov rcx, r14
test rax, rax
je 0x14001faa2
mov rcx, qword [rax + 0x48]
test rcx, rcx
cmove rcx, rax
add rcx, 0x10
lea rdx, [rbp + 0x77]
call fcn.140056e1c
mov ebx, eax
test eax, eax
jns 0x14001fabf
mov r9d, eax
mov r8d, 0x19f
jmp 0x14001fca2
mov rcx, qword [rdi + 0x10]
lea rdx, [rbp - 0x31]
call fcn.140051c84
mov ebx, eax
test eax, eax
js 0x14001faff
mov rax, qword [rbp + 0x77]
cmp qword [rbp - 0x31], rax
jne 0x14001fb14
mov rdx, rsi
mov rcx, rdi
call fcn.14001f6f8
mov ebx, eax
test eax, eax
jns 0x14001fcba
mov r9d, eax
mov r8d, 0x1a6
jmp 0x14001fca2
cmp eax, 0x80070002
je 0x14001fb14
mov r9d, eax
mov r8d, 0x1ab
jmp 0x14001fca2
mov rdx, qword [rdi + 0x50]
lea rax, [rbp + 0x7f]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8d, 0x80000000
lea rcx, [rbp + 0x77]
call fcn.1400518f4
test eax, eax
jns 0x14001fb3f
mov ebx, r14d
jmp 0x14001fcba
mov rbx, qword [rbp + 0x7f]
xorps xmm0, xmm0
mov dword [rbp + 3], r14d
mov edi, r14d
mov dword [rbp + 0x1b], r14d
movups xmmword [rbp - 0x31], xmm0
test rbx, rbx
je 0x14001fc71
lea rdx, str.:_WIMMOUNTDATA
lea rcx, [rbp - 0x31]
call qword [sym.imp.ntdll.dll_RtlInitUnicodeString]
nop dword [rax + rax]
mov dword [rsp + 0x50], r14d
lea rax, [rbp - 0x31]
mov qword [rsp + 0x48], r14
lea r9, [rbp - 0x21]
mov dword [rsp + 0x40], r14d
lea r8, [rbp - 1]
xorps xmm0, xmm0
mov qword [rbp + 0xf], rax
mov eax, 3
mov qword [rbp - 1], 0x30
mov dword [rsp + 0x38], eax
lea rcx, [rbp - 0x39]
mov dword [rsp + 0x30], eax
mov edx, 0xc0110000
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x20], r14
mov qword [rbp + 0x17], r14
movups xmmword [rbp - 0x21], xmm0
mov qword [rbp + 7], rbx
movdqu xmmword [rbp + 0x1f], xmm0
call qword [sym.imp.ntdll.dll_NtCreateFile]
nop dword [rax + rax]
mov esi, 0x10000000
test eax, eax
jns 0x14001fbf0
mov r8d, 0x4b5
jmp 0x14001fbfd
mov eax, dword [rbp - 0x21]
test eax, eax
jns 0x14001fc1c
mov r8d, 0x4b6
mov edi, eax
mov qword [rsp + 0x20], r14
or edi, esi
lea rdx, str.onecore_base_ntsetupopktoolsosimagelibutility_fileio.c
mov r9d, edi
lea rcx, str.FIOFileOpenRelative
call fcn.140046874
mov ebx, edi
test edi, edi
js 0x14001fc99
mov rcx, qword [rbp - 0x39]
lea r8, [rbp + 0x6f]
mov r9d, 1
mov dword [rsp + 0x20], FDICreate
lea rdx, [rbp - 0x11]
call qword [sym.imp.ntdll.dll_NtSetInformationFile]
nop dword [rax + rax]
test eax, eax
jns 0x14001fc5b
mov ebx, eax
mov r8d, 0x1d3
or ebx, esi
mov r9d, ebx
jmp 0x14001fca2
mov eax, dword [rbp - 0x11]
test eax, eax
jns 0x14001fcba
mov ebx, eax
mov r8d, 0x1d4
or ebx, esi
mov r9d, ebx
jmp 0x14001fca2
mov ebx, 0x80070057
mov qword [rsp + 0x20], r14
mov r9d, ebx
lea rdx, str.onecore_base_ntsetupopktoolsosimagelibutility_fileio.c
mov r8d, 0x497
lea rcx, str.FIOFileOpenRelative
mov edi, ebx
call fcn.140046874
mov r9d, edi
mov r8d, 0x1cc
lea rdx, str.onecore_base_ntsetupopktoolsosimagewimgapilibmount.c
mov qword [rsp + 0x20], r14
lea rcx, str.RestoreMountDirectory
call fcn.140046874
mov rcx, qword [rbp + 0x7f]
cmp rcx, 0xffffffffffffffff
je 0x14001fcd0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x39]
cmp rcx, 0xffffffffffffffff
je 0x14001fce6
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov eax, ebx
add rsp, 0xd0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret