Function at 0x1400cc9a0
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 0x1400cd048
mov r12, rcx
mov byte [rsp + 0x27], dl
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
xor ecx, ecx
mov eax, 0x80000000
mov r8, rbx
cpuid
xchg rbx, r8
cmp eax, 0x80000003
mov qword [rsp + 0x98], r12
jbe 0x1400ccaaa
mov esi, eax
mov ecx, 4
mov edx, 0x50
call fcn.1400c23bf
test rax, rax
je 0x1400cd06b
mov r8, rax
lea rax, [rsp + 0x30]
mov qword [rax], r8
mov qword [rax + 8], 5
mov eax, 0x80000000
xor edi, edi
xor r12d, r12d
mov qword [rsp + 0x40], rdi
test r12b, 1
jne 0x1400ccabf
cmp eax, esi
ja 0x1400ccabf
setae r12b
mov r13d, eax
adc r13d, 0
xor ecx, ecx
mov rbx, rbx
cpuid
xchg rbx, rbx
mov r14d, ecx
mov ebp, edx
mov r15d, eax
cmp rdi, qword [rsp + 0x38]
jne 0x1400cca86
lea rcx, [rsp + 0x30]
mov rdx, rdi
call fcn.1400c7ee4
mov r8, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
shl rdi, 4
mov dword [r8 + rdi], r15d
mov dword [r8 + rdi + 4], ebx
mov dword [r8 + rdi + 8], r14d
mov dword [r8 + rdi + 0xc], ebp
mov rdi, qword [rsp + 0x40]
inc rdi
mov eax, r13d
jmp 0x1400cca3c
mov eax, 1
mov qword [rsp + 0x28], rax
xor r13d, r13d
xor r15d, r15d
jmp 0x1400ccc30
mov ecx, 0x30
xor edx, edx
call fcn.14003b781
lea rsi, [rsp + 0x58]
mov qword [rsi], rax
mov qword [rsi + 8], rdx
and qword [rsi + 0x10], 0
mov r14, qword [rsp + 0x30]
shl rdi, 4
add rdi, r14
mov eax, 2
mov ebx, 5
xor r12d, r12d
mov r15, r14
test r12b, 1
je 0x1400ccb15
test rbx, rbx
mov r12, qword [rsp + 0x98]
je 0x1400ccb7e
cmp r15, rdi
je 0x1400ccb7e
dec rbx
jmp 0x1400ccb41
cmp rbx, rax
mov r12, qword [rsp + 0x98]
jbe 0x1400ccb7e
mov rcx, rdi
sub rcx, r15
shr rcx, 4
cmp rcx, rax
jbe 0x1400ccb7e
mov rcx, rax
not rcx
add rbx, rcx
shl rax, 4
add r15, rax
mov edx, dword [r15]
mov rcx, rsi
call fcn.1400cd1a8
mov edx, dword [r15 + 4]
mov rcx, rsi
call fcn.1400cd1a8
mov edx, dword [r15 + 8]
mov rcx, rsi
call fcn.1400cd1a8
mov edx, dword [r15 + 0xc]
add r15, 0x10
mov r12b, 1
mov rcx, rsi
call fcn.1400cd1a8
xor eax, eax
jmp 0x1400ccaf8
mov rdi, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
cmp rdx, r8
je 0x1400ccb9c
cmp byte [rdi + r8], 0
je 0x1400ccb9f
inc r8
jmp 0x1400ccb8b
mov r8, rdx
lea r9, str._home_affix_.cargo_registry_src_index.crates.io_6f17d22bba15001f_sysinfo_0.29.11_src_windows_cpu.rsTotal_CPUIntel_x86MIPSRISC_AlphaPPCSHXARMIntel_Itanium_based_x64RISC_Alpha_x64MSIL_Intel_or_AMD__x64Intel_Itanium_based_x86unknownARM_x64_
mov rcx, rdi
call fcn.1400cd1ed
mov r8, rdx
lea rsi, [rsp + 0xf0]
mov rcx, rsi
mov rdx, rax
call fcn.14000b750
cmp qword [rsi], 0
je 0x1400ccbdc
mov eax, 1
mov qword [rsp + 0x28], rax
xor r13d, r13d
xor r15d, r15d
jmp 0x1400ccc16
mov rsi, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x100]
mov rcx, r13
xor edx, edx
call fcn.14003b781
mov r15, rdx
mov qword [rsp + 0x28], rax
mov rcx, rax
mov rdx, rsi
mov r8, r13
call sub.msvcrt.dll_memcpy
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x60]
mov rcx, rdi
call fcn.1400d71d3
mov rdx, qword [rsp + 0x38]
mov rcx, r14
call fcn.1400c82fa
xor eax, eax
xor ecx, ecx
mov rbx, rbx
cpuid
xchg rbx, rbx
mov edi, edx
mov esi, ecx
mov ecx, 0xc
xor edx, edx
call fcn.14003b781
lea rcx, [rsp + 0x58]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
and qword [rcx + 0x10], 0
mov edx, ebx
call fcn.1400cd1a8
lea rcx, [rsp + 0x58]
mov edx, edi
call fcn.1400cd1a8
lea rcx, [rsp + 0x58]
mov edx, esi
call fcn.1400cd1a8
lea rbx, [r12 + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
cmp rdx, r8
je 0x1400ccc9f
cmp byte [rcx + r8], 0
je 0x1400ccca2
inc r8
jmp 0x1400ccc8e
mov r8, rdx
lea r9, str._home_affix_.cargo_registry_src_index.crates.io_6f17d22bba15001f_sysinfo_0.29.11_src_windows_cpu.rsTotal_CPUIntel_x86MIPSRISC_AlphaPPCSHXARMIntel_Itanium_based_x64RISC_Alpha_x64MSIL_Intel_or_AMD__x64Intel_Itanium_based_x86unknownARM_x64_
call fcn.1400cd1ed
mov r8, rdx
lea rsi, [rsp + 0xf0]
mov rcx, rsi
mov rdx, rax
call fcn.14000b750
cmp qword [rsi], 0
je 0x1400cccf1
movsx rax, word [rsp + 0x170]
cmp rax, 0xe
ja 0x1400ccd0d
lea rcx, [0x1401464e0]
mov r14, qword [rcx + rax*8]
lea rcx, [0x140146558]
mov rsi, qword [rcx + rax*8]
jmp 0x1400ccd1a
mov rsi, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x100]
mov rcx, r14
xor edx, edx
call fcn.14003b781
jmp 0x1400ccd24
lea rsi, [0x14011e70a]
mov r14d, 7
mov rcx, r14
xor edx, edx
call fcn.14003b781
mov rdi, rdx
mov qword [rsp + 0x48], rax
mov rcx, rax
mov rdx, rsi
mov r8, r14
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
call fcn.1400d71d3
mov esi, dword [rsp + 0x190]
cmp byte [rsp + 0x27], 0
mov qword [rsp + 0x90], r15
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x88], rdi
je 0x1400ccd81
lea rcx, [rsp + 0xb0]
mov rdx, rsi
call fcn.1400cd20e
jmp 0x1400ccda3
mov rcx, rsi
mov dl, 1
call fcn.1400c7a81
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xa8], r14
mov qword [rsp + 0xe0], rbx
inc rsi
imul rdi, rsi, 0x70
mov ecx, 8
mov rdx, rdi
call fcn.1400c23bf
test rax, rax
je 0x1400cd05c
mov r15, rax
lea rax, [rsp + 0xc8]
mov qword [rax], r15
mov qword [rax + 8], rsi
and qword [rax + 0x10], 0
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x50], rax
mov rsi, qword [rsp + 0xc0]
shl rsi, 3
xor edi, edi
lea rdx, [rsp + 0x30]
mov ebp, 1
test rsi, rsi
je 0x1400ccf81
mov r12, rbp
mov qword [rsp + 0xe8], rbp
lea rax, str.CPU
mov qword [rsp + 0x58], rax
mov eax, 1
mov qword [rsp + 0x60], rax
and qword [rsp + 0x78], 0
lea rcx, [rsp + 0xe8]
mov qword [rsp + 0x160], rcx
lea rcx, [fcn.14000a0e0]
mov qword [rsp + 0x168], rcx
lea rcx, [rsp + 0x160]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rcx, rdx
mov rbp, rdx
lea rdx, [rsp + 0x58]
call fcn.1400c40c3
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rcx, rbp
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0xa8]
call fcn.140007780
lea rcx, [rsp + 0x58]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0xa0]
call fcn.140007780
mov rbp, r12
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + r12*8 - 8]
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], r13
mov qword [rsp + 0x100], rbx
and dword [rsp + 0x158], 0
and qword [rsp + 0x138], 0
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x108]
mov qword [rdx + 0x10], rcx
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdx], xmm0
mov rcx, qword [rsp + 0x68]
mov qword [rdx + 0x28], rcx
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rdx + 0x18], xmm0
mov qword [rsp + 0x150], rax
cmp rdi, qword [rsp + 0xd0]
jne 0x1400ccf4b
lea rcx, [rsp + 0xc8]
mov rdx, rdi
call fcn.1400c7cce
mov r15, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd8]
imul rcx, rdi, 0x70
add rcx, r15
mov r8d, 0x70
lea rdx, [rsp + 0xf0]
call sub.msvcrt.dll_memmove
inc rdi
mov qword [rsp + 0xd8], rdi
inc rbp
add rsi, 0xfffffffffffffff8
lea rdx, [rsp + 0x30]
jmp 0x1400cce0c
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0xc8]
movaps xmmword [rsp + 0xf0], xmm0
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x50]
call fcn.1400ceedb
mov rdi, qword [rsp + 0xe0]
mov rcx, rdi
call fcn.1400019dc
mov rax, qword [rsp + 0x100]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rdi], xmm0
mov rsi, qword [rsp + 0x98]
mov rcx, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x20]
call fcn.1400d71d3
mov rax, qword [rsp + 0x48]
mov qword [rsi + 0x18], rax
mov rax, qword [rsp + 0x88]
mov qword [rsi + 0x20], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsi + 0x28], rax
mov rcx, qword [rsi + 0x30]
mov rdx, qword [rsi + 0x38]
call fcn.1400d71d3
mov rax, qword [rsp + 0x28]
mov qword [rsi + 0x30], rax
mov rax, qword [rsp + 0x90]
mov qword [rsi + 0x38], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 0x40], rax
mov al, byte [rsp + 0x27]
mov byte [rsi + 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
call fcn.140006b60
ud2
mov ecx, 4
mov edx, 0x50
call fcn.140006b60
ud2