Function at 0x1005a0
Capabilities:
Access pe header
Get system information on windows

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
push rdi
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
mov rax, qword [0x0001c100]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rbx, qword [0x000fe888]
xor eax, eax
xor ebp, ebp
mov word [rsp + 0x38], bp
mov qword [r11 - 0x4e], rax
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x42], eax
mov word [rsp + 0x46], ax
cmp rbx, rbp
jne 0x10071e
lea r9, [0x00100950]
mov ecx, 0x7fff
mov word [rsp + 0x38], bp
mov word [rsp + 0x3a], bp
lea r8d, [rbp + 2]
mov rdx, r9
mov qword [r11 - 0x48], rbp
mov rax, rcx
cmp word [rdx], bp
je 0x100627
add rdx, r8
sub rax, 1
jne 0x100619
cmp rax, rbp
je 0x100646
sub rcx, rax
mov qword [rsp + 0x40], r9
lea rax, [rcx + rcx]
mov word [rsp + 0x38], ax
add ax, r8w
mov word [rsp + 0x3a], ax
lea rcx, [rsp + 0x38]
call qword [sym.imp.ntoskrnl.exe_MmGetSystemRoutineAddress]
mov rdi, rax
cmp rax, rbp
jne 0x100661
mov rbx, rbp
jmp 0x10071e
mov r8d, dword [rsp + 0x30]
xor edx, edx
lea r9, [rsp + 0x30]
lea esi, [rdx + 0xb]
mov ecx, esi
call qword [sym.imp.ntoskrnl.exe_ZwQuerySystemInformation]
mov r11d, dword [rsp + 0x30]
cmp r11d, ebp
je 0x100659
mov rdx, r11
xor ecx, ecx
mov r8d, 0x656e6f42
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov r8d, dword [rsp + 0x30]
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.00019aa0
mov r8d, dword [rsp + 0x30]
lea r9, [rsp + 0x30]
mov rdx, rbx
mov ecx, esi
call qword [sym.imp.ntoskrnl.exe_ZwQuerySystemInformation]
cmp eax, ebp
jl 0x100704
mov ecx, ebp
cmp dword [rbx], ebp
jbe 0x100704
lea rdx, [rbx + 0x18]
cmp rdi, qword [rdx]
jb 0x1006d8
mov eax, dword [rdx + 8]
add rax, qword [rdx]
cmp rdi, rax
jb 0x1006e7
inc ecx
add rdx, 0x128
cmp ecx, dword [rbx]
jae 0x100704
jmp 0x1006c8
imul rcx, rcx, 0x128
mov rax, qword [rcx + rbx + 0x18]
mov qword [0x000fe888], rax
mov eax, dword [rcx + rbx + 0x20]
mov dword [0x000fe890], eax
cmp rbx, rbp
je 0x100717
mov edx, 0x656e6f42
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov rbx, qword [0x000fe888]
mov rax, qword [0x000fe898]
cmp rax, rbp
jne 0x1007d1
cmp rbx, rbp
je 0x1007cf
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_RtlImageNtHeader]
lea rdi, [rax + 0x108]
movzx eax, word [rax + 6]
lea rcx, [rax + rax*4]
lea rsi, [rdi + rcx*8]
cmp rdi, rsi
jae 0x1007cf
movdqu xmm6, xmmword [0x00100970]
add rdi, 0x24
bt dword [rdi], 0x1b
jae 0x1007c2
bt dword [rdi], 0x1d
jae 0x1007c2
bt dword [rdi], 0x19
jb 0x1007c2
cmp dword [rdi - 0x24], 0x54494e49
je 0x1007c2
cmp dword [rdi - 0x24], 0x45474150
je 0x1007c2
mov eax, dword [rdi - 0x1c]
mov r9d, dword [rdi - 0x18]
lea rcx, [rsp + 0x48]
movdqu xmmword [rsp + 0x50], xmm6
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x50]
add r9, rbx
mov r8d, 0xf
mov dl, 0xcc
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x20], rax
call fcn.0001964c
cmp eax, ebp
jge 0x1007fc
add rdi, 0x28
lea rax, [rdi - 0x24]
cmp rax, rsi
jb 0x100764
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.000196e0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
movaps xmm6, xmmword [rsp + 0x70]
mov rsp, r11
pop rdi
ret
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + 3]
lea rax, [rax + rcx + 7]
mov qword [0x000fe898], rax
jmp 0x1007d1