Function at 0x180005f10
Capabilities:
Manipulate console buffer
Read .ini file
Set uefi variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov r14, rcx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_IsChild]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetThreadDescription]
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadMenuIndirectW]
mov r9d, dword [rsp + 0x68]
xor ebx, ebx
mov r8d, dword [rsp + 0x68]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteConsoleOutputW]
mov r9d, dword [rsp + 0x68]
xor edx, edx
mov r8d, dword [rsp + 0x68]
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteConsoleOutputW]
call qword [sym.imp.KERNEL32.dll_DebugBreak]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindNextVolumeW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_QueryIdleProcessorCycleTime]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_DdeSetUserHandle]
lea rax, str.PT4ahJT79DYtTZBTKJ
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rbx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDurationFormat]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WaitCommEvent]
call qword [sym.imp.USER32.dll_GetCaretBlinkTime]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetRegisteredRawInputDevices]
xor r9d, r9d
mov qword [rsp + 0x28], rbx
xor r8d, r8d
mov qword [rsp + 0x20], rbx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_SendMessageCallbackW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_QueryUnbiasedInterruptTime]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ShowScrollBar]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor r9d, r9d
mov qword [rsp + 0x28], rbx
xor r8d, r8d
mov dword [rsp + 0x20], ebx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetSystemPreferredUILanguages]
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_SetParent]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetNamedPipeServerProcessId]
mov dword [rsp + 0x38], ebx
xor r9d, r9d
mov dword [rsp + 0x30], ebx
xor r8d, r8d
mov dword [rsp + 0x28], ebx
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_DeferWindowPos]
xor r9d, r9d
mov dword [rsp + 0x28], ebx
xor r8d, r8d
mov qword [rsp + 0x20], rbx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetTimeFormatW]
xor ecx, ecx
call qword [sym.imp.USER32.dll_RemoveClipboardFormatListener]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateTapePartition]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetRawInputBuffer]
xor ecx, ecx
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetTimeZoneInformationForYear]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
call qword [sym.imp.KERNEL32.dll_GetMaximumProcessorGroupCount]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDlgItemTextW]
mov ecx, 0x1e4
nop word [rax + rax]
inc ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea edx, [rdx + rdx*2]
cmp ecx, edx
jne 0x180006120
mov eax, 0xffffe484
lea edx, [rcx*2 + 0x3afe]
sub eax, ecx
lea ebx, [rcx + 0x1459]
sub edx, eax
add edx, ebx
mov eax, edx
and eax, 0x80000003
jge 0x18000615f
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
lea ebp, [rcx - 0x1309]
mov r8d, 0xffffda70
mov r9d, 0x2590
cmove r9d, r8d
mov edi, 0x11ce
add r9d, edx
mov r8d, 0x96b1
sub r8d, ebx
mov r10d, 0xffff9dd4
mov r11d, 0x1dfc
mov eax, r8d
sub edi, r9d
sub r10d, r9d
sub r11d, ecx
mov edx, r8d
and eax, 0x80000003
jge 0x1800061b1
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x1800061c1
test r8d, r8d
jle 0x1800061c1
lea edx, [r8 - 0xcf2]
sub r11d, ebp
lea eax, [rbx - 0x11a63]
sub r10d, eax
lea r8d, [rdi - 0x49d]
add r9d, 0xfcc
sub edx, 0x26a8
add ebx, 0x29e
lea esi, [r9 + r10]
add esi, 0x26fe
lea r10d, [rax - 0xf66]
add esi, r11d
add r11d, 0xffffe6dd
add r11d, edx
add r9d, esi
sub edx, r8d
mov ecx, r11d
sub r8d, 0x21ee
and ecx, 0x80000003
jge 0x180006224
dec ecx
or ecx, 0xfffffffc
inc ecx
test ecx, ecx
mov eax, 0x985
mov edi, 0xffffd767
cmove eax, edi
add eax, r11d
cmp eax, 0x6a73
jne 0x18000628c
mov eax, r10d
sub eax, ebx
cmp eax, 0xfffed399
jne 0x18000628c
cmp ebx, 0x18dd
jne 0x18000628c
sub r9d, r8d
cmp r9d, 0x25a7a
jne 0x18000628c
cmp ebp, 0xffffeedd
jne 0x18000628c
cmp r10d, 0xfffeec76
jne 0x18000628c
cmp edx, 0xd7a2
jne 0x18000628c
cmp esi, 0x105fb
jne 0x18000628c
cmp r8d, 0xffff5348
jne 0x18000628c
mov eax, dword [r14]
jmp 0x180006291
mov eax, 1
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret