Function at 0x140027030
Capabilities:
Get system information on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x198
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x100], xmm6
mov qword [rbp + 0xf8], 0xfffffffffffffffe
cmp qword [rcx + 0x10], 0
jne 0x140027690
mov ebx, edx
mov qword [rbp + 0x98], rcx
xorps xmm0, xmm0
lea rcx, [rbp - 0x60]
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
call qword [sym.imp.kernel32.dll_GetSystemInfo]
mov eax, 0x80000000
xor ecx, ecx
mov r8, rbx
cpuid
xchg rbx, r8
mov dword [rbp + 0xa0], eax
cmp eax, 0x80000003
mov byte [rbp + 0xf7], bl
jbe 0x140027152
push 4
pop rcx
push 0x50
pop rdx
call fcn.1400293b5
test rax, rax
je 0x1400276b8
mov r8, rax
lea rax, [rbp + 0xd8]
mov qword [rax], 5
mov qword [rax + 8], r8
mov eax, 0x80000000
xor r13d, r13d
xor ebx, ebx
mov qword [rbp + 0xe8], r13
test bl, 1
jne 0x140027172
cmp eax, dword [rbp + 0xa0]
ja 0x140027172
setae bl
mov edi, eax
adc edi, 0
xor ecx, ecx
mov rsi, rbx
cpuid
xchg rbx, rsi
mov r14d, ecx
mov r15d, edx
mov r12d, eax
cmp r13, qword [rbp + 0xd8]
jne 0x140027131
lea rcx, [rbp + 0xd8]
call fcn.140029603
mov r8, qword [rbp + 0xe0]
mov rax, r13
shl rax, 4
mov dword [r8 + rax], r12d
mov dword [r8 + rax + 4], esi
mov dword [r8 + rax + 8], r14d
mov dword [r8 + rax + 0xc], r15d
inc r13
mov eax, edi
jmp 0x1400270e2
and qword [rbp + 0xa8], 0
mov qword [rbp + 0xb0], 1
and qword [rbp + 0xb8], 0
jmp 0x1400272b0
lea rcx, [rbp + 0xc0]
push 0x30
pop rdx
call fcn.140027a3b
mov rsi, qword [rbp + 0xe0]
shl r13, 4
add r13, rsi
push 2
pop rax
push 5
pop rbx
xor r15d, r15d
lea rdi, [rbp + 0xc0]
mov r14, rsi
test r15b, 1
je 0x1400271b7
test rbx, rbx
je 0x140027215
cmp r14, r13
je 0x140027215
dec rbx
jmp 0x1400271db
cmp rbx, rax
jbe 0x140027215
mov rcx, r13
sub rcx, r14
shr rcx, 4
cmp rcx, rax
jbe 0x140027215
mov rcx, rax
not rcx
add rbx, rcx
shl rax, 4
add r14, rax
mov edx, dword [r14]
mov rcx, rdi
call fcn.140027a81
mov edx, dword [r14 + 4]
mov rcx, rdi
call fcn.140027a81
mov edx, dword [r14 + 8]
mov rcx, rdi
call fcn.140027a81
mov edx, dword [r14 + 0xc]
add r14, 0x10
mov r15b, 1
mov rcx, rdi
call fcn.140027a81
xor eax, eax
jmp 0x1400271a2
mov rdi, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0xd0]
xor r8d, r8d
cmp rdx, r8
je 0x140027237
cmp byte [rdi + r8], 0
je 0x14002723a
inc r8
jmp 0x140027226
mov r8, rdx
lea r9, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.31.4_srcwindowscpu.rsIntel_x86MIPSRISC_AlphaPPCSHXARMIntel_Itanium_based_x64RISC_Alpha_x64MSIL_Intel_or_AMD__x64Intel_Itanium_based_x86unknownARM_x64
mov rcx, rdi
call fcn.140027ac6
mov r8, rdx
lea r14, [rbp + 0x40]
mov rcx, r14
mov rdx, rax
call fcn.140008ec0
cmp qword [r14], 0
je 0x14002727e
and qword [rbp + 0xa8], 0
mov qword [rbp + 0xb0], 1
and qword [rbp + 0xb8], 0
jmp 0x140027292
mov rdx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x50]
lea rcx, [rbp + 0xa8]
call fcn.14002675e
mov rcx, qword [rbp + 0xc0]
mov rdx, rdi
call fcn.14000c600
mov rcx, qword [rbp + 0xd8]
mov rdx, rsi
call fcn.140027a1e
xor eax, eax
xor ecx, ecx
mov r14, rbx
cpuid
xchg rbx, r14
mov edi, edx
mov esi, ecx
lea rcx, [rbp + 0xd8]
push 0xc
pop rdx
call fcn.140027a3b
lea rcx, [rbp + 0xd8]
mov edx, r14d
call fcn.140027a81
lea rcx, [rbp + 0xd8]
mov edx, edi
call fcn.140027a81
lea rcx, [rbp + 0xd8]
mov edx, esi
call fcn.140027a81
mov r14, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0xe8]
xor r8d, r8d
cmp rdx, r8
je 0x14002731c
cmp byte [r14 + r8], 0
je 0x14002731f
inc r8
jmp 0x14002730b
mov r8, rdx
lea r9, str.C:UsersNoctor.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.31.4_srcwindowscpu.rsIntel_x86MIPSRISC_AlphaPPCSHXARMIntel_Itanium_based_x64RISC_Alpha_x64MSIL_Intel_or_AMD__x64Intel_Itanium_based_x86unknownARM_x64
mov rcx, r14
call fcn.140027ac6
mov r8, rdx
lea rsi, [rbp + 0x40]
mov rcx, rsi
mov rdx, rax
call fcn.140008ec0
cmp qword [rsi], 0
je 0x14002736b
movzx eax, word [rbp - 0x60]
cmp rax, 0xe
ja 0x140027381
lea rcx, [0x1404a23a8]
mov r8, qword [rcx + rax*8]
movzx eax, ax
lea rcx, [0x1404a2420]
mov rdx, qword [rcx + rax*8]
jmp 0x14002738c
mov rdx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x50]
lea rcx, [rbp + 0xc0]
call fcn.14002675e
jmp 0x140027398
lea rdx, [0x1404a1d18]
push 7
pop r8
lea rcx, [rbp + 0xc0]
call fcn.14002675e
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp], rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 0xd8]
mov rdx, r14
call fcn.14000c600
mov r12d, dword [rbp - 0x40]
cmp byte [rbp + 0xf7], 0
je 0x14002740d
lea rcx, [rbp + 0xa8]
mov rdx, r12
call fcn.140027ae6
jmp 0x14002741c
lea rcx, [rbp + 0xa8]
mov rdx, r12
call fcn.14002acbc
inc r12
imul r15, r12, 0x70
push 8
pop r13
mov rcx, r13
mov rdx, r15
call fcn.1400293b5
mov r14, rax
test rax, rax
cmove r12, r13
cmove r14, r15
je 0x1400276ab
lea rax, [rbp + 0xd8]
mov qword [rax], r12
mov qword [rax + 8], r14
and qword [rax + 0x10], 0
mov rbx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xb8]
lea rax, [rbx + rax*8]
mov qword [rbp - 8], rax
xor eax, eax
mov qword [rbp + 0xa0], rax
lea r12, [rbp + 0xc0]
lea r13, [rbp + 0x40]
xorps xmm6, xmm6
xor edi, edi
cmp rbx, qword [rbp - 8]
je 0x14002761c
inc rdi
mov qword [rbp - 0x20], rdi
lea rax, str.CPU
mov qword [rbp + 0x40], rax
push 1
pop rcx
mov qword [rbp + 0x48], rcx
and qword [rbp + 0x60], 0
lea rax, [rbp - 0x20]
mov qword [rbp - 0x30], rax
lea rax, [fcn.140007d60]
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x30]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rcx
mov rcx, r12
mov rdx, r13
call fcn.140007930
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x78], rax
mov r15, qword [rbp + 0xd0]
mov rcx, r12
mov rdx, qword [rbp + 0x88]
mov r8, qword [rbp]
call fcn.140007ce0
mov rsi, r13
mov rcx, r13
mov rdx, qword [rbp + 0x90]
mov r8, qword [rbp + 8]
call fcn.140007ce0
mov qword [rbp - 0x18], rbx
mov rax, qword [rbx]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x20], rax
mov r13, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x10], rax
mov rbx, qword [rbp + 0x50]
mov rax, qword [rbp + 0xa0]
cmp rax, qword [rbp + 0xd8]
jne 0x140027582
lea rcx, [rbp + 0xd8]
call fcn.1400294a7
mov r14, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xa0]
imul rax, rcx, 0x70
mov rdx, qword [rbp + 0x80]
mov qword [r14 + rax], rdx
mov rdx, qword [rbp + 0x78]
mov qword [r14 + rax + 8], rdx
mov qword [r14 + rax + 0x10], r15
mov rdx, qword [rbp + 0x28]
mov qword [r14 + rax + 0x18], rdx
mov rdx, qword [rbp + 0x20]
mov qword [r14 + rax + 0x20], rdx
mov qword [r14 + rax + 0x28], r13
mov rdx, qword [rbp + 0x18]
mov qword [r14 + rax + 0x30], rdx
mov rdx, qword [rbp + 0x10]
mov qword [r14 + rax + 0x38], rdx
mov qword [r14 + rax + 0x40], rbx
movabs rdx, 0x8000000000000000
mov qword [r14 + rax + 0x48], rdx
movups xmmword [r14 + rax + 0x50], xmm6
and dword [r14 + rax + 0x60], 0
mov rdx, qword [rbp - 0x10]
mov qword [r14 + rax + 0x68], rdx
mov rbx, qword [rbp - 0x18]
add rbx, 8
inc rcx
mov rax, rcx
mov qword [rbp + 0xa0], rcx
mov qword [rbp + 0xe8], rcx
mov r13, rsi
jmp 0x140027488
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x50], rax
movups xmm0, xmmword [rbp + 0xd8]
movaps xmmword [rbp + 0x40], xmm0
mov rcx, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xb0]
call fcn.1400297d2
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x90]
call fcn.14000c600
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x88]
call fcn.14000c600
mov rcx, qword [rbp + 0x98]
call fcn.1400010ce
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x98]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rbp + 0x40]
movups xmmword [rcx], xmm0
mov al, byte [rbp + 0xf7]
mov byte [rcx + 0x38], al
movaps xmm6, xmmword [rbp + 0x100]
add rsp, 0x198
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, r12
mov rdx, r14
call fcn.14002df00
ud2
push 4
pop rcx
push 0x50
pop rdx
call fcn.14002df00
int3