Function at 0x140044560
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, 0x178
cmp qword [rcx + 0x80], 0
jne 0x140044b7e
mov rbx, rcx
mov byte [rsp + 0x2f], dl
xorps xmm0, xmm0
lea rcx, [rsp + 0x140]
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, 0x80000003
mov qword [rsp + 0x60], rbx
jbe 0x140044667
mov esi, eax
mov ecx, 4
mov edx, 0x50
call fcn.14000c9c0
test rax, rax
je 0x140044b9f
mov r8, rax
lea rax, [rsp + 0x30]
mov qword [rax], 5
mov qword [rax + 8], r8
mov eax, 0x80000000
xor edi, edi
xor r12d, r12d
mov qword [rsp + 0x40], rdi
test r12b, 1
jne 0x140044681
cmp eax, esi
ja 0x140044681
setae r12b
mov r13d, eax
adc r13d, 0
xor ecx, ecx
mov rbx, rbx
cpuid
xchg rbx, rbx
mov ebp, ecx
mov r14d, edx
mov r15d, eax
cmp rdi, qword [rsp + 0x30]
jne 0x140044643
lea rcx, [rsp + 0x30]
mov rdx, rdi
call fcn.140040012
mov r8, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
shl rdi, 4
mov dword [r8 + rdi], r15d
mov dword [r8 + rdi + 4], ebx
mov dword [r8 + rdi + 8], ebp
mov dword [r8 + rdi + 0xc], r14d
mov rdi, qword [rsp + 0x40]
inc rdi
mov eax, r13d
jmp 0x1400445f9
and qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 1
and qword [rsp + 0x58], 0
jmp 0x1400447d9
lea rbx, [rsp + 0xa0]
mov edx, 0x30
mov rcx, rbx
call fcn.14004452c
mov rsi, qword [rsp + 0x38]
shl rdi, 4
add rdi, rsi
mov eax, 2
mov r14d, 5
xor ecx, ecx
mov r15, rsi
test cl, 1
je 0x1400446c6
test r14, r14
je 0x140044726
cmp r15, rdi
je 0x140044726
dec r14
jmp 0x1400446ea
cmp r14, rax
jbe 0x140044726
mov rcx, rdi
sub rcx, r15
shr rcx, 4
cmp rcx, rax
jbe 0x140044726
mov rcx, rax
not rcx
add r14, rcx
shl rax, 4
add r15, rax
lea r12, [r15 + 0x10]
mov edx, dword [r15]
mov rcx, rbx
call fcn.140044baf
mov edx, dword [r15 + 4]
mov rcx, rbx
call fcn.140044baf
mov edx, dword [r15 + 8]
mov rcx, rbx
call fcn.140044baf
mov edx, dword [r15 + 0xc]
mov rcx, rbx
call fcn.140044baf
mov cl, 1
mov r15, r12
xor eax, eax
jmp 0x1400446b2
mov rdi, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
xor r8d, r8d
cmp rdx, r8
je 0x14004474a
cmp byte [rdi + r8], 0
je 0x14004474d
inc r8
jmp 0x140044739
mov r8, rdx
lea r9, str._usr_local_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.140044bf4
mov r8, rdx
lea rbx, [rsp + 0xf8]
mov rcx, rbx
mov rdx, rax
call fcn.140005450
cmp qword [rbx], 0
je 0x14004478f
and qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 1
and qword [rsp + 0x58], 0
jmp 0x1400447a9
mov rdx, qword [rsp + 0x100]
mov r8, qword [rsp + 0x108]
lea rcx, [rsp + 0x48]
call fcn.140044dd4
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xa0]
mov rdx, rdi
call fcn.14000cd3f
mov r8, qword [rsp + 0x30]
test r8, r8
je 0x1400447d9
shl r8, 4
mov edx, 4
mov rcx, rsi
call fcn.1400015a2
lea rax, [rbx + 0x70]
mov qword [rsp + 0xe0], rax
xor edi, edi
xor eax, eax
xor ecx, ecx
mov rsi, rbx
cpuid
xchg rbx, rsi
mov ebx, edx
mov ebp, ecx
lea r14, [rsp + 0x30]
mov edx, 0xc
mov rcx, r14
call fcn.14004452c
mov rcx, r14
mov edx, esi
call fcn.140044baf
mov rcx, r14
mov edx, ebx
call fcn.140044baf
mov rcx, r14
mov edx, ebp
call fcn.140044baf
mov rsi, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
cmp rdx, rdi
je 0x14004483f
cmp byte [rsi + rdi], 0
je 0x140044842
inc rdi
jmp 0x14004482f
mov rdi, rdx
lea r9, str._usr_local_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, rsi
mov r8, rdi
call fcn.140044bf4
mov r8, rdx
lea rdi, [rsp + 0xf8]
mov rcx, rdi
mov rdx, rax
call fcn.140005450
cmp qword [rdi], 0
je 0x140044896
movzx eax, word [rsp + 0x140]
cmp rax, 0xe
ja 0x1400448a8
lea rcx, [0x140053588]
mov r8, qword [rcx + rax*8]
lea rcx, [0x140053600]
mov rdx, qword [rcx + rax*8]
jmp 0x1400448b5
mov rdx, qword [rsp + 0x100]
mov r8, qword [rsp + 0x108]
jmp 0x1400448b5
lea rdx, [0x140052f30]
mov r8d, 7
lea rcx, [rsp + 0xa0]
call fcn.140044dd4
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x30]
mov rdx, rsi
call fcn.14000cd3f
mov esi, dword [rsp + 0x160]
cmp byte [rsp + 0x2f], 0
je 0x14004493a
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.140044c14
jmp 0x140044947
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.14003fd03
inc rsi
imul rdi, rsi, 0x70
mov ecx, 8
mov rdx, rdi
call fcn.14000c9c0
test rax, rax
je 0x140044b92
mov r14, rax
lea rax, [rsp + 0x88]
mov qword [rax], rsi
mov qword [rax + 8], r14
and qword [rax + 0x10], 0
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0xe8], rax
mov r12, qword [rsp + 0x40]
shl r12, 3
mov r13d, 1
xor esi, esi
lea rbx, [rsp + 0xf8]
mov ebp, 1
test r12, r12
je 0x140044ac9
mov qword [rsp + 0xf0], rbp
lea rax, str.CPU
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], r13
and qword [rsp + 0xc0], 0
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x48], rax
lea rax, [fcn.140003f40]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], r13
mov rcx, rbx
lea rdx, [rsp + 0xa0]
call fcn.14003b518
lea rcx, [rsp + 0x110]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
call fcn.140003de0
lea rcx, [rsp + 0x128]
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
call fcn.140003de0
mov rax, qword [rsp + 0xe8]
mov r15, qword [rax + rbp*8 - 8]
cmp rsi, qword [rsp + 0x88]
jne 0x140044a7d
lea rcx, [rsp + 0x88]
mov rdx, rsi
call fcn.14003fdf2
mov r14, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
imul rax, rsi, 0x70
lea rdi, [r14 + rax]
mov ecx, 9
mov rsi, rbx
rep movsq qword [rdi], qword [rsi]
movabs rcx, 0x8000000000000000
mov qword [r14 + rax + 0x48], rcx
mov qword [r14 + rax + 0x60], r15
and dword [r14 + rax + 0x68], 0
mov rsi, qword [rsp + 0x98]
inc rsi
mov qword [rsp + 0x98], rsi
inc rbp
add r12, 0xfffffffffffffff8
jmp 0x1400449a6
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.14003fb0e
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rsi
call fcn.140040190
mov rcx, qword [rdi + 0x70]
mov rdx, rsi
call fcn.140040245
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xe0]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [rcx], xmm0
mov rcx, qword [rdi + 0x18]
mov rdx, qword [rdi + 0x20]
call fcn.14000cd3f
mov rax, qword [rsp + 0xd0]
mov qword [rdi + 0x18], rax
mov rax, qword [rsp + 0x70]
mov qword [rdi + 0x20], rax
mov rax, qword [rsp + 0x68]
mov qword [rdi + 0x28], rax
mov rcx, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x38]
call fcn.14000cd3f
mov rax, qword [rsp + 0xd8]
mov qword [rdi + 0x30], rax
mov rax, qword [rsp + 0x80]
mov qword [rdi + 0x38], rax
mov rax, qword [rsp + 0x78]
mov qword [rdi + 0x40], rax
mov al, byte [rsp + 0x2f]
mov byte [rdi + 0x88], al
add rsp, 0x178
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.140003380
mov ecx, 4
mov edx, 0x50
call fcn.140003380
int3