Function at 0x1400132e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rdi
sub rsp, 0x90
mov rax, qword [0x14005b0e8]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rax, qword [0x1417bba30]
cmp dword [rax + 0x3c], 0
je 0x140013318
lea rdx, str.ACPI
lea rcx, str._DBG__ALLOC___s__n
call fcn.140001010
mov edx, 0x2d
lea ecx, [rdx - 0x2c]
call qword [sym.imp.msvcrt.dll_calloc]
mov rdi, rax
test rax, rax
je 0x140013927
mov qword [rsp + 0xa0], rbx
mov edx, 8
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x80], r15
lea ecx, [rdx - 7]
call qword [sym.imp.msvcrt.dll_calloc]
mov edx, 8
mov qword [rdi + 0x18], rax
lea ecx, [rdx - 7]
call qword [sym.imp.msvcrt.dll_calloc]
lea rcx, [rdi + 0x28]
mov edx, 5
lea r8, str.ACPI
mov qword [rdi + 8], rax
mov qword [rdi], rcx
call fcn.140031cc0
mov rcx, qword [0x1417bba30]
mov dword [rdi + 0x20], 2
cmp dword [rcx + 0xc], 0
je 0x140013451
mov r14, qword [rcx + 0x220]
xor ebx, ebx
mov esi, ebx
mov rax, qword [r14 + 0x18]
cmp qword [rax], rbx
je 0x1400133cb
nop word [rax + rax]
inc esi
lea rax, [rax + 8]
cmp qword [rax], rbx
jne 0x1400133c0
cmp dword [rcx + 0x3c], ebx
je 0x1400133e2
mov r8, qword [rdi]
lea rcx, str._DBG__APPEND___s_______s__n
mov rdx, qword [r14]
call fcn.140001010
mov rax, 0xffffffffffffffff
movsxd rsi, esi
lea rcx, [rsi + 1]
add rcx, 1
lea edx, [rax + 9]
cmovb rcx, rax
call qword [sym.imp.msvcrt.dll_calloc]
mov r15, rax
test rax, rax
je 0x140013939
test rsi, rsi
jle 0x140013434
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + rbx*8]
mov qword [r15 + rbx*8], rcx
inc rbx
cmp rbx, rsi
jl 0x140013420
mov qword [r15 + rsi*8], rdi
mov rcx, qword [r14 + 0x18]
call qword [sym.imp.msvcrt.dll_free]
mov rcx, qword [0x1417bba30]
mov qword [r14 + 0x18], r15
mov qword [rdi + 0x10], r14
mov eax, dword [rcx + 0x44]
test eax, eax
je 0x1400134a0
cmp eax, 0x54445352
jne 0x140013466
call fcn.140004350
jmp 0x14001347b
cmp eax, 0x54445358
jne 0x140013474
call fcn.140004430
jmp 0x14001347b
mov ecx, eax
call fcn.140004290
mov rbx, rax
test rax, rax
je 0x1400138ee
mov rdx, rax
mov rcx, rdi
call fcn.140012e00
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
jmp 0x1400138ee
mov rbx, qword [rcx + 0x1d8]
mov qword [rsp + 0xa8], rbp
test rbx, rbx
je 0x140013665
mov r8d, 4
lea rdx, str.Table
mov rcx, rdi
call fcn.1400117b0
mov rdx, qword [0x1417bba30]
xor r9d, r9d
mov rcx, qword [rbx]
mov rsi, rax
lea r8, [rdx + 0x250]
mov qword [r8], rcx
mov rcx, rax
mov byte [rdx + 0x258], 0
lea rdx, str.Signature
call fcn.1400118b0
movzx ecx, byte [rbx + 0x20]
lea r9, str.0x_02x
mov dword [rsp + 0x20], ecx
lea rdx, str.V1_Checksum
mov rcx, rsi
xor r8d, r8d
call fcn.140011be0
mov edx, 0x14
mov rcx, rbx
call fcn.140004520
test al, al
lea rbp, [0x14003fbf4]
mov r8, rbp
lea r14, [0x14003df6c]
cmove r8, r14
lea rdx, str.V1_Checksum_Status
xor r9d, r9d
mov rcx, rsi
call fcn.1400118b0
mov eax, dword [rbx + 9]
lea rdx, str.OEM_ID
mov rcx, qword [0x1417bba30]
xor r9d, r9d
lea r8, [rcx + 0x250]
mov dword [r8], eax
movzx eax, word [rbx + 0xd]
mov word [r8 + 4], ax
mov byte [rcx + 0x256], 0
mov rcx, rsi
call fcn.1400118b0
movzx eax, byte [rbx + 0xf]
lea r9, str.0x_02x
xor r8d, r8d
mov dword [rsp + 0x20], eax
lea rdx, str.Revision
mov rcx, rsi
call fcn.140011be0
mov eax, dword [rbx + 0x10]
lea r9, str.0x_08x
xor r8d, r8d
mov dword [rsp + 0x20], eax
lea rdx, str.RSDT_Address
mov rcx, rsi
call fcn.140011be0
cmp byte [rbx + 0xf], 0
je 0x14001365e
mov eax, dword [rbx + 0x14]
lea r9, str.0x_x
xor r8d, r8d
mov dword [rsp + 0x20], eax
lea rdx, str.Length
mov rcx, rsi
call fcn.140011be0
movzx eax, byte [rbx + 0x20]
lea r9, str.0x_02x
xor r8d, r8d
mov dword [rsp + 0x20], eax
lea rdx, str.Checksum
mov rcx, rsi
call fcn.140011be0
mov edx, dword [rbx + 0x14]
mov rcx, rbx
call fcn.140004520
test al, al
lea rdx, str.Checksum_Status
mov rcx, rsi
cmove rbp, r14
xor r9d, r9d
mov r8, rbp
call fcn.1400118b0
mov rax, qword [rbx + 0x18]
lea r9, str.0x_016llx
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.XSDT_Address
mov rcx, rsi
call fcn.140011be0
mov rcx, qword [0x1417bba30]
mov rsi, qword [rcx + 0x1e8]
mov qword [rsp + 0xb8], r12
test rsi, rsi
je 0x1400137a8
mov rdx, rsi
mov rcx, rdi
call fcn.140012c30
mov ebx, dword [rsi + 4]
lea rdx, str.Entries
sub rbx, 0x24
mov r8d, 2
mov rcx, rax
shr rbx, 3
call fcn.1400117b0
mov r12, rax
test ebx, ebx
je 0x1400138de
add rsi, 0x24
mov r15d, ebx
mov r14d, 0x24
mov rbp, qword [rsi]
test rbp, rbp
je 0x140013795
mov r8d, r14d
lea rcx, [rsp + 0x40]
mov rdx, rbp
call fcn.140003e80
test eax, eax
je 0x140013795
mov eax, dword [rsp + 0x44]
cmp eax, r14d
cmovb eax, r14d
mov ecx, eax
mov dword [rsp + 0x44], eax
call qword [sym.imp.msvcrt.dll_malloc]
mov rbx, rax
test rax, rax
je 0x140013795
mov r8d, dword [rsp + 0x44]
mov rdx, rbp
mov rcx, rax
call fcn.140003e80
test eax, eax
je 0x14001378c
movzx ecx, byte [rbx + 2]
lea r8, str._c_c_c_c
movzx edx, byte [rbx + 1]
movzx eax, byte [rbx + 3]
movzx r9d, byte [rbx]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
lea rcx, [rsp + 0x68]
mov dword [rsp + 0x20], edx
mov edx, 5
call fcn.1400022d0
mov r8d, 4
lea rdx, [rsp + 0x68]
mov rcx, r12
call fcn.1400117b0
mov rcx, qword [rsi]
lea r9, str.0x_016llx
mov qword [rsp + 0x20], rcx
lea rdx, str.Address
mov rcx, rax
xor r8d, r8d
call fcn.140011be0
mov rdx, rbx
mov rcx, rdi
call fcn.140012e00
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
add rsi, 8
sub r15, 1
jne 0x1400136c0
jmp 0x1400138de
cmp qword [rcx + 0x1e0], 0
je 0x1400138de
mov rdx, rsi
mov rcx, rdi
call fcn.140012c30
mov ebx, dword [rsi + 4]
lea rdx, str.Entries
sub rbx, 0x24
mov r8d, 2
mov rcx, rax
shr rbx, 2
call fcn.1400117b0
mov r12, rax
test ebx, ebx
je 0x1400138de
add rsi, 0x24
mov r15d, ebx
mov r14d, 0x24
nop dword [rax]
mov ebp, dword [rsi]
test rbp, rbp
je 0x1400138d0
mov r8d, r14d
lea rcx, [rsp + 0x40]
mov edx, ebp
call fcn.140003e80
test eax, eax
je 0x1400138d0
mov eax, dword [rsp + 0x44]
cmp eax, r14d
cmovb eax, r14d
mov ecx, eax
mov dword [rsp + 0x44], eax
call qword [sym.imp.msvcrt.dll_malloc]
mov rbx, rax
test rax, rax
je 0x1400138d0
mov r8d, dword [rsp + 0x44]
mov edx, ebp
mov rcx, rax
call fcn.140003e80
test eax, eax
je 0x1400138c7
movzx ecx, byte [rbx + 2]
lea r8, str._c_c_c_c
movzx edx, byte [rbx + 1]
movzx eax, byte [rbx + 3]
movzx r9d, byte [rbx]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
lea rcx, [rsp + 0x68]
mov dword [rsp + 0x20], edx
mov edx, 5
call fcn.1400022d0
mov r8d, 4
lea rdx, [rsp + 0x68]
mov rcx, r12
call fcn.1400117b0
mov ecx, dword [rsi]
lea r9, str.0x_08x
mov dword [rsp + 0x20], ecx
lea rdx, str.Address
mov rcx, rax
xor r8d, r8d
call fcn.140011be0
mov rdx, rbx
mov rcx, rdi
call fcn.140012e00
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
add rsi, 4
sub r15, 1
jne 0x140013800
mov r12, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rax, rdi
mov r14, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140029990
add rsp, 0x90
pop rdi
ret
lea rdx, str.Failed_to_allocate_memory_in_NWL_NodeAlloc
mov ecx, 0xe
call fcn.140001650
int3
lea rdx, str.Failed_to_allocate_memory_in_NWL_NodeAppendChild
mov ecx, 0xe
call fcn.140001650
int3