Function at 0x140048be1
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 0x140049295
mov r15d, edx
mov rsi, 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], r15b
mov qword [rsp + 0x60], rsi
jb 0x140048d02
mov dword [rsp + 0x30], eax
mov ecx, 4
mov edx, 0x50
call fcn.14000d470
test rax, rax
je 0x1400492b3
mov rdi, rax
lea rax, [rsp + 0x40]
mov qword [rax], rdi
mov qword [rax + 8], 5
mov bpl, 1
mov r15d, 0x80000000
xor ebx, ebx
mov r8d, dword [rsp + 0x30]
mov qword [rsp + 0x50], rbx
test bpl, 1
je 0x140048d1f
cmp r15d, r8d
ja 0x140048d1f
setb bpl
mov eax, r15d
xor ecx, ecx
mov rsi, rbx
cpuid
xchg rbx, rsi
mov r13d, ecx
mov r12d, edx
mov r14d, eax
cmp rbx, qword [rsp + 0x48]
jne 0x140048cdb
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.140044749
mov r8d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
movzx eax, bpl
add r15d, eax
shl rbx, 4
mov dword [rdi + rbx], r14d
mov dword [rdi + rbx + 4], esi
mov dword [rdi + rbx + 8], r13d
mov dword [rdi + rbx + 0xc], r12d
mov rbx, qword [rsp + 0x50]
inc rbx
jmp 0x140048c86
mov eax, 1
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x140048ea8
xor r12d, r12d
mov ecx, 0x30
xor edx, edx
call fcn.14000ee6a
lea r14, [rsp + 0x98]
mov qword [r14], rax
mov qword [r14 + 8], rdx
and qword [r14 + 0x10], 0
shl rbx, 4
add rbx, rdi
mov eax, 2
mov r15d, 5
test r12b, 1
je 0x140048d69
test r15, r15
je 0x140048dc6
cmp rdi, rbx
je 0x140048dc6
dec r15
jmp 0x140048d8d
cmp r15, rax
jbe 0x140048dc6
mov rcx, rbx
sub rcx, rdi
shr rcx, 4
cmp rcx, rax
jbe 0x140048dc6
mov rcx, rax
not rcx
add r15, rcx
shl rax, 4
add rdi, rax
lea rsi, [rdi + 0x10]
mov edx, dword [rdi]
mov rcx, r14
call fcn.1400492c4
mov edx, dword [rdi + 4]
mov rcx, r14
call fcn.1400492c4
mov edx, dword [rdi + 8]
mov rcx, r14
call fcn.1400492c4
mov edx, dword [rdi + 0xc]
mov rcx, r14
call fcn.1400492c4
mov r12b, 1
mov rdi, rsi
xor eax, eax
jmp 0x140048d54
mov rdi, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa8]
xor r8d, r8d
mov r15b, byte [rsp + 0x2f]
cmp rdx, r8
je 0x140048def
cmp byte [rdi + r8], 0
je 0x140048df2
inc r8
jmp 0x140048dde
mov r8, rdx
lea r9, str.C:Usersz0x.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.28.4_srcwindowscpu.rsTotal_CPUIntel_x86MIPSRISC_AlphaPPCSHXARMIntel_Itanium_based_x64RISC_Alpha_x64MSIL_Intel_or_AMD__x64Intel_Itanium_based_x86unknownARM_x64_f_
mov rcx, rdi
call fcn.140049309
mov r8, rdx
lea rbx, [rsp + 0x110]
mov rcx, rbx
mov rdx, rax
call fcn.140005d00
cmp qword [rbx], 0
je 0x140048e37
mov eax, 1
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x140048e76
mov rdi, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x120]
mov rcx, rsi
xor edx, edx
call fcn.14000ee6a
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x38], rax
mov rcx, rax
mov rdx, rdi
mov qword [rsp + 0x30], rsi
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xa0]
mov rcx, rdi
call fcn.14000d7dc
mov r8, qword [rsp + 0x48]
test r8, r8
je 0x140048ea8
shl r8, 4
mov rcx, qword [rsp + 0x40]
mov edx, 4
call fcn.1400015d3
lea rax, [rsi + 0x70]
mov qword [rsp + 0xc8], rax
xor ecx, ecx
xor eax, eax
mov rdi, rbx
cpuid
xchg rbx, rdi
mov ebx, edx
mov ebp, ecx
mov ecx, 0xc
xor edx, edx
call fcn.14000ee6a
lea r14, [rsp + 0x98]
mov qword [r14], rax
mov qword [r14 + 8], rdx
and qword [r14 + 0x10], 0
mov rcx, r14
mov edx, edi
call fcn.1400492c4
mov rcx, r14
mov edx, ebx
call fcn.1400492c4
mov rcx, r14
mov edx, ebp
call fcn.1400492c4
mov rcx, qword [r14]
mov rdx, qword [r14 + 0x10]
xor r8d, r8d
cmp rdx, r8
je 0x140048f1d
cmp byte [rcx + r8], 0
je 0x140048f20
inc r8
jmp 0x140048f0c
mov r8, rdx
lea r9, str.C:Usersz0x.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.28.4_srcwindowscpu.rsTotal_CPUIntel_x86MIPSRISC_AlphaPPCSHXARMIntel_Itanium_based_x64RISC_Alpha_x64MSIL_Intel_or_AMD__x64Intel_Itanium_based_x86unknownARM_x64_f_
call fcn.140049309
mov r8, rdx
lea rsi, [rsp + 0x110]
mov rcx, rsi
mov rdx, rax
call fcn.140005d00
cmp qword [rsi], 0
je 0x140048f6f
movsx rax, word [rsp + 0x170]
cmp rax, 0xe
ja 0x140048f81
lea rcx, [0x1400565b8]
mov rbp, qword [rcx + rax*8]
lea rcx, [0x140056630]
mov rsi, qword [rcx + rax*8]
jmp 0x140048f8d
mov rsi, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x120]
jmp 0x140048f8d
lea rsi, [0x140055fea]
mov ebp, 7
mov rcx, rbp
xor edx, edx
call fcn.14000ee6a
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rax
mov rcx, rax
mov rdx, rsi
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
call fcn.14000d7dc
mov esi, dword [rsp + 0x190]
test r15b, r15b
je 0x140048ff1
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov rdx, rsi
call fcn.14004932a
mov rax, qword [rdi]
mov qword [rsp + 0x78], rax
mov r15, qword [rdi + 0x10]
jmp 0x14004901b
mov rcx, rsi
mov dl, 1
call fcn.14004419d
mov qword [rsp + 0x78], rax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], rsi
mov r15, rsi
inc rsi
imul rdi, rsi, 0x70
mov ecx, 8
mov rdx, rdi
call fcn.14000d470
test rax, rax
je 0x1400492a9
mov r14, rax
lea rax, [rsp + 0x80]
mov qword [rax], r14
mov qword [rax + 8], rsi
and qword [rax + 0x10], 0
lea r13, [rsp + 0x128]
shl r15, 3
xor esi, esi
mov ebx, 1
test r15, r15
je 0x1400491c8
mov qword [rsp + 0xe8], rbx
lea rax, str.CPU
mov qword [rsp + 0x98], rax
mov eax, 1
mov qword [rsp + 0xa0], rax
and qword [rsp + 0xb8], 0
lea rcx, [rsp + 0xe8]
mov qword [rsp + 0x40], rcx
lea rcx, [fcn.1400048e0]
mov qword [rsp + 0x48], rcx
lea rdi, [rsp + 0x40]
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0x158]
lea r12, [rsp + 0x98]
mov rdx, r12
call fcn.14003fe40
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rbp
call fcn.140004590
mov rcx, r12
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x30]
call fcn.140004590
mov rax, qword [rsp + 0x78]
mov r12, qword [rax + rbx*8 - 8]
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x120], rax
movups xmm0, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x110], xmm0
mov rax, qword [rsp + 0x50]
mov qword [r13 + 0x10], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r13], xmm0
mov rax, qword [rsp + 0xa8]
mov qword [r13 + 0x28], rax
movups xmm0, xmmword [rsp + 0x98]
movups xmmword [r13 + 0x18], xmm0
cmp rsi, qword [rsp + 0x88]
jne 0x140049180
lea rcx, [rsp + 0x80]
mov rdx, rsi
call fcn.140044696
mov r14, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x90]
imul rax, rsi, 0x70
lea rdi, [r14 + rax]
mov ecx, 9
lea rsi, [rsp + 0x110]
rep movsq qword [rdi], qword [rsi]
and qword [r14 + rax + 0x48], 0
mov qword [r14 + rax + 0x60], r12
and dword [r14 + rax + 0x68], 0
mov rsi, qword [rsp + 0x90]
inc rsi
mov qword [rsp + 0x90], rsi
inc rbx
add r15, 0xfffffffffffffff8
jmp 0x140049062
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0xf0], xmm0
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
call fcn.140044291
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rdi + 0x70]
mov rdx, qword [rdi + 0x80]
mov rcx, rsi
call fcn.14004490d
mov rdx, qword [rdi + 0x78]
mov rcx, rsi
call fcn.140044963
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xc8]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rcx], xmm0
mov rcx, qword [rdi + 0x18]
mov rdx, qword [rdi + 0x20]
call fcn.14000d7dc
mov rax, qword [rsp + 0x68]
mov qword [rdi + 0x18], rax
mov rax, qword [rsp + 0x70]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rbp
mov rcx, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x38]
call fcn.14000d7dc
mov rax, qword [rsp + 0x38]
mov qword [rdi + 0x30], rax
mov rax, qword [rsp + 0x58]
mov qword [rdi + 0x38], rax
mov rax, qword [rsp + 0x30]
mov qword [rdi + 0x40], rax
mov al, byte [rsp + 0x2f]
mov byte [rdi + 0x88], al
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 8
mov rdx, rdi
jmp 0x1400492bd
mov ecx, 4
mov edx, 0x50
call fcn.140003aa0
ud2