Function at 0x1400c64bc
Capabilities:
Get system firmware table

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
imul eax, dword [0x1402b9b68], 0x978c4564
mov rsi, rcx
imul ecx, dword [0x1402b9b6c], 0x9074670d
add ecx, eax
add ecx, 0xc6f1f6b8
imul eax, dword [0x1402b9b70], 0xc16d98c0
imul edx, dword [0x1402b9b74], 0x7f89f6de
imul r8d, dword [0x1402b9b78], 0x85cb7afe
imul r9d, dword [0x1402b9b7c], 0x398fcec0
add edx, eax
add edx, 0x63c398b6
mov eax, r9d
lea r9d, [r8 + rax]
add r9d, 0x4d778d60
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetSystemFirmwareTable]
mov ebx, eax
mov eax, dword [0x1402b9b80]
mov ecx, dword [0x1402b9b84]
shrd ecx, eax, 0x1d
xor ecx, 0xff1cb5ed
mov eax, 0
cmp ebx, ecx
je 0x1400c6854
mov eax, ebx
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ecx, dword [0x1402b9b88]
mov edx, dword [0x1402b9b8c]
shrd edx, ecx, 0x17
xor edx, 0xd202404d
mov rcx, rax
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400c66fb
mov r14, rax
imul eax, dword [0x1402b9b90], 0xd5ec67e9
imul ecx, dword [0x1402b9b94], 0x3a5d1236
mov r9d, ebx
add ecx, eax
add ecx, 0xc83a22df
imul eax, dword [0x1402b9b98], 0x2c7db84b
imul edx, dword [0x1402b9b9c], 0x30b10282
mov rdi, r14
add edx, eax
add edx, 0xe25807e4
mov r8, r14
call qword [sym.imp.KERNEL32.dll_GetSystemFirmwareTable]
cmp eax, ebx
jne 0x1400c66fb
mov eax, dword [rdi + 4]
mov ecx, dword [0x1402b9ba0]
mov edx, dword [0x1402b9ba4]
shrd edx, ecx, 6
mov ecx, eax
xor edx, 0x5b18fee5
cmp eax, edx
je 0x1400c6820
lea rcx, [r14 + rax]
add rcx, 8
add r14, 8
mov al, byte [0x1402b9ba8]
mov dl, byte [0x1402b9ba9]
shr dl, 7
add al, al
or al, dl
mov edx, eax
xor dl, 0xaf
mov rax, r14
movzx r8d, byte [rax + 1]
mov r9d, r8d
cmp r8b, dl
jb 0x1400c6820
mov r9d, r8d
mov r10b, byte [0x1402b9bac]
mov r11b, byte [reloc.WS2_32.dll_closesocket]
shr r11b, 3
shl r10b, 5
or r10b, r11b
xor r10b, 0xd8
cmp r8b, r10b
jbe 0x1400c667f
mov r9b, byte [0x1402b9baa]
mov r10b, byte [0x1402b9bab]
shr r10b, 6
shl r9b, 2
or r9b, r10b
xor r9b, 0x7d
cmp byte [rax], r9b
je 0x1400c6702
add rax, r8
cmp rax, rcx
jae 0x1400c66e3
mov r8, rax
mov rax, r8
mov r8b, byte [0x1402b9bfa]
mov r9b, byte [0x1402b9bfb]
shr r9b, 2
shl r8b, 6
or r8b, r9b
xor r8b, 0xa
cmp byte [rax], r8b
jne 0x1400c66d2
mov r8b, byte [0x1402b9bfc]
mov r9b, byte [0x1402b9bfd]
shr r9b, 6
shl r8b, 2
or r8b, r9b
xor r8b, 0xb7
cmp byte [rax + 1], r8b
je 0x1400c66e3
mov r9, rax
inc r9
mov rax, r9
mov r8, r9
cmp r9, rcx
jb 0x1400c668a
mov r8, rax
add r8, 2
mov rax, r8
cmp r8, rcx
jb 0x1400c6623
jmp 0x1400c6820
xor eax, eax
jmp 0x1400c6854
mov cl, byte [0x1402b9bd0]
mov dl, byte [0x1402b9bd1]
shr dl, 7
add cl, cl
or cl, dl
xor cl, 0xa5
movabs rdx, 0xd971336c5f3719bc
movabs r8, 0xb4621f401413dcdb
movabs r9, 0xb11e61c6f86cd03
movabs r10, 0xc8ae9a1c8a292e55
mov r11d, 8
cmp byte [rax + r11], cl
jne 0x1400c6791
mov rbx, qword [0x1402b9bb0]
imul rbx, rdx
mov r14, qword [0x1402b9bb8]
imul r14, r8
add r14, rbx
add r11, r9
mov rbx, r11
add rbx, r14
mov r11, qword [0x1402b9bc0]
mov r14, qword [0x1402b9bc8]
shrd r14, r11, 4
xor r14, r10
mov r11, rbx
cmp rbx, r14
jne 0x1400c6746
jmp 0x1400c6820
movzx ecx, byte [0x1402b9bf8]
movzx edx, byte [0x1402b9bf9]
imul ecx, ecx, 0xffffffe7
imul edx, edx, 0x37
add dl, cl
mov ecx, edx
add cl, 0x1f
movabs rdx, 0xfe62b943cda40910
movabs r8, 0xf7f9d4909622b6c9
movabs r9, 0xc64df089767bc1b5
movabs r10, 0x41e8d995f730a3ff
mov r11d, 8
cmp byte [rax + r11], cl
jne 0x1400c685e
mov rbx, qword [0x1402b9bd8]
imul rbx, rdx
mov r14, qword [0x1402b9be0]
imul r14, r8
add r14, rbx
add r11, r9
mov rbx, r11
add rbx, r14
mov r11, qword [0x1402b9be8]
mov r14, qword [0x1402b9bf0]
shrd r14, r11, 3
xor r14, r10
mov r11, rbx
cmp rbx, r14
jne 0x1400c67da
xor eax, eax
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
imul ecx, dword [str.1n_m], 0x7ac08ca5
imul edx, dword [0x1402b9c04], 0x33d995c
add edx, ecx
add edx, 0x10e2d13b
mov rcx, rax
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, ebx
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
mov cl, byte [rax + 0xb]
mov byte [rsi], cl
mov cl, byte [rax + 0xa]
mov byte [rsi + 1], cl
mov cl, byte [rax + 9]
mov byte [rsi + 2], cl
mov cl, byte [rax + 8]
mov byte [rsi + 3], cl
mov cl, byte [rax + 0xd]
mov byte [rsi + 4], cl
mov cl, byte [rax + 0xc]
mov byte [rsi + 5], cl
mov cl, byte [rax + 0xf]
mov byte [rsi + 6], cl
mov cl, byte [rax + 0xe]
mov byte [rsi + 7], cl
mov cl, byte [rax + 0x10]
mov byte [rsi + 8], cl
mov cl, byte [rax + 0x11]
mov byte [rsi + 9], cl
mov cl, byte [rax + 0x12]
mov byte [rsi + 0xa], cl
mov cl, byte [rax + 0x13]
mov byte [rsi + 0xb], cl
mov cl, byte [rax + 0x14]
mov byte [rsi + 0xc], cl
mov cl, byte [rax + 0x15]
mov byte [rsi + 0xd], cl
mov cl, byte [rax + 0x16]
mov byte [rsi + 0xe], cl
mov al, byte [rax + 0x17]
mov byte [rsi + 0xf], al
mov al, 1
jmp 0x1400c6822