Function at 0x14007cee8
Capabilities:
Get system firmware table

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
and qword [rbp + 0x30], 0
lea rcx, [rbp + 0x30]
call fcn.1400562b0
mov ebx, eax
test eax, eax
jns 0x14007cf69
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x14007cf46
test byte [rcx + 0x1c], 1
je 0x14007cf46
mov rcx, qword [rcx + 0x10]
lea r8, [0x140140178]
mov edx, 0xc
mov r9d, eax
call fcn.140044380
mov edx, ebx
lea rcx, str.ERROR:_GetSupportDir___failed___lx__n
call fcn.1400f5500
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x14007cf62
call fcn.140030ba0
mov eax, ebx
jmp 0x14007d45b
mov rdi, qword [rbp + 0x30]
lea rsi, str.ACPIInfo.txt
and qword [rbp + 0x38], 0
lea rdx, [0x14012d070]
mov r9, rsi
lea rcx, [rbp + 0x38]
mov r8, rdi
call fcn.1400fb304
mov ebx, eax
test eax, eax
jns 0x14007d003
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x14007cfcf
test byte [rcx + 0x1c], 1
je 0x14007cfcf
mov rcx, qword [rcx + 0x10]
lea r8, [0x140140178]
mov dword [rsp + 0x28], eax
mov edx, 0xd
mov r9, rdi
mov qword [rsp + 0x20], rsi
call fcn.140061b5c
mov r9d, ebx
lea rcx, [0x14012d930]
mov r8, rsi
mov rdx, rdi
call fcn.1400f5500
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x14007cff2
call fcn.140030ba0
test rdi, rdi
je 0x14007cf62
mov rcx, rdi
jmp 0x14007cf5d
mov rbx, qword [rbp + 0x38]
mov rcx, rbx
call fcn.1400f6dd0
mov esi, eax
cmp eax, 0x80070001
jle 0x14007d3f8
lea ecx, [rax + 0x7ff8fffc]
cmp ecx, 0x7ff8fffb
jbe 0x14007d3f8
and dword [rsp + 0x28], 0
lea rcx, [rbp + 0x30]
or qword [rbp + 0x30], 0xffffffffffffffff
xor r9d, r9d
mov r8d, 0x40000000
mov dword [rsp + 0x20], 2
mov rdx, rbx
call fcn.1400fa44c
mov esi, eax
test eax, eax
jns 0x14007d0bb
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x14007d090
test byte [rcx + 0x1c], 1
je 0x14007d090
mov rcx, qword [rcx + 0x10]
lea r8, [0x140140178]
mov edx, 0xf
mov dword [rsp + 0x20], eax
mov r9, rbx
call fcn.140044694
mov r8d, esi
lea rcx, str.ERROR:_UtilCreateFile__ls__failed___lx__n
mov rdx, rbx
call fcn.1400f5500
mov rcx, qword [rbp + 0x30]
cmp rcx, 0xffffffffffffffff
je 0x14007d43f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14007d43f
lea rcx, str.ACPI_Data__r_n_r_n_r_nSDEV_Info__r_n___________r_n_r_n
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov rsi, qword [rbp + 0x30]
lea r8, str.ACPI_Data__r_n_r_n_r_nSDEV_Info__r_n___________r_n_r_n
mov edx, eax
mov rcx, rsi
call fcn.1400fae58
mov r14d, eax
test eax, eax
jns 0x14007d15c
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x14007d119
test byte [rcx + 0x1c], 1
je 0x14007d119
mov rcx, qword [rcx + 0x10]
lea r8, [0x140140178]
mov edx, 0x10
mov dword [rsp + 0x20], eax
mov r9, rbx
call fcn.140044694
lea rcx, str.ERROR:_UtilWriteFile__ls__failed___lx__n
mov r8d, r14d
mov rdx, rbx
call fcn.1400f5500
cmp rsi, 0xffffffffffffffff
je 0x14007d13a
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbx, rbx
je 0x14007d147
mov rcx, rbx
call fcn.140030ba0
test rdi, rdi
je 0x14007d154
mov rcx, rdi
call fcn.140030ba0
mov eax, r14d
jmp 0x14007d45b
xor r9d, r9d
xor r8d, r8d
mov edx, 0x56454453
mov ecx, 0x41435049
call qword [sym.imp.KERNEL32.dll_GetSystemFirmwareTable]
mov r12d, eax
mov r15d, 0x80070008
test eax, eax
jne 0x14007d260
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
test eax, eax
jle 0x14007d19b
movzx r14d, ax
or r14d, 0x80070000
cmp r14d, 0x80070490
jne 0x14007d20e
lea rcx, str.No_SDEV_info_Found._r_n
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, eax
lea r8, str.No_SDEV_info_Found._r_n
mov rcx, rsi
call fcn.1400fae58
mov r14d, eax
test eax, eax
jns 0x14007d12b
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x14007d202
test byte [rcx + 0x1c], 1
je 0x14007d202
mov rcx, qword [rcx + 0x10]
lea r8, [0x140140178]
mov edx, 0x11
mov dword [rsp + 0x20], eax
mov r9, rbx
call fcn.140044694
lea rcx, str.ERROR:_UtilWriteFile__ls__failed_to_write_data___lx__n
jmp 0x14007d120
xor r12d, r12d
cmp r14d, r15d
je 0x14007d260
test r14d, r14d
jns 0x14007d260
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x14007d24c
test byte [rcx + 0x1c], 1
je 0x14007d24c
mov rcx, qword [rcx + 0x10]
lea edx, [r12 + 0x12]
mov r9d, r14d
lea r8, [0x140140178]
call fcn.140044380
mov edx, r14d
lea rcx, str.ERROR:_UtilGetACPISDEVTable_failed__internal_Error___lx__n
call fcn.1400f5500
jmp 0x14007d12b
mov ecx, r12d
lea rdx, [0x140144a0a]
call fcn.140030ba8
mov r14, rax
test rax, rax
jne 0x14007d2e6
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x14007d2a6
test byte [rcx + 0x1c], 1
je 0x14007d2a6
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x13]
mov r9d, r15d
lea r8, [0x140140178]
call fcn.140044380
mov edx, r15d
lea rcx, str.ERROR:_Out_of_memory___lx__n
call fcn.1400f5500
cmp rsi, 0xffffffffffffffff
je 0x14007d2c4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbx, rbx
je 0x14007d2d1
mov rcx, rbx
call fcn.140030ba0
test rdi, rdi
je 0x14007d2de
mov rcx, rdi
call fcn.140030ba0
mov eax, r15d
jmp 0x14007d45b
mov r9d, r12d
mov r8, r14
mov edx, 0x56454453
mov ecx, 0x41435049
call qword [sym.imp.KERNEL32.dll_GetSystemFirmwareTable]
test eax, eax
jne 0x14007d31f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
test eax, eax
jle 0x14007d318
movzx r15d, ax
or r15d, 0x80070000
test r15d, r15d
jns 0x14007d374
jmp 0x14007d324
cmp eax, r12d
jbe 0x14007d371
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x14007d355
test byte [rcx + 0x1c], 1
je 0x14007d355
mov rcx, qword [rcx + 0x10]
lea r8, [0x140140178]
mov edx, 0x14
mov r9d, r15d
call fcn.140044380
lea rcx, str.ERROR:_UtilGetACPISDEVTable_failed___lx__n
mov edx, r15d
call fcn.1400f5500
mov rcx, r14
call fcn.140030ba0
jmp 0x14007d2b5
mov r12d, eax
mov r8, rsi
mov edx, r12d
mov rcx, r14
call fcn.14007ccf8
mov r15d, eax
test eax, eax
jns 0x14007d3c3
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x14007d3ba
test byte [rcx + 0x1c], 1
je 0x14007d3ba
mov rcx, qword [rcx + 0x10]
lea r8, [0x140140178]
mov edx, 0x15
mov r9d, eax
call fcn.140044380
lea rcx, str.ERROR:_HexDumpToFile_failed___lx__n
jmp 0x14007d35c
mov rcx, r14
call fcn.140030ba0
cmp rsi, 0xffffffffffffffff
je 0x14007d3da
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbx, rbx
je 0x14007d3e7
mov rcx, rbx
call fcn.140030ba0
test rdi, rdi
je 0x14007d3f4
mov rcx, rdi
call fcn.140030ba0
xor eax, eax
jmp 0x14007d45b
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x14007d42d
test byte [rcx + 0x1c], 1
je 0x14007d42d
mov rcx, qword [rcx + 0x10]
lea r8, [0x140140178]
mov edx, 0xe
mov dword [rsp + 0x20], esi
mov r9, rbx
call fcn.140044694
mov r8d, esi
lea rcx, str.ERROR:_UtilDeletePathSafe__ls__failed___lx__n
mov rdx, rbx
call fcn.1400f5500
test rbx, rbx
je 0x14007d44c
mov rcx, rbx
call fcn.140030ba0
test rdi, rdi
je 0x14007d459
mov rcx, rdi
call fcn.140030ba0
mov eax, esi
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret