Function at 0x56ac30
Capabilities:
Get system information on windows

Disassembly:
push rbp
sub rsp, 0xd0
mov rbp, rsp
mov qword [rbp + 0xe0], rcx
mov dword [rbp + 0xe8], edx
mov dword [rbp + 0xf0], r8d
mov qword [rbp + 0xc8], 0
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x58], rax
cmp qword [rbp + 0x58], 0
jne 0x56ac94
xor ecx, ecx
mov edx, dword [rbp + 0xe8]
mov r8d, 0x3000
mov r9d, dword [rbp + 0xf0]
call qword [0x006073e8]
mov qword [rbp + 0xc8], rax
jmp 0x56aec4
lea rcx, [rbp + 0x68]
call sub.kernel32.dll_GetSystemInfo_1
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x48], rax
mov eax, dword [rbp + 0x90]
mov dword [rbp + 0x3c], eax
mov rax, qword [rbp + 0x58]
cmp rax, qword [rbp + 0x40]
jb 0x56aec4
mov rax, qword [rbp + 0x58]
cmp rax, qword [rbp + 0x48]
ja 0x56aec4
mov rcx, qword [rbp + 0x58]
lea rdx, [rbp + 0x98]
mov r8d, 0x30
call qword [0x00607400]
test rax, rax
je 0x56aec4
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
cmp rax, qword [rbp + 0x48]
jae 0x56ade2
mov rcx, qword [rbp + 0x50]
lea rdx, [rbp + 0x98]
mov r8d, 0x30
call qword [0x00607400]
test rax, rax
je 0x56aec4
cmp dword [rbp + 0xb8], 0x10000
jne 0x56adc9
mov eax, dword [rbp + 0x3c]
cmp qword [rbp + 0xb0], rax
jb 0x56adc9
mov eax, dword [rbp + 0xe8]
cmp qword [rbp + 0xb0], rax
jb 0x56adc9
cmp qword [rbp + 0x50], 0
jne 0x56ad70
mov eax, dword [rbp + 0x3c]
mov qword [rbp + 0x30], rax
jmp 0x56ad8d
mov rax, qword [rbp + 0x50]
mov ecx, dword [rbp + 0x3c]
lea rax, [rax + rcx - 1]
mov ecx, dword [rbp + 0x3c]
lea rcx, [rcx - 1]
not rcx
and rax, rcx
mov qword [rbp + 0x30], rax
nop
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x58], rax
mov rcx, qword [rbp + 0x58]
mov edx, dword [rbp + 0xe8]
mov r8d, 0x3000
mov r9d, dword [rbp + 0xf0]
call qword [0x006073e8]
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xc8], 0
jne 0x56aec4
mov rax, qword [rbp + 0xb0]
add qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
cmp rax, qword [rbp + 0x48]
jb 0x56ad14
nop
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
cmp rax, qword [rbp + 0x40]
jbe 0x56aec3
mov rcx, qword [rbp + 0x50]
lea rdx, [rbp + 0x98]
mov r8d, 0x30
call qword [0x00607400]
test rax, rax
je 0x56aec4
cmp dword [rbp + 0xb8], 0x10000
jne 0x56aeaa
mov eax, dword [rbp + 0x3c]
cmp qword [rbp + 0xb0], rax
jb 0x56aeaa
mov eax, dword [rbp + 0xe8]
cmp qword [rbp + 0xb0], rax
jb 0x56aeaa
cmp qword [rbp + 0x50], 0
jne 0x56ae55
mov eax, dword [rbp + 0x3c]
mov qword [rbp + 0x28], rax
jmp 0x56ae72
mov rax, qword [rbp + 0x50]
mov ecx, dword [rbp + 0x3c]
lea rax, [rax + rcx - 1]
mov ecx, dword [rbp + 0x3c]
lea rcx, [rcx - 1]
not rcx
and rax, rcx
mov qword [rbp + 0x28], rax
nop
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x58], rax
mov rcx, qword [rbp + 0x58]
mov edx, dword [rbp + 0xe8]
mov r8d, 0x3000
mov r9d, dword [rbp + 0xf0]
call qword [0x006073e8]
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xc8], 0
jne 0x56aec4
mov rax, qword [rbp + 0xb0]
sub qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
cmp rax, qword [rbp + 0x40]
ja 0x56adf9
nop
mov rax, qword [rbp + 0xc8]
lea rsp, [rbp + 0xd0]
pop rbp
ret