Function at 0x140058528
Capabilities:
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 0x10], rdx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
xor esi, esi
xorps xmm1, xmm1
xorps xmm0, xmm0
mov dword [rbp - 0x69], esi
movdqu xmmword [rbp + 7], xmm0
mov r15, rcx
mov qword [rbp - 0x59], rsi
xor eax, eax
mov qword [rbp - 0x61], rsi
lea rcx, [rbp - 0x49]
mov qword [rbp - 0x71], rsi
movups xmmword [rbp - 1], xmm1
mov r12, r9
mov r13, r8
movups xmmword [rbp + 0xf], xmm1
mov rbx, rdx
mov qword [rbp - 0x49], rax
mov r14d, esi
mov edi, esi
movups xmmword [rbp + 0x1f], xmm1
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x1400585fe
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x140457db4]
mov ebx, eax
lea rcx, [0x14043d79c]
call fcn.1400f4a64
test ebx, ebx
jne 0x1400585d8
lea rdx, [0x1404530dc]
mov esi, 0x80004005
lea rcx, [0x1404393d8]
call fcn.1400f50f4
jmp 0x14005884e
movzx esi, bx
lea rdx, [0x14045b55c]
or esi, 0x80070000
lea rcx, [0x14042de90]
test ebx, ebx
cmovle esi, ebx
call fcn.1400f43c0
jmp 0x14005884e
test rbx, rbx
jne 0x140058614
mov ecx, 0x80070057
mov esi, ecx
call fcn.14007ac40
jmp 0x140058859
test r13, r13
je 0x140058603
test r12, r12
je 0x140058603
mov rbx, qword [0x14045c980]
mov edi, 1
test rbx, rbx
jne 0x140058638
mov rbx, rsi
lea r14d, [rdi + 7]
jmp 0x140058641
lea r14, [rbx + 8]
test r14, r14
je 0x14005864e
mov edx, edi
mov rcx, r14
call fcn.140073644
mov dword [rbp - 0x69], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x10]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rdx, [0x140457914]
mov rdi, rax
lea rcx, [0x14042e6e0]
call fcn.1400f406c
test rdi, rdi
je 0x140058846
xorps xmm0, xmm0
mov rcx, rdi
movups xmmword [rdi], xmm0
call qword [sym.imp.RPCRT4.dll_UuidCreate]
test eax, eax
je 0x1400586d2
mov ecx, eax
call qword [sym.imp.RPCRT4.dll_I_RpcMapWin32Status]
lea rdx, [0x140458030]
mov ebx, eax
lea rcx, [0x14042aa38]
call fcn.1400f3d14
mov esi, 0x80004005
movzx eax, bx
or eax, 0x80070000
test ebx, ebx
cmovle eax, ebx
test eax, eax
cmovns eax, esi
mov esi, eax
mov ecx, eax
jmp 0x140058850
lea rax, [0x14000725c]
mov dword [rbp - 0x4d], 0x10000
mov qword [rbp - 0x31], rax
lea rdx, [rbp - 0x39]
lea rax, [rbp - 0x51]
mov qword [rbp + 0x1f], r15
mov qword [rbp - 0x29], rax
xor r9d, r9d
lea rax, [rbp - 1]
mov qword [rbp + 0x27], rbx
mov qword [rbp - 0x21], rax
mov ecx, 0xb9
lea rax, [rbp - 0x59]
mov qword [rbp - 0x39], 3
lea r8d, [r9 + 0x28]
mov qword [rbp - 0x19], rax
call sub.ntdll.dll_NtQuerySystemInformation
mov esi, dword [rbp - 0x51]
test esi, esi
js 0x14005884e
mov rbx, qword [rbp - 0x59]
mov rax, qword [rbx]
mov rsi, qword [rax + 0xa8]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rdx, qword [rbp + 0x6f]
lea r8, [rbp - 0x71]
mov rax, rsi
mov rcx, rbx
call rax
mov esi, eax
test eax, eax
js 0x1400586cb
mov edx, 1
lea r9, [rbp - 0x4d]
lea rcx, [rbp - 0x61]
lea r8d, [rdx + 3]
call fcn.14004f958
mov esi, eax
test eax, eax
js 0x1400586cb
mov edx, 2
lea rcx, [rbp - 0x61]
mov r9, rdi
lea r8d, [rdx + 0xe]
call fcn.14004f958
mov esi, eax
test eax, eax
js 0x1400586cb
mov rcx, qword [rbp - 0x71]
lea rdx, [rbp - 0x79]
mov r8d, 0x7fffffff
call fcn.140077c4c
mov esi, eax
test eax, eax
js 0x1400586cb
mov r9, qword [rbp - 0x71]
lea rcx, [rbp - 0x61]
mov r8d, dword [rbp - 0x79]
mov edx, 3
call fcn.14004f958
mov esi, eax
test eax, eax
js 0x1400586cb
mov r8, r13
lea rcx, [rbp - 0x61]
mov rdx, r12
call fcn.14004f8b4
mov esi, eax
test eax, eax
js 0x1400586cb
mov rbx, qword [r15 + 0x30]
test rbx, rbx
je 0x140058812
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [r15 + 0x38]
mov rax, rdi
xor edi, edi
mov qword [r15 + 0x30], rax
test rbx, rbx
je 0x140058838
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp - 0x71]
and qword [rbp - 0x71], rdi
mov qword [r15 + 0x38], rax
jmp 0x140058855
mov rdi, rsi
mov esi, 0x8007000e
mov ecx, esi
call fcn.14007ac40
mov rbx, qword [rbp + 0x6f]
cmp dword [0x140451890], 5
jbe 0x1400588d4
movabs rdx, 0x400000000000
test qword [0x1404518a0], rdx
je 0x1400588d4
mov rax, qword [0x1404518a8]
and rax, rdx
cmp rax, qword [0x1404518a8]
jne 0x1400588d4
mov rcx, qword [rbp - 0x49]
call fcn.140079a88
mov qword [rbp - 0x11], rax
lea rdx, [0x1404453da]
lea rax, [rbp - 0x11]
mov dword [rbp - 0x79], esi
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x79]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 9]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x41]
mov qword [rsp + 0x20], rax
mov qword [rbp - 9], rbx
mov qword [rbp - 0x41], 0x1000000
call fcn.14000133c
mov ecx, esi
call fcn.14007ace8
lea rdx, [0x14045bcc8]
lea rcx, [0x140430c38]
call fcn.1400f3d14
mov rbx, qword [rbp - 0x71]
test rbx, rbx
je 0x140058910
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
and qword [rbp - 0x71], 0
test rdi, rdi
je 0x14005894f
lea rdx, [0x140456d0c]
lea rcx, [0x14043c900]
call fcn.1400f3318
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rdx, [0x140459f7c]
lea rcx, [0x14043f36c]
call fcn.1400f4dac
mov rbx, qword [rbp - 0x61]
test rbx, rbx
je 0x140058986
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rax, qword [0x1403d25b8]
mov rcx, rdi
call rax
mov rax, rdi
mov rcx, rbx
call rax
lea rdx, [0x1404551dc]
lea rcx, [0x140431ce8]
call fcn.1400f39c8
and qword [rbp - 0x29], 0
lea rax, [0x14000349c]
mov qword [rbp - 0x31], rax
lea rdx, [0x140452998]
lea rax, [rbp - 1]
mov qword [rbp - 0x39], 3
lea rcx, [0x14042fbd0]
mov qword [rbp - 0x21], rax
call fcn.1400f3670
xor r9d, r9d
lea rdx, [rbp - 0x39]
mov ecx, 0xb9
lea r8d, [r9 + 0x28]
call sub.ntdll.dll_NtQuerySystemInformation
lea rdx, [0x14045761c]
lea rcx, [0x14042a098]
call fcn.1400f470c
mov rbx, qword [rbp - 0x59]
test rbx, rbx
je 0x140058a03
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
and qword [rbp - 0x59], 0
test r14, r14
je 0x140058a16
cmp dword [rbp - 0x69], 0
je 0x140058a16
mov rcx, r14
call fcn.1400734c0
lea r11, [rsp + 0xf0]
mov eax, esi
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret