Function at 0x51aae0
Capabilities:
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
push edi
push dword [0x635f00]
push 0x28
call sym.SystemInformer.exe_PhCreateObject
mov edi, eax
push 0x200
push 4
push dword [0x636044]
mov dword [edi], 4
mov dword [edi + 4], 0x501210
mov dword [edi + 8], 0x501230
mov dword [edi + 0xc], 0x80
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov ecx, dword [edi + 0xc]
shl ecx, 2
push ecx
push 0xff
push eax
mov dword [edi + 0x10], eax
call fcn.005826f0
mov eax, dword [edi + 0xc]
add esp, 0xc
mov dword [edi + 0x14], eax
lea eax, [eax + eax*2]
shl eax, 2
push eax
push 4
push dword [0x636044]
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov esi, dword ds:[ebp + 8]
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0xffffffff
mov dword [edi + 0x24], 0
cmp esi, 4
jne 0x51accd
push 0x800
push esi
push dword [0x636044]
mov dword [esp + 0x1c], 0x800
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov ebx, eax
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x14]
push ebx
push 0x4d
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov esi, eax
cmp esi, 0xc0000004
jne 0x51abff
push ebx
push 0
push dword [0x636044]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
push dword [esp + 0x10]
push 4
push dword [0x636044]
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov ebx, eax
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x14]
push ebx
push 0x4d
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov esi, eax
nop
test esi, esi
js 0x51ac2b
mov edx, dword [ebp + 0x14]
mov ecx, ebx
push edi
push dword [ebp + 0x18]
lfence
call fcn.0051a6c0
push ebx
push 0
push dword [0x636044]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
jmp 0x51ad79
push 0x800
push 4
push dword [0x636044]
mov dword [esp + 0x20], 0x800
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov ebx, eax
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x18]
push ebx
push 0xb
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov esi, eax
cmp esi, 0xc0000004
jne 0x51ac9f
push ebx
push 0
push dword [0x636044]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
push dword [esp + 0x14]
push 4
push dword [0x636044]
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov ebx, eax
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x18]
push ebx
push 0xb
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov esi, eax
nop
test esi, esi
js 0x51ad79
mov edx, dword [ebp + 0x14]
mov ecx, ebx
push edi
push dword [ebp + 0x18]
lfence
call fcn.0051a420
push ebx
push 0
push dword [0x636044]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
jmp 0x51ad79
mov ecx, dword [ebp + 0xc]
xor bl, bl
test ecx, ecx
jne 0x51ad09
push esi
push 0x410
lea eax, [ebp + 0xc]
push eax
call sym.SystemInformer.exe_PhOpenProcess
test eax, eax
jns 0x51ad04
push esi
push 0x1010
lea eax, [ebp + 0xc]
push eax
lfence
call sym.SystemInformer.exe_PhOpenProcess
mov esi, eax
test esi, esi
js 0x51ad79
mov ecx, dword [ebp + 0xc]
mov bl, 1
mov eax, dword [ebp + 0x14]
mov edx, 0x516d20
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
push ecx
push eax
mov dword [esp + 0x34], 1
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x20], 0x51a240
mov dword [esp + 0x28], 2
call fcn.00516b80
mov edx, dword [ebp + 0x10]
mov esi, eax
test dl, 3
je 0x51ad6c
mov ecx, dword [ebp + 0xc]
push edi
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0051a900
test bl, bl
je 0x51ad79
push dword [ebp + 0xc]
call dword [sym.imp.ntdll.dll_NtClose]
lea ecx, [edi - 8]
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
dec eax
jne 0x51ad8c
call fcn.004fc420
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14