Function at 0x1400be983
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1a8
cmp qword [rcx + 0x80], 0
jne 0x1400bf12b
mov ebp, edx
mov r15, rcx
xorps xmm0, xmm0
lea rcx, [rsp + 0x170]
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
call sub.kernel32.dll_GetSystemInfo
mov eax, 0x80000000
xor ecx, ecx
mov r8, rbx
cpuid
xchg rbx, r8
cmp eax, 0x80000004
mov byte [rsp + 0x2f], bpl
mov qword [rsp + 0xf8], r15
jb 0x1400beb49
mov esi, eax
mov ecx, 0x50
mov edx, 4
call fcn.1400430d0
test rax, rax
je 0x1400bf149
mov r8, rax
lea rax, [rsp + 0x40]
mov qword [rax], 5
mov qword [rax + 8], r8
mov qword [rax + 0x10], 0
mov ebp, 0x80000000
xor edi, edi
mov r13d, 0x80000000
cmp ebp, esi
adc r13d, 0
xor ecx, ecx
mov eax, ebp
mov rbx, rbx
cpuid
xchg rbx, rbx
mov r15d, ecx
mov r14d, edx
mov r12d, eax
cmp rdi, qword [rsp + 0x40]
jne 0x1400bea66
lea rcx, [rsp + 0x40]
mov rdx, rdi
call fcn.1400bdb46
mov r8, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
shl rdi, 4
mov dword [r8 + rdi], r12d
mov dword [r8 + rdi + 4], ebx
mov dword [r8 + rdi + 8], r15d
mov dword [r8 + rdi + 0xc], r14d
mov rdi, qword [rsp + 0x50]
inc rdi
mov qword [rsp + 0x50], rdi
cmp ebp, esi
jae 0x1400bea96
mov ebp, r13d
cmp r13d, esi
jbe 0x1400bea2d
mov ecx, 0x30
call fcn.1400c2e62
lea rsi, [rsp + 0x58]
mov qword [rsi], rax
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], 0
mov r14, qword [rsp + 0x48]
shl rdi, 4
add rdi, r14
mov ebx, 5
mov eax, 2
xor ecx, ecx
mov bpl, byte [rsp + 0x2f]
test cl, 1
je 0x1400beae9
test rbx, rbx
je 0x1400beb62
cmp r14, rdi
je 0x1400beb62
dec rbx
jmp 0x1400beb0d
cmp rbx, rax
jbe 0x1400beb62
mov rcx, rdi
sub rcx, r14
shr rcx, 4
cmp rcx, rax
jbe 0x1400beb62
mov rcx, rax
not rcx
add rbx, rcx
shl rax, 4
add r14, rax
lea r15, [r14 + 0x10]
mov edx, dword [r14]
mov rcx, rsi
call fcn.1400bf177
mov edx, dword [r14 + 4]
mov rcx, rsi
call fcn.1400bf177
mov edx, dword [r14 + 8]
mov rcx, rsi
call fcn.1400bf177
mov edx, dword [r14 + 0xc]
mov rcx, rsi
call fcn.1400bf177
mov cl, 1
xor eax, eax
mov r14, r15
jmp 0x1400bead1
mov eax, 1
mov qword [rsp + 0x38], rax
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x1400bec26
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x1400beb8f
xor ecx, ecx
cmp byte [rdx + rcx], 0
je 0x1400beb83
inc rcx
cmp r8, rcx
jne 0x1400beb73
jmp 0x1400beb8f
cmp r8, rcx
jb 0x1400bf163
mov r8, rcx
lea rsi, [rsp + 0x90]
mov rcx, rsi
call fcn.14004c5a0
cmp qword [rsi], 0
je 0x1400bebbb
mov eax, 1
mov qword [rsp + 0x38], rax
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x1400bebee
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov rcx, rdi
call fcn.1400c2e62
mov r12, rax
mov rcx, rdx
mov qword [rsp + 0x38], rdx
mov rdx, rsi
mov qword [rsp + 0x30], rdi
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
cmp qword [rsp + 0x58], 0
je 0x1400bec0a
mov r8, qword [rsp + 0x60]
mov rcx, qword [0x140154958]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x40], 0
je 0x1400bec26
mov r8, qword [rsp + 0x48]
mov rcx, qword [0x140154958]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
xor ecx, ecx
xor eax, eax
mov rsi, rbx
cpuid
xchg rbx, rsi
mov edi, edx
mov ebx, ecx
mov ecx, 0xc
call fcn.1400c2e62
lea r14, [rsp + 0x58]
mov qword [r14], rax
mov qword [r14 + 8], rdx
mov qword [r14 + 0x10], 0
mov rcx, r14
mov edx, esi
call fcn.1400bf177
mov rcx, r14
mov edx, edi
call fcn.1400bf177
mov rcx, r14
mov edx, ebx
call fcn.1400bf177
mov rdx, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
test r8, r8
je 0x1400bec9d
xor ecx, ecx
cmp byte [rdx + rcx], 0
je 0x1400bec91
inc rcx
cmp r8, rcx
jne 0x1400bec81
jmp 0x1400bec9d
cmp r8, rcx
jb 0x1400bf15a
mov r8, rcx
lea rsi, [rsp + 0x90]
mov rcx, rsi
call fcn.14004c5a0
cmp qword [rsi], 0
je 0x1400becdc
movzx eax, word [rsp + 0x170]
cmp rax, 0xe
ja 0x1400becee
lea rcx, [0x14013d660]
mov rdi, qword [rcx + rax*8]
lea rcx, [0x14013d6d8]
movsxd rsi, dword [rcx + rax*4]
add rsi, rcx
jmp 0x1400becfa
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
jmp 0x1400becfa
lea rsi, [0x14013d187]
mov edi, 7
mov rcx, rdi
call fcn.1400c2e62
mov qword [rsp + 0xc0], rax
mov rcx, rdx
mov qword [rsp + 0x70], rdx
mov rdx, rsi
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
cmp qword [rsp + 0x58], 0
je 0x1400bed39
mov r8, qword [rsp + 0x60]
mov rcx, qword [0x140154958]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov r14d, dword [rsp + 0x190]
test bpl, bpl
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xc8], rdi
je 0x1400bed73
lea rdi, [rsp + 0x118]
mov rcx, rdi
mov rdx, r14
call fcn.1400bf230
mov r13, qword [rdi + 8]
mov rsi, qword [rdi + 0x10]
jmp 0x1400bed9b
mov rcx, r14
mov dl, 1
call fcn.1400bd432
mov r13, rdx
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], r14
mov rsi, r14
inc r14
imul rdi, r14, 0x70
mov edx, 8
mov rcx, rdi
call fcn.1400430d0
test rax, rax
je 0x1400bf13f
mov rbx, rax
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 0
test rsi, rsi
je 0x1400bef89
shl rsi, 3
mov ebp, 1
xor r14d, r14d
lea rdi, [rsp + 0x90]
mov r15d, 1
mov qword [rsp + 0xd0], r15
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x58], rax
lea rax, [fcn.14004a9c0]
mov qword [rsp + 0x60], rax
lea rax, [0x14013d5e0]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0x90], 0
lea r12, [rsp + 0x58]
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xb8], rbp
lea rcx, [rsp + 0x40]
mov rdx, rdi
call fcn.1400439e0
mov rcx, r12
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0xc8]
call fcn.140043f30
mov rcx, rdi
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x30]
call fcn.140043f30
mov r12, qword [r13 + r15*8 - 8]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xd0], xmm0
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rsp + 0x150], xmm0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x160], rax
movups xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x130], xmm0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x140], rax
cmp r14, qword [rsp + 0x78]
jne 0x1400bef01
lea rcx, [rsp + 0x78]
mov rdx, r14
call fcn.1400bd982
mov rbx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
imul rax, r14, 0x70
mov qword [rbx + rax + 8], 0
mov qword [rbx + rax + 0x18], r12
mov rcx, qword [rsp + 0xe0]
mov qword [rbx + rax + 0x30], rcx
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rbx + rax + 0x20], xmm0
movaps xmm0, xmmword [rsp + 0x150]
movups xmmword [rbx + rax + 0x38], xmm0
mov rcx, qword [rsp + 0x160]
mov qword [rbx + rax + 0x48], rcx
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rbx + rax + 0x50], xmm0
mov rcx, qword [rsp + 0x140]
mov qword [rbx + rax + 0x60], rcx
mov dword [rbx + rax + 0x68], 0
mov r14, qword [rsp + 0x88]
inc r14
mov qword [rsp + 0x88], r14
inc r15
add rsi, 0xfffffffffffffff8
jne 0x1400bedf7
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x98], rax
cmp qword [rsp + 0x118], 0
je 0x1400befd3
mov rcx, qword [0x140154958]
xor edx, edx
mov r8, r13
call qword [sym.imp.kernel32.dll_HeapFree]
mov r15, qword [rsp + 0xf8]
lea rdi, [r15 + 0x70]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x110], rax
mov rbx, qword [r15 + 0x80]
test rbx, rbx
mov bpl, byte [rsp + 0x2f]
mov r12, qword [rsp + 0xf0]
je 0x1400bf089
mov rsi, qword [r15 + 0x78]
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsi + 0x20], 0
je 0x1400bf04a
mov r8, qword [rsi + 0x28]
mov rcx, qword [0x140154958]
xor edx, edx
call r14
mov rcx, rsi
call fcn.14004a380
cmp qword [rsi + 0x38], 0
je 0x1400bf069
mov r8, qword [rsi + 0x40]
mov rcx, qword [0x140154958]
xor edx, edx
call r14
cmp qword [rsi + 0x50], 0
je 0x1400bf080
mov r8, qword [rsi + 0x58]
mov rcx, qword [0x140154958]
xor edx, edx
call r14
add rsi, 0x70
dec rbx
jne 0x1400bf033
cmp qword [rdi], 0
je 0x1400bf0a2
mov r8, qword [r15 + 0x78]
mov rcx, qword [0x140154958]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x110]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x100]
movups xmmword [rdi], xmm0
cmp qword [r15 + 0x38], 0
je 0x1400bf0d3
mov r8, qword [r15 + 0x40]
mov rcx, qword [0x140154958]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0xc0]
mov qword [r15 + 0x38], rax
mov rax, qword [rsp + 0x70]
mov qword [r15 + 0x40], rax
mov rax, qword [rsp + 0xc8]
mov qword [r15 + 0x48], rax
cmp qword [r15 + 0x50], 0
je 0x1400bf10e
mov r8, qword [r15 + 0x58]
mov rcx, qword [0x140154958]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [r15 + 0x50], r12
mov rax, qword [rsp + 0x38]
mov qword [r15 + 0x58], rax
mov rax, qword [rsp + 0x30]
mov qword [r15 + 0x60], rax
mov byte [r15 + 0x88], bpl
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 8
mov rcx, rdi
jmp 0x1400bf153
mov ecx, 0x50
mov edx, 4
call fcn.14010bac0
ud2
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.27.8_srcwindowscpu.rsunknownIntel_Itanium_based_x86ARMARM_x64_Intel_or_AMD__x64MSILRISC_Alpha_x64Intel_Itanium_based_x64SHXPPCRISC_AlphaMIPSIntel_x86
jmp 0x1400bf16a
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.27.8_srcwindowscpu.rsunknownIntel_Itanium_based_x86ARMARM_x64_Intel_or_AMD__x64MSILRISC_Alpha_x64Intel_Itanium_based_x64SHXPPCRISC_AlphaMIPSIntel_x86
mov rdx, r8
mov r8, rax
call fcn.14010bf40
ud2