Function at 0x446aa0
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1b4
mov eax, dword [0x5c7004]
xor eax, esp
mov dword [esp + 0x1b0], eax
push ebx
push esi
push edi
push 0xd4
lea eax, [esp + 0x4c]
mov ebx, edx
mov edi, ecx
mov dword [esp + 0x130], ebx
push 0
push eax
mov dword [esp + 0x1c], edi
call fcn.00536b00
add esp, 0xc
mov dword [esp + 0x124], ebx
cmp byte [0x5cd02b], 0
lea eax, [esp + 0x124]
mov dword [esp + 0x128], 0
push eax
jne 0x446b60
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x18
push eax
push 0x410
lea eax, [esp + 0x48]
mov dword [esp + 0x34], 0
push eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
call dword [sym.imp.ntdll.dll_NtOpenProcess]
cmp eax, 0xc0000022
jne 0x446b6e
cmp byte [0x5cd02b], 0
je 0x446b76
lea eax, [esp + 0x124]
push eax
mov edx, 0x410
lea ecx, [esp + 0x40]
call fcn.004dd080
test eax, eax
jns 0x446c54
push ebx
mov edx, 0x400
lea ecx, [esp + 0x40]
call fcn.004d3720
mov esi, eax
test esi, esi
jns 0x446c54
cmp esi, 0xc0000022
je 0x446bb0
cmp esi, 0xc0000005
je 0x446bb0
and eax, 0xfff0000
cmp eax, 0x70000
jne 0x446bbe
movzx eax, si
jmp 0x446bba
push esi
lfence
call dword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
test eax, eax
jne 0x446bc9
push esi
lfence
call sym.ProcessHacker.exe_PhGetNtMessage
jmp 0x446bd2
push eax
lfence
call sym.ProcessHacker.exe_PhGetWin32Message
mov esi, eax
test esi, esi
je 0x446c2a
lfence
lfence
push dword [esi + 4]
push 0x5634d8
push str.Unable_to_open_the_process.
push 0xfffe
push 0x20
push edi
call sym.ProcessHacker.exe_PhShowMessage2
add esp, 0x18
lea ecx, [esi - 8]
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
dec eax
jne 0x446ebd
lfence
call fcn.004c1f60
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1b0]
xor ecx, esp
call fcn.00534c91
mov esp, ebp
pop ebp
ret
push str.Unable_to_open_the_process.
push 0x5981b0
push 0x10
push edi
call sym.ProcessHacker.exe_PhShowMessage
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1b0]
xor ecx, esp
call fcn.00534c91
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x124], eax
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x18], 0
call sym.ProcessHacker.exe_PhGetSystemRoot
mov ebx, dword [esp + 0x1c]
push dword [0x5cd4f8]
lea esi, [ebx + 0x26]
lea eax, [esi + 0xa]
push eax
call sym.ProcessHacker.exe_PhCreateObject
mov edi, eax
xor eax, eax
lea ecx, [edi + 8]
mov dword [esp + 0x18], edi
push ebx
push dword [esp + 0x24]
mov dword [edi + 4], ecx
mov dword [edi], esi
mov word [ecx + esi], ax
push dword [edi + 4]
call fcn.00537fe0
mov edi, dword ds:[edi + 4]
lea eax, [esp + 0x20]
add edi, ebx
mov ecx, 9
mov esi, str.System32_ntdll.dll
mov ebx, dword [esp + 0x130]
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
movsw word es:[edi], word [esi]
mov esi, dword [esp + 0x18]
push 0
push eax
push 0
push str.LdrSystemDllInitBlock
push dword [esi + 4]
push ebx
call sym.ProcessHacker.exe_PhGetProcedureAddressRemote
mov edi, eax
lea ecx, [esi - 8]
or edx, 0xffffffff
lock xadd dword [ecx + 4], edx
dec edx
jne 0x446cfa
call fcn.004c1f60
test edi, edi
js 0x446d55
mov edi, dword [esp + 0x14]
test edi, edi
je 0x446d4d
push 0x7c
push 4
lfence
push dword [0x5cd55c]
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
push 0x7c
mov esi, eax
push 0
push esi
call fcn.00536b00
add esp, 0xc
push 0
push 0x7c
push esi
push edi
push ebx
call dword [sym.imp.ntdll.dll_NtReadVirtualMemory]
test eax, eax
jns 0x446d51
push esi
push 0
lfence
push dword [0x5cd55c]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
jmp 0x446d55
mov esi, dword [esp + 0x10]
mov dword [esp + 0x4c], esi
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x130]
call fcn.00464560
test eax, eax
js 0x446e98
xor esi, esi
lea edi, [esp + 0x58]
mov edx, dword [esp + esi*4 + 0x130]
test edx, edx
je 0x446da0
lea eax, [esp + 0x44]
mov ecx, esi
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00464920
test al, al
je 0x446da0
mov eax, dword [esp + 0x40]
mov dword [edi - 4], eax
mov eax, dword [esp + 0x44]
mov dword [edi], eax
inc esi
add edi, 0xc
cmp esi, 0x11
jl 0x446d73
cmp dword [esp + 0x12c], 4
jne 0x446e23
push 0
push 4
lea eax, [esp + 0x134]
push eax
push 0xdd
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
js 0x446e23
mov eax, dword [esp + 0x12c]
lea edx, [esp + 0x124]
mov ecx, eax
and eax, 0x100
shr ecx, 4
and ecx, 0x30
or ecx, eax
lea eax, [esp + 0x44]
shr ecx, 4
push eax
lea eax, [esp + 0x44]
mov dword [esp + 0x128], ecx
push eax
mov ecx, 0xf
call fcn.00464920
test al, al
je 0x446e23
mov eax, dword [esp + 0x40]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10c], eax
lea eax, ds:[esp + 0x48]
push eax
push 0x446ee0
push dword [esp + 0x18]
push 0xd7
push dword [0x5cd528]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
lea esi, [esp + 0x58]
mov edi, 0x11
nop
mov eax, dword [esi - 4]
mov dword [esi - 4], 0
test eax, eax
je 0x446e71
lea ecx, [eax - 8]
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
dec eax
jne 0x446e71
call fcn.004c1f60
mov eax, dword [esi]
mov dword [esi], 0
test eax, eax
je 0x446e90
lea ecx, [eax - 8]
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
dec eax
jne 0x446e90
call fcn.004c1f60
add esi, 0xc
sub edi, 1
jne 0x446e50
mov eax, dword ds:[esp + 0x4c]
test eax, eax
je 0x446eb3
push eax
push 0
push dword [0x5cd55c]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
push dword [esp + 0x3c]
call dword [sym.imp.ntdll.dll_NtClose]
mov ecx, dword [esp + 0x1bc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00534c91
mov esp, ebp
pop ebp
ret