Function at 0x14005dff8
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, 0x218
cmp qword [rcx + 0x80], 0
jne 0x14005e70d
mov qword [rsp + 0x30], rcx
mov byte [rsp + 0x2f], dl
xorps xmm0, xmm0
lea rcx, [rsp + 0x1e0]
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
call sub.KERNEL32.dll_GetSystemInfo
mov edi, 0x80000000
xor esi, esi
xor ecx, ecx
mov eax, 0x80000000
mov r8, rbx
cpuid
xchg rbx, r8
cmp eax, 0x80000004
jb 0x14005e0ea
mov ebx, eax
mov ecx, 5
xor edx, edx
call fcn.14005a431
lea rcx, [rsp + 0x38]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov r13b, 1
xor eax, eax
mov qword [rsp + 0x48], rax
test r13b, 1
je 0x14005e100
cmp edi, ebx
ja 0x14005e100
setb r13b
xor ecx, ecx
mov eax, edi
mov r14, rbx
cpuid
xchg rbx, r14
mov r12d, eax
mov r15d, ecx
mov ebp, edx
mov rdx, qword [rsp + 0x48]
cmp rdx, qword [rsp + 0x38]
jne 0x14005e0bf
lea rcx, [rsp + 0x38]
call fcn.14005ac9f
mov rdx, qword [rsp + 0x48]
movzx eax, r13b
add edi, eax
mov rax, qword [rsp + 0x40]
shl rdx, 4
mov dword [rax + rdx], r12d
mov dword [rax + rdx + 4], r14d
mov dword [rax + rdx + 8], r15d
mov dword [rax + rdx + 0xc], ebp
mov rax, qword [rsp + 0x48]
inc rax
jmp 0x14005e07d
mov r15d, 1
xor r14d, r14d
xor r12d, r12d
mov rdi, qword [rsp + 0x30]
jmp 0x14005e266
xor r12d, r12d
mov ecx, 0x30
xor edx, edx
call fcn.14003443b
lea rdi, [rsp + 0x50]
mov qword [rdi], rax
mov qword [rdi + 8], rdx
and qword [rdi + 0x10], 0
mov r15, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
shl rbx, 4
add rbx, r15
mov r14d, 5
mov eax, 2
test r12b, 1
je 0x14005e151
test r14, r14
je 0x14005e1b2
cmp r15, rbx
je 0x14005e1b2
dec r14
jmp 0x14005e175
cmp r14, rax
jbe 0x14005e1b2
mov rcx, rbx
sub rcx, r15
shr rcx, 4
cmp rcx, rax
jbe 0x14005e1b2
mov rcx, rax
not rcx
add r14, rcx
shl rax, 4
add r15, rax
lea r13, [r15 + 0x10]
mov edx, dword [r15]
mov rcx, rdi
call fcn.14005e75f
mov edx, dword [r15 + 4]
mov rcx, rdi
call fcn.14005e75f
mov edx, dword [r15 + 8]
mov rcx, rdi
call fcn.14005e75f
mov edx, dword [r15 + 0xc]
mov rcx, rdi
call fcn.14005e75f
mov r12b, 1
xor eax, eax
mov r15, r13
jmp 0x14005e13c
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
cmp rdx, rcx
je 0x14005e1e4
cmp byte [rax + rcx], 0
je 0x14005e1e1
inc rcx
jne 0x14005e1be
lea rcx, str.attempt_to_add_with_overflow
lea r8, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.29.0_srcwindowscpu.rsunknownIntel_Itanium_based_x86ARMARM_x64_Intel_or_AMD__x64MSILRISC_Alpha_x64Intel_Itanium_based_x64SHXPPCRISC_AlphaMIPSIntel_x86
jmp 0x14005e2e4
mov rdx, rcx
lea r8, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.29.0_srcwindowscpu.rsunknownIntel_Itanium_based_x86ARMARM_x64_Intel_or_AMD__x64MSILRISC_Alpha_x64Intel_Itanium_based_x64SHXPPCRISC_AlphaMIPSIntel_x86
lea rcx, [rsp + 0x50]
call fcn.14005b955
mov r8, rdx
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rax
call fcn.14002cf60
cmp qword [rdi], 0
je 0x14005e21f
mov r15d, 1
xor r14d, r14d
xor r12d, r12d
jmp 0x14005e24d
mov rdi, qword [rsp + 0x88]
mov r14, qword [rsp + 0x90]
mov rcx, r14
xor edx, edx
call fcn.14003443b
mov r12, rax
mov r15, rdx
mov rcx, rdx
mov rdx, rdi
mov r8, r14
call fcn.140063aa0
mov rdi, qword [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.1400041c4
lea rcx, [rsp + 0x38]
call fcn.14005b851
lea rax, [rdi + 0x70]
mov qword [rsp + 0xf0], rax
xor eax, eax
xor ecx, ecx
mov rdi, rbx
cpuid
xchg rbx, rdi
mov ebx, edx
mov ebp, ecx
mov ecx, 0xc
xor edx, edx
call fcn.14003443b
lea r13, [rsp + 0x50]
mov qword [r13], rax
mov qword [r13 + 8], rdx
and qword [r13 + 0x10], 0
mov rcx, r13
mov edx, edi
call fcn.14005e75f
mov rcx, r13
mov edx, ebx
call fcn.14005e75f
mov rcx, r13
mov edx, ebp
call fcn.14005e75f
mov rax, qword [r13 + 8]
mov rdx, qword [r13 + 0x10]
cmp rdx, rsi
je 0x14005e2f3
cmp byte [rax + rsi], 0
je 0x14005e2f0
inc rsi
jne 0x14005e2c6
lea rcx, str.attempt_to_add_with_overflow
lea r8, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.29.0_srcwindowscpu.rsunknownIntel_Itanium_based_x86ARMARM_x64_Intel_or_AMD__x64MSILRISC_Alpha_x64Intel_Itanium_based_x64SHXPPCRISC_AlphaMIPSIntel_x86
mov edx, 0x1c
call fcn.140071a80
ud2
mov rdx, rsi
lea r8, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.29.0_srcwindowscpu.rsunknownIntel_Itanium_based_x86ARMARM_x64_Intel_or_AMD__x64MSILRISC_Alpha_x64Intel_Itanium_based_x64SHXPPCRISC_AlphaMIPSIntel_x86
lea rcx, [rsp + 0x50]
call fcn.14005b955
mov r8, rdx
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rax
call fcn.14002cf60
cmp qword [rdi], 0
je 0x14005e34e
movsx rax, word [rsp + 0x1e0]
cmp rax, 0xe
ja 0x14005e360
lea rcx, reloc.OLEAUT32.dll_VariantCopy
mov rdi, qword [rcx + rax*8]
movsx rax, ax
lea rcx, [0x140097ab8]
movsxd r13, dword [rcx + rax*4]
add r13, rcx
jmp 0x14005e36c
mov r13, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
jmp 0x14005e36c
lea r13, [0x1400971bc]
mov edi, 7
mov rcx, rdi
xor edx, edx
call fcn.14003443b
mov rbx, rax
mov rbp, rdx
mov rcx, rdx
mov rdx, r13
mov r8, rdi
call fcn.140063aa0
lea r13, [rsp + 0x50]
mov rcx, r13
call fcn.1400041c4
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x100], rbp
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x110], r12
mov qword [rsp + 0x118], r15
mov qword [rsp + 0x120], r14
mov edi, dword [rsp + 0x200]
cmp byte [rsp + 0x2f], 0
je 0x14005e3f2
lea rbx, [rsp + 0x128]
mov rcx, rbx
mov rdx, rdi
call fcn.14005e7a4
mov r14, qword [rbx + 8]
mov rsi, qword [rbx + 0x10]
jmp 0x14005e41a
mov rcx, rdi
mov dl, 1
call fcn.14005a4a3
mov r14, rdx
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rdi
mov rsi, rdi
inc rdi
mov rcx, rdi
xor edx, edx
call fcn.14005a598
lea rcx, [rsp + 0x68]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
and qword [rcx + 0x10], 0
shl rsi, 3
mov r15d, 1
lea rbp, [rsp + 0x80]
lea rdi, [rsp + 0x110]
mov r12d, 1
test rsi, rsi
je 0x14005e5c6
mov qword [rsp + 0xd0], r12
lea rax, str._y_t_
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], r15
and qword [rsp + 0x80], 0
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x50], rax
lea rax, [fcn.14002f690]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0xa8], r15
lea rcx, [rsp + 0x38]
mov rdx, rbp
call fcn.140059d8a
mov rcx, r13
lea rdx, [rsp + 0xf8]
call fcn.140001e80
mov rcx, rbp
mov rdx, rdi
call fcn.140001e80
mov rbx, qword [r14 + r12*8 - 8]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rsp + 0xd0], xmm0
movups xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x1c0], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x1d0], rax
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x1a0], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x1b0], rax
mov rdx, qword [rsp + 0x78]
cmp rdx, qword [rsp + 0x68]
jne 0x14005e54e
lea rcx, [rsp + 0x68]
call fcn.14005acd5
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
imul rcx, rdx, 0x70
and qword [rax + rcx + 8], 0
mov qword [rax + rcx + 0x18], rbx
mov rdx, qword [rsp + 0xe0]
mov qword [rax + rcx + 0x30], rdx
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rax + rcx + 0x20], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rax + rcx + 0x38], xmm0
mov rdx, qword [rsp + 0x1d0]
mov qword [rax + rcx + 0x48], rdx
mov rdx, qword [rsp + 0x1b0]
mov qword [rax + rcx + 0x60], rdx
movaps xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rax + rcx + 0x50], xmm0
and dword [rax + rcx + 0x68], 0
inc qword [rsp + 0x78]
inc r12
add rsi, 0xfffffffffffffff8
jmp 0x14005e458
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rsp + 0xf8]
movups xmmword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xa8], rax
movups xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0x128]
call fcn.140011ea0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x140], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x150], rax
movups xmm0, xmmword [rsp + 0x98]
movaps xmmword [rsp + 0x160], xmm0
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x170], rax
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x180], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x190], rax
mov rsi, qword [rsp + 0xf0]
mov rcx, rsi
call fcn.14005b682
mov rcx, rsi
call fcn.14005b889
mov rax, qword [rsp + 0x150]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x140]
movups xmmword [rsi], xmm0
mov rsi, qword [rsp + 0x30]
lea rcx, [rsi + 0x38]
call fcn.1400041c4
mov rax, qword [rsp + 0x170]
mov qword [rsi + 0x48], rax
movaps xmm0, xmmword [rsp + 0x160]
movups xmmword [rsi + 0x38], xmm0
lea rcx, [rsi + 0x50]
call fcn.1400041c4
mov rax, qword [rsp + 0x190]
mov qword [rsi + 0x60], rax
movaps xmm0, xmmword [rsp + 0x180]
movups xmmword [rsi + 0x50], xmm0
mov al, byte [rsp + 0x2f]
mov byte [rsi + 0x88], al
add rsp, 0x218
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret