Function at 0x2d944
Capabilities:
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r13
push r14
mov eax, 0x1170
call sub.ntoskrnl.exe___chkstk
sub rsp, rax
mov rax, qword [0x000a7100]
xor rax, rsp
mov qword [rsp + 0x1160], rax
xor ebp, ebp
lea rcx, [rsp + 0x960]
xor edx, edx
and qword [rsp + 0x40], rbp
mov r8d, 0x800
mov r13b, 1
mov qword [rsp + 0x38], rbp
xor r14b, r14b
call fcn.00091d10
lea rcx, [rsp + 0x40]
xor edx, edx
call fcn.0002d1bc
mov edi, 0xc0000000
mov ecx, eax
mov ebx, eax
and ecx, edi
cmp ecx, edi
je 0x2dcde
and dword [rsp + 0x30], ebp
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8d, 0x104
xor r12d, r12d
call fcn.00091d10
lea r9, [rsp + 0x30]
lea ecx, [rbp + 0xb]
xor r8d, r8d
xor edx, edx
call sub.ntoskrnl.exe_ZwQuerySystemInformation
lea rsi, [0x00095810]
mov ebx, eax
cmp eax, 0xc0000004
jne 0x2dafa
mov eax, dword [rsp + 0x30]
xor ecx, ecx
mov r8d, 0x6c616e41
add eax, 0x1000
mov edx, eax
mov dword [rsp + 0x30], eax
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov rsi, rax
test rax, rax
je 0x2daf3
mov r8d, dword [rsp + 0x30]
xor edx, edx
mov rcx, rax
call fcn.00091d10
mov r8d, dword [rsp + 0x30]
lea ecx, [rbp + 0xb]
xor r9d, r9d
mov rdx, rsi
call sub.ntoskrnl.exe_ZwQuerySystemInformation
mov ecx, eax
mov ebx, eax
and ecx, edi
cmp ecx, edi
je 0x2dae5
mov ebx, 0xc0000001
cmp qword [rsi], rbp
jbe 0x2dadd
lea rax, [0x00095810]
test rax, rax
mov eax, ebp
je 0x2daca
or rcx, 0xffffffffffffffff
imul rax, rax, 0x128
lea rdx, [rsp + 0x50]
lea r9, [rax + rsi + 0x30]
xor eax, eax
mov rdi, r9
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, r9
call fcn.00031c84
test eax, eax
je 0x2dabd
lea rdx, [0x00095810]
lea rcx, [rsp + 0x50]
mov r8d, eax
mov edi, eax
call qword [sym.imp.ntoskrnl.exe_RtlCompareMemory]
cmp rax, rdi
je 0x2dac8
inc ebp
mov eax, ebp
cmp rax, qword [rsi]
jae 0x2dad8
jmp 0x2da64
mov eax, ebp
imul rax, rax, 0x128
xor ebx, ebx
mov r12, qword [rax + rsi + 0x18]
mov edi, 0xc0000000
mov rbp, r12
mov qword [rsp + 0x38], r12
mov edx, 0x6c616e41
mov rcx, rsi
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
lea rsi, [0x00095810]
mov eax, ebx
and eax, edi
cmp eax, edi
jne 0x2db97
lea rcx, [rsp + 0x160]
xor edx, edx
mov r8d, 0x800
call fcn.00091d10
mov edi, 0x400
lea rcx, [rsp + 0x160]
mov edx, edi
mov r9, rsi
xor r8d, r8d
mov dword [rsp + 0x20], 9
call qword [sym.imp.ntoskrnl.exe_RtlMultiByteToUnicodeN]
lea r9, [rsp + 0x160]
lea r8, [0x00095820]
lea rcx, [rsp + 0x960]
mov rdx, rdi
call fcn.00014458
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x960]
xor r8d, r8d
call fcn.0002d3cc
mov ecx, 0xc0000000
mov ebx, eax
and eax, ecx
cmp eax, ecx
je 0x2dcde
mov rbp, qword [rsp + 0x38]
test rbp, rbp
je 0x2dcde
xor r13b, r13b
mov r14b, 1
mov rdi, qword [rsp + 0x40]
lea rax, [0x000b5168]
lea r9, [0x00095850]
mov qword [rsp + 0x28], rax
mov r8b, 1
mov rdx, rbp
mov rcx, rdi
mov byte [rsp + 0x20], r13b
call fcn.0002d8c8
lea r11, [0x000b5170]
lea r9, [0x00095870]
mov qword [rsp + 0x28], r11
mov r8b, 1
mov rdx, rbp
mov rcx, rdi
mov byte [rsp + 0x20], r13b
call fcn.0002d8c8
lea r11, [0x000b5178]
lea r9, [0x00095880]
mov qword [rsp + 0x28], r11
mov r8b, 1
mov rdx, rbp
mov rcx, rdi
mov byte [rsp + 0x20], r13b
call fcn.0002d8c8
lea r11, [0x000b5180]
lea r9, [0x00095890]
mov qword [rsp + 0x28], r11
mov r8b, 1
mov rdx, rbp
mov rcx, rdi
mov byte [rsp + 0x20], r13b
call fcn.0002d8c8
lea r11, [0x000b5188]
lea r9, [0x000939e0]
mov qword [rsp + 0x28], r11
mov r8b, 1
mov rdx, rbp
mov rcx, rdi
mov byte [rsp + 0x20], r13b
call fcn.0002d8c8
lea r11, [0x000b5190]
lea r9, [0x00093a00]
mov qword [rsp + 0x28], r11
mov r8b, 1
mov rdx, rbp
mov rcx, rdi
mov byte [rsp + 0x20], r13b
call fcn.0002d8c8
lea r11, [0x000b5198]
lea r9, [0x00093a20]
mov qword [rsp + 0x28], r11
mov r8b, 1
mov rdx, rbp
mov rcx, rdi
mov byte [rsp + 0x20], r13b
call fcn.0002d8c8
lea r11, [0x000b51a0]
lea r9, [0x000939c0]
mov qword [rsp + 0x28], r11
mov r8b, 1
mov rdx, rbp
mov rcx, rdi
mov byte [rsp + 0x20], r13b
call fcn.0002d8c8
test r14b, r14b
je 0x2dcde
mov rdx, rbp
or rcx, 0xffffffffffffffff
call qword [sym.imp.ntoskrnl.exe_ZwUnmapViewOfSection]
mov eax, ebx
mov rcx, qword [rsp + 0x1160]
xor rcx, rsp
call fcn.000916b0
lea r11, [rsp + 0x1170]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
ret