Function at 0x140077200
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.140055b88
mov ebx, eax
test eax, eax
jns 0x140077281
mov rcx, qword [0x140162280]
lea rdx, [0x140162280]
cmp rcx, rdx
je 0x14007725e
test byte [rcx + 0x1c], 1
je 0x14007725e
mov rcx, qword [rcx + 0x10]
lea r8, [0x140135248]
mov edx, 0xc
mov r9d, eax
call fcn.140044450
mov edx, ebx
lea rcx, str.ERROR:_GetSupportDir___failed___lx__n
call fcn.1400ec5f0
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x14007727a
call fcn.140030c60
mov eax, ebx
jmp 0x140077773
mov rdi, qword [rbp + 0x30]
lea rsi, str.ACPIInfo.txt
and qword [rbp + 0x38], 0
lea rdx, [0x140123d80]
mov r9, rsi
lea rcx, [rbp + 0x38]
mov r8, rdi
call fcn.1400f23a4
mov ebx, eax
test eax, eax
jns 0x14007731b
mov rcx, qword [0x140162280]
lea rdx, [0x140162280]
cmp rcx, rdx
je 0x1400772e7
test byte [rcx + 0x1c], 1
je 0x1400772e7
mov rcx, qword [rcx + 0x10]
lea r8, [0x140135248]
mov dword [rsp + 0x28], eax
mov edx, 0xd
mov r9, rdi
mov qword [rsp + 0x20], rsi
call fcn.14006041c
mov r9d, ebx
lea rcx, [0x1401245d0]
mov r8, rsi
mov rdx, rdi
call fcn.1400ec5f0
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x14007730a
call fcn.140030c60
test rdi, rdi
je 0x14007727a
mov rcx, rdi
jmp 0x140077275
mov rbx, qword [rbp + 0x38]
mov rcx, rbx
call fcn.1400edec0
mov esi, eax
cmp eax, 0x80070001
jle 0x140077710
lea ecx, [rax + 0x7ff8fffc]
cmp ecx, 0x7ff8fffb
jbe 0x140077710
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.1400f1520
mov esi, eax
test eax, eax
jns 0x1400773d3
mov rcx, qword [0x140162280]
lea rdx, [0x140162280]
cmp rcx, rdx
je 0x1400773a8
test byte [rcx + 0x1c], 1
je 0x1400773a8
mov rcx, qword [rcx + 0x10]
lea r8, [0x140135248]
mov edx, 0xf
mov dword [rsp + 0x20], eax
mov r9, rbx
call fcn.140044764
mov r8d, esi
lea rcx, str.ERROR:_UtilCreateFile__ls__failed___lx__n
mov rdx, rbx
call fcn.1400ec5f0
mov rcx, qword [rbp + 0x30]
cmp rcx, 0xffffffffffffffff
je 0x140077757
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140077757
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.1400f1ef4
mov r14d, eax
test eax, eax
jns 0x140077474
mov rcx, qword [0x140162280]
lea rdx, [0x140162280]
cmp rcx, rdx
je 0x140077431
test byte [rcx + 0x1c], 1
je 0x140077431
mov rcx, qword [rcx + 0x10]
lea r8, [0x140135248]
mov edx, 0x10
mov dword [rsp + 0x20], eax
mov r9, rbx
call fcn.140044764
lea rcx, str.ERROR:_UtilWriteFile__ls__failed___lx__n
mov r8d, r14d
mov rdx, rbx
call fcn.1400ec5f0
cmp rsi, 0xffffffffffffffff
je 0x140077452
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbx, rbx
je 0x14007745f
mov rcx, rbx
call fcn.140030c60
test rdi, rdi
je 0x14007746c
mov rcx, rdi
call fcn.140030c60
mov eax, r14d
jmp 0x140077773
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 0x140077578
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
test eax, eax
jle 0x1400774b3
movzx r14d, ax
or r14d, 0x80070000
cmp r14d, 0x80070490
jne 0x140077526
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.1400f1ef4
mov r14d, eax
test eax, eax
jns 0x140077443
mov rcx, qword [0x140162280]
lea rdx, [0x140162280]
cmp rcx, rdx
je 0x14007751a
test byte [rcx + 0x1c], 1
je 0x14007751a
mov rcx, qword [rcx + 0x10]
lea r8, [0x140135248]
mov edx, 0x11
mov dword [rsp + 0x20], eax
mov r9, rbx
call fcn.140044764
lea rcx, str.ERROR:_UtilWriteFile__ls__failed_to_write_data___lx__n
jmp 0x140077438
xor r12d, r12d
cmp r14d, r15d
je 0x140077578
test r14d, r14d
jns 0x140077578
mov rcx, qword [0x140162280]
lea rdx, [0x140162280]
cmp rcx, rdx
je 0x140077564
test byte [rcx + 0x1c], 1
je 0x140077564
mov rcx, qword [rcx + 0x10]
lea edx, [r12 + 0x12]
mov r9d, r14d
lea r8, [0x140135248]
call fcn.140044450
mov edx, r14d
lea rcx, str.ERROR:_UtilGetACPISDEVTable_failed__internal_Error___lx__n
call fcn.1400ec5f0
jmp 0x140077443
mov ecx, r12d
lea rdx, [0x1401399ca]
call fcn.140030c68
mov r14, rax
test rax, rax
jne 0x1400775fe
mov rcx, qword [0x140162280]
lea rdx, [0x140162280]
cmp rcx, rdx
je 0x1400775be
test byte [rcx + 0x1c], 1
je 0x1400775be
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x13]
mov r9d, r15d
lea r8, [0x140135248]
call fcn.140044450
mov edx, r15d
lea rcx, str.ERROR:_Out_of_memory___lx__n
call fcn.1400ec5f0
cmp rsi, 0xffffffffffffffff
je 0x1400775dc
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbx, rbx
je 0x1400775e9
mov rcx, rbx
call fcn.140030c60
test rdi, rdi
je 0x1400775f6
mov rcx, rdi
call fcn.140030c60
mov eax, r15d
jmp 0x140077773
mov r9d, r12d
mov r8, r14
mov edx, 0x56454453
mov ecx, 0x41435049
call qword [sym.imp.KERNEL32.dll_GetSystemFirmwareTable]
test eax, eax
jne 0x140077637
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
test eax, eax
jle 0x140077630
movzx r15d, ax
or r15d, 0x80070000
test r15d, r15d
jns 0x14007768c
jmp 0x14007763c
cmp eax, r12d
jbe 0x140077689
mov rcx, qword [0x140162280]
lea rdx, [0x140162280]
cmp rcx, rdx
je 0x14007766d
test byte [rcx + 0x1c], 1
je 0x14007766d
mov rcx, qword [rcx + 0x10]
lea r8, [0x140135248]
mov edx, 0x14
mov r9d, r15d
call fcn.140044450
lea rcx, str.ERROR:_UtilGetACPISDEVTable_failed___lx__n
mov edx, r15d
call fcn.1400ec5f0
mov rcx, r14
call fcn.140030c60
jmp 0x1400775cd
mov r12d, eax
mov r8, rsi
mov edx, r12d
mov rcx, r14
call fcn.140077010
mov r15d, eax
test eax, eax
jns 0x1400776db
mov rcx, qword [0x140162280]
lea rdx, [0x140162280]
cmp rcx, rdx
je 0x1400776d2
test byte [rcx + 0x1c], 1
je 0x1400776d2
mov rcx, qword [rcx + 0x10]
lea r8, [0x140135248]
mov edx, 0x15
mov r9d, eax
call fcn.140044450
lea rcx, str.ERROR:_HexDumpToFile_failed___lx__n
jmp 0x140077674
mov rcx, r14
call fcn.140030c60
cmp rsi, 0xffffffffffffffff
je 0x1400776f2
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbx, rbx
je 0x1400776ff
mov rcx, rbx
call fcn.140030c60
test rdi, rdi
je 0x14007770c
mov rcx, rdi
call fcn.140030c60
xor eax, eax
jmp 0x140077773
mov rcx, qword [0x140162280]
lea rdx, [0x140162280]
cmp rcx, rdx
je 0x140077745
test byte [rcx + 0x1c], 1
je 0x140077745
mov rcx, qword [rcx + 0x10]
lea r8, [0x140135248]
mov edx, 0xe
mov dword [rsp + 0x20], esi
mov r9, rbx
call fcn.140044764
mov r8d, esi
lea rcx, str.ERROR:_UtilDeletePathSafe__ls__failed___lx__n
mov rdx, rbx
call fcn.1400ec5f0
test rbx, rbx
je 0x140077764
mov rcx, rbx
call fcn.140030c60
test rdi, rdi
je 0x140077771
mov rcx, rdi
call fcn.140030c60
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