Function at 0x1800022f0
Capabilities:
Get common file path
Read pipe
Set uefi variable
Write pipe

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
xor edi, edi
mov dword [rbp + 0x67], edi
mov rax, qword [sym.imp.KERNEL32.dll_GlobalAlloc]
add rax, 0x143
mov qword [rbp - 0x29], rax
mov dword [rbp - 0x21], 0x143
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
mov qword [rbp - 1], rdi
mov qword [rbp + 7], rdi
mov qword [rbp + 0xf], rdi
mov qword [rbp + 0x17], rdi
mov qword [rbp + 0x1f], rdi
mov ecx, 0x10
call fcn.1800722f8
mov qword [rax + 8], rdi
mov qword [rbp - 1], rax
lea rcx, [rbp - 1]
mov qword [rax], rcx
mov word [rbp + 0x2f], di
mov qword [rbp + 0x35], rdi
mov qword [rbp + 0x3d], rdi
xor eax, eax
mov word [rbp + 0x32], ax
mov byte [rbp + 0x34], al
mov word [rbp + 0x35], ax
mov byte [rbp + 0x37], al
mov word [rbp + 0x38], ax
mov byte [rbp + 0x3a], al
mov word [rbp + 0x3b], ax
mov byte [rbp + 0x3d], al
mov word [rbp + 0x3e], ax
mov byte [rbp + 0x40], al
mov word [rbp + 0x41], ax
mov byte [rbp + 0x43], al
mov dword [rbp - 5], edi
mov dword [rbp + 0x2b], edi
movaps xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp - 0x29], xmm0
lea r9, [rbp + 0x6f]
lea r8, [rbp + 0x67]
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x19]
call fcn.180016070
mov rbx, qword [rbp - 0x11]
lea rcx, [rbp - 1]
call fcn.180016870
mov rcx, qword [rbp - 1]
mov qword [rbp - 1], rdi
mov edx, 0x10
call fcn.18007220c
mov qword [rbp + 0x77], rbx
cmp dword [0x1800fe978], 0xf56dfb6a
jne 0x18000258b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_RemoveVectoredExceptionHandler]
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_DrawStateW]
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ModifyMenuW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ImpersonateDdeClientWindow]
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableExW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetWindowLongW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadMenuW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_SetClassLongW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetConsoleCursorInfo]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetConsoleHistoryInfo]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetWaitableTimer]
xor ecx, ecx
call qword [sym.imp.USER32.dll_EndDeferWindowPos]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateSymbolicLinkTransactedW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateCaret]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_DrawCaption]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WaitForThreadpoolWaitCallbacks]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetNumberFormatW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetTapeStatus]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_BeginPaint]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_DefWindowProcW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnumSystemCodePagesW]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_DrawTextExW]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_TransactNamedPipe]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetConsoleAliasW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalFlags]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_LogicalToPhysicalPoint]
mov rax, qword [sym.imp.KERNEL32.dll_GlobalLock]
add rax, 0x179
mov qword [rbp - 0x29], rax
mov dword [rbp - 0x21], 0x179
movaps xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp - 0x29], xmm0
lea rdx, [rbp + 0x77]
lea rcx, [rbp - 0x29]
call fcn.18000f010
add rsp, 0xc0
pop rdi
pop rbx
pop rbp
ret