Function at 0x14016c950
Capabilities:
Manipulate boot configuration
Read .ini file

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x9d0
mov qword [rsp + 0x8f8], 0xfffffffffffffffe
mov rax, qword [0x1402a25c0]
xor rax, rsp
mov qword [rsp + 0x9c0], rax
mov rcx, qword [rsp + 0x9e0]
call fcn.1400f4c50
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x850], 0
xor eax, eax
mov word [rsp + 0x50], ax
lea rdi, [rsp + 0x52]
xor eax, eax
mov ecx, 0x7fe
rep stosb byte [rdi], al
lea rcx, [rsp + 0x858]
call fcn.140001000
mov qword [rsp + 0x900], rax
mov rax, qword [rsp + 0x900]
mov qword [rsp + 0x908], rax
lea r8, [0x14023b3d8]
mov rdx, qword [rsp + 0x908]
lea rcx, [rsp + 0x860]
call fcn.1400010b0
mov qword [rsp + 0x910], rax
mov rcx, qword [rsp + 0x910]
call fcn.1400012c0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x400
lea r9, [rsp + 0x50]
lea r8, [0x14023b3f0]
lea rdx, [0x14023b400]
lea rcx, [0x14023b418]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x860]
call fcn.140001470
nop
lea rcx, [rsp + 0x858]
call fcn.140001470
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x210
lea rdx, [rsp + 0x50]
call fcn.140002060
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x210
lea r9, [rsp + 0x850]
lea r8, [0x14023b0dc]
lea rdx, [rsp + 0x868]
call fcn.140006540
mov qword [rsp + 0x918], rax
mov rcx, qword [rsp + 0x918]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov dword [rsp + 0x38], eax
lea rcx, [rsp + 0x868]
call fcn.140001470
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x210
lea r9, [rsp + 0x850]
lea r8, [0x14023b134]
lea rdx, [rsp + 0x870]
call fcn.140006540
mov qword [rsp + 0x920], rax
mov rcx, qword [rsp + 0x920]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov dword [rsp + 0x34], eax
lea rcx, [rsp + 0x870]
call fcn.140001470
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x210
lea r9, [rsp + 0x850]
lea r8, [0x14023b2d4]
lea rdx, [rsp + 0x878]
call fcn.140006540
mov qword [rsp + 0x928], rax
mov rcx, qword [rsp + 0x928]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x878]
call fcn.140001470
movzx ecx, byte [rsp + 0x38]
movzx eax, byte [rsp + 0x34]
shl eax, 8
or ecx, eax
movzx eax, byte [rsp + 0x30]
shl eax, 0x10
or ecx, eax
mov rax, qword [rsp + 0x9e0]
mov dword [rax + 0x230], ecx
mov dword [rsp + 0x850], 0
lea rcx, [rsp + 0x880]
call fcn.140001000
mov qword [rsp + 0x930], rax
mov rax, qword [rsp + 0x930]
mov qword [rsp + 0x938], rax
lea r8, [0x14023b438]
mov rdx, qword [rsp + 0x938]
lea rcx, [rsp + 0x888]
call fcn.1400010b0
mov qword [rsp + 0x940], rax
mov rcx, qword [rsp + 0x940]
call fcn.1400012c0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x400
lea r9, [rsp + 0x50]
lea r8, [0x14023b450]
lea rdx, [0x14023b468]
lea rcx, [0x14023b480]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x888]
call fcn.140001470
nop
lea rcx, [rsp + 0x880]
call fcn.140001470
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x218
lea rdx, [rsp + 0x50]
call fcn.140002060
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x218
lea r9, [rsp + 0x850]
lea r8, [0x14023b30c]
lea rdx, [rsp + 0x890]
call fcn.140006540
mov qword [rsp + 0x948], rax
mov rcx, qword [rsp + 0x948]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov dword [rsp + 0x38], eax
lea rcx, [rsp + 0x890]
call fcn.140001470
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x218
lea r9, [rsp + 0x850]
lea r8, [0x14023b364]
lea rdx, [rsp + 0x898]
call fcn.140006540
mov qword [rsp + 0x950], rax
mov rcx, qword [rsp + 0x950]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov dword [rsp + 0x34], eax
lea rcx, [rsp + 0x898]
call fcn.140001470
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x218
lea r9, [rsp + 0x850]
lea r8, [0x14023b464]
lea rdx, [rsp + 0x8a0]
call fcn.140006540
mov qword [rsp + 0x958], rax
mov rcx, qword [rsp + 0x958]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x8a0]
call fcn.140001470
movzx ecx, byte [rsp + 0x38]
movzx eax, byte [rsp + 0x34]
shl eax, 8
or ecx, eax
movzx eax, byte [rsp + 0x30]
shl eax, 0x10
or ecx, eax
mov rax, qword [rsp + 0x9e0]
mov dword [rax + 0x234], ecx
mov dword [rsp + 0x850], 0
lea rcx, [rsp + 0x8a8]
call fcn.140001000
mov qword [rsp + 0x960], rax
mov rax, qword [rsp + 0x960]
mov qword [rsp + 0x968], rax
lea r8, [0x14023b4a0]
mov rdx, qword [rsp + 0x968]
lea rcx, [rsp + 0x8b0]
call fcn.1400010b0
mov qword [rsp + 0x970], rax
mov rcx, qword [rsp + 0x970]
call fcn.1400012c0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x400
lea r9, [rsp + 0x50]
lea r8, [0x14023b4b8]
lea rdx, [0x14023b4c8]
lea rcx, [0x14023b4e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x8b0]
call fcn.140001470
nop
lea rcx, [rsp + 0x8a8]
call fcn.140001470
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x220
lea rdx, [rsp + 0x50]
call fcn.140002060
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x220
lea r9, [rsp + 0x850]
lea r8, [0x14023b4dc]
lea rdx, [rsp + 0x8b8]
call fcn.140006540
mov qword [rsp + 0x978], rax
mov rcx, qword [rsp + 0x978]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov dword [rsp + 0x38], eax
lea rcx, [rsp + 0x8b8]
call fcn.140001470
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x220
lea r9, [rsp + 0x850]
lea r8, [0x14023b4fc]
lea rdx, [rsp + 0x8c0]
call fcn.140006540
mov qword [rsp + 0x980], rax
mov rcx, qword [rsp + 0x980]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov dword [rsp + 0x34], eax
lea rcx, [rsp + 0x8c0]
call fcn.140001470
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x220
lea r9, [rsp + 0x850]
lea r8, [0x14023b500]
lea rdx, [rsp + 0x8c8]
call fcn.140006540
mov qword [rsp + 0x988], rax
mov rcx, qword [rsp + 0x988]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x8c8]
call fcn.140001470
movzx ecx, byte [rsp + 0x38]
movzx eax, byte [rsp + 0x34]
shl eax, 8
or ecx, eax
movzx eax, byte [rsp + 0x30]
shl eax, 0x10
or ecx, eax
mov rax, qword [rsp + 0x9e0]
mov dword [rax + 0x238], ecx
mov dword [rsp + 0x850], 0
lea rcx, [rsp + 0x8d0]
call fcn.140001000
mov qword [rsp + 0x990], rax
mov rax, qword [rsp + 0x990]
mov qword [rsp + 0x998], rax
lea r8, [0x14023b508]
mov rdx, qword [rsp + 0x998]
lea rcx, [rsp + 0x8d8]
call fcn.1400010b0
mov qword [rsp + 0x9a0], rax
mov rcx, qword [rsp + 0x9a0]
call fcn.1400012c0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x400
lea r9, [rsp + 0x50]
lea r8, [0x14023b520]
lea rdx, [0x14023b538]
lea rcx, [0x14023b550]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x8d8]
call fcn.140001470
nop
lea rcx, [rsp + 0x8d0]
call fcn.140001470
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x228
lea rdx, [rsp + 0x50]
call fcn.140002060
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x228
lea r9, [rsp + 0x850]
lea r8, [0x14023b504]
lea rdx, [rsp + 0x8e0]
call fcn.140006540
mov qword [rsp + 0x9a8], rax
mov rcx, qword [rsp + 0x9a8]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov dword [rsp + 0x38], eax
lea rcx, [rsp + 0x8e0]
call fcn.140001470
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x228
lea r9, [rsp + 0x850]
lea r8, [0x14023b534]
lea rdx, [rsp + 0x8e8]
call fcn.140006540
mov qword [rsp + 0x9b0], rax
mov rcx, qword [rsp + 0x9b0]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov dword [rsp + 0x34], eax
lea rcx, [rsp + 0x8e8]
call fcn.140001470
mov rcx, qword [rsp + 0x9e0]
add rcx, 0x228
lea r9, [rsp + 0x850]
lea r8, [0x14023b54c]
lea rdx, [rsp + 0x8f0]
call fcn.140006540
mov qword [rsp + 0x9b8], rax
mov rcx, qword [rsp + 0x9b8]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x8f0]
call fcn.140001470
movzx ecx, byte [rsp + 0x38]
movzx eax, byte [rsp + 0x34]
shl eax, 8
or ecx, eax
movzx eax, byte [rsp + 0x30]
shl eax, 0x10
or ecx, eax
mov rax, qword [rsp + 0x9e0]
mov dword [rax + 0x23c], ecx
xor edx, edx
mov rcx, qword [rsp + 0x9e0]
call fcn.14007bfdc
mov eax, 1
mov rcx, qword [rsp + 0x9c0]
xor rcx, rsp
call fcn.1400a8040
add rsp, 0x9d0
pop rdi
ret