Function at 0x14005a331
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, 0x1e8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x160], 0xfffffffffffffffe
cmp qword [rcx + 0x80], 0
jne 0x14005aa55
mov r14d, edx
mov r15, rcx
xorps xmm0, xmm0
lea rcx, [rbp - 0x60]
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
mov dword [rbp + 0x110], eax
cmp eax, 0x80000003
mov byte [rbp + 0x15f], r14b
mov qword [rbp + 0xd8], r15
jbe 0x14005a47a
push 0x50
pop rcx
push 4
pop rdx
call fcn.14005206f
test rax, rax
je 0x14005aa76
mov rdi, rax
lea rax, [rbp + 0x140]
mov qword [rax], 5
mov qword [rax + 8], rdi
mov sil, 1
mov r15d, 0x80000000
xor r14d, r14d
mov qword [rbp + 0x150], r14
test sil, 1
je 0x14005a49a
cmp r15d, dword [rbp + 0x110]
ja 0x14005a49a
mov r8, rdi
setb sil
mov eax, r15d
xor ecx, ecx
mov rdi, rbx
cpuid
xchg rbx, rdi
mov r13d, ecx
mov r12d, edx
mov ebx, eax
cmp r14, qword [rbp + 0x140]
jne 0x14005a447
lea rcx, [rbp + 0x140]
mov rdx, r14
call fcn.14005907c
mov rcx, qword [rbp + 0x148]
mov r14, qword [rbp + 0x150]
jmp 0x14005a44a
mov rcx, r8
movzx eax, sil
add r15d, eax
shl r14, 4
mov dword [rcx + r14], ebx
mov dword [rcx + r14 + 4], edi
mov dword [rcx + r14 + 8], r13d
mov dword [rcx + r14 + 0xc], r12d
mov r14, qword [rbp + 0x150]
inc r14
mov rdi, rcx
jmp 0x14005a3e5
and qword [rbp + 0x120], 0
mov qword [rbp + 0x128], 1
and qword [rbp + 0x130], 0
jmp 0x14005a5e5
push 0x30
pop rcx
call fcn.140077cc0
lea rsi, [rbp + 0xe0]
mov qword [rsi], rax
mov qword [rsi + 8], rdx
and qword [rsi + 0x10], 0
shl r14, 4
add r14, rdi
mov r15, rdi
push 5
pop rbx
push 2
pop rax
xor edi, edi
mov r12, r15
test dil, 1
je 0x14005a4df
test rbx, rbx
je 0x14005a53d
cmp r15, r14
je 0x14005a53d
dec rbx
jmp 0x14005a503
cmp rbx, rax
jbe 0x14005a53d
mov rcx, r14
sub rcx, r15
shr rcx, 4
cmp rcx, rax
jbe 0x14005a53d
mov rcx, rax
not rcx
add rbx, rcx
shl rax, 4
add r15, rax
mov edx, dword [r15]
mov rcx, rsi
call fcn.14005ad3e
mov edx, dword [r15 + 4]
mov rcx, rsi
call fcn.14005ad3e
mov edx, dword [r15 + 8]
mov rcx, rsi
call fcn.14005ad3e
mov edx, dword [r15 + 0xc]
add r15, 0x10
mov dil, 1
mov rcx, rsi
call fcn.14005ad3e
xor eax, eax
jmp 0x14005a4ca
mov rsi, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0xf0]
xor r8d, r8d
cmp rdx, r8
je 0x14005a55f
cmp byte [rsi + r8], 0
je 0x14005a562
inc r8
jmp 0x14005a54e
mov r8, rdx
lea r9, str.libsinfo_0.1_srcwindowscpu.rsTotal_CPUIntel_Itanium_based_x86ARMARM_x64_Intel_or_AMD__x64MSILRISC_Alpha_x64Intel_Itanium_based_x64SHXPPCRISC_AlphaMIPSIntel_x86
mov rcx, rsi
call fcn.140017984
mov r8, rdx
mov rbx, rbp
mov rcx, rbx
mov rdx, rax
call fcn.140046e90
cmp qword [rbx], 0
je 0x14005a5a5
and qword [rbp + 0x120], 0
mov qword [rbp + 0x128], 1
and qword [rbp + 0x130], 0
jmp 0x14005a5b9
mov rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x10]
lea rcx, [rbp + 0x120]
call fcn.140006e0e
mov rcx, qword [rbp + 0xe0]
mov rdx, rsi
call fcn.140071931
mov rcx, qword [rbp + 0x140]
mov rdx, r12
call fcn.140059638
mov r14b, byte [rbp + 0x15f]
mov r15, qword [rbp + 0xd8]
xor eax, eax
xor ecx, ecx
mov rbx, rbx
cpuid
xchg rbx, rbx
mov edi, edx
mov esi, ecx
push 0xc
pop rcx
call fcn.140077cc0
lea rcx, [rbp + 0x140]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
and qword [rcx + 0x10], 0
mov edx, ebx
call fcn.14005ad3e
lea rcx, [rbp + 0x140]
mov edx, edi
call fcn.14005ad3e
lea rcx, [rbp + 0x140]
mov edx, esi
call fcn.14005ad3e
lea rbx, [r15 + 0x70]
mov rsi, qword [rbp + 0x148]
mov rdx, qword [rbp + 0x150]
xor r8d, r8d
cmp rdx, r8
je 0x14005a659
cmp byte [rsi + r8], 0
je 0x14005a65c
inc r8
jmp 0x14005a648
mov r8, rdx
lea r9, str.libsinfo_0.1_srcwindowscpu.rsTotal_CPUIntel_Itanium_based_x86ARMARM_x64_Intel_or_AMD__x64MSILRISC_Alpha_x64Intel_Itanium_based_x64SHXPPCRISC_AlphaMIPSIntel_x86
mov rcx, rsi
call fcn.140017984
mov r8, rdx
mov rdi, rbp
mov rcx, rdi
mov rdx, rax
call fcn.140046e90
cmp qword [rdi], 0
je 0x14005a6a7
movzx eax, word [rbp - 0x60]
cmp rax, 0xe
ja 0x14005a6bd
lea rcx, reloc.OLEAUT32.dll_VariantCopy
mov r8, qword [rcx + rax*8]
lea rcx, [0x1401442e0]
movsxd rdx, dword [rcx + rax*4]
add rdx, rcx
jmp 0x14005a6c8
mov rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x10]
lea rcx, [rbp + 0xe0]
call fcn.140006e0e
jmp 0x14005a6d4
lea rdx, str.unknown
push 7
pop r8
lea rcx, [rbp + 0xe0]
call fcn.140006e0e
movups xmm0, xmmword [rbp + 0xe0]
movaps xmmword [rbp], xmm0
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x10], rax
movups xmm0, xmmword [rbp + 0x120]
movups xmmword [rbp + 0x18], xmm0
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x28], rax
mov rcx, qword [rbp + 0x140]
mov rdx, rsi
call fcn.140071931
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xa0], rax
movaps xmm0, xmmword [rbp]
movaps xmmword [rbp + 0x90], xmm0
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x80], rax
movups xmm0, xmmword [rbp + 0x18]
movaps xmmword [rbp + 0x70], xmm0
mov esi, dword [rbp - 0x40]
test r14b, r14b
je 0x14005a751
lea rcx, [rbp + 0xc0]
mov rdx, rsi
call fcn.14005ad83
jmp 0x14005a770
mov rcx, rsi
mov dl, 1
call fcn.140058307
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rdx
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0x118], rbx
inc rsi
imul rdi, rsi, 0x70
push 8
pop rdx
mov rcx, rdi
call fcn.14005206f
test rax, rax
je 0x14005aa69
mov r15, rax
lea rax, [rbp + 0xa8]
mov qword [rax], rsi
mov qword [rax + 8], r15
and qword [rax + 0x10], 0
mov rsi, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xd0]
lea rax, [rsi + rax*8]
mov qword [rbp + 0x110], rax
lea r13, [rbp + 0x20]
mov rax, qword [rbp + 0x98]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x78]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp - 0x10], rax
xor r14d, r14d
lea rdi, [rbp + 0x140]
lea r12, [rbp + 0xe0]
mov qword [rbp - 8], rsi
xor ebx, ebx
cmp rsi, qword [rbp + 0x110]
je 0x14005a94f
inc rbx
mov qword [rbp - 0x30], rbx
lea rax, str.CPU
mov qword [rbp + 0xf0], rax
push 1
pop rcx
mov qword [rbp + 0xf8], rcx
and qword [rbp + 0xe0], 0
lea rax, [rbp - 0x30]
mov qword [rbp + 0x120], rax
lea rax, [fcn.1400456f0]
mov qword [rbp + 0x128], rax
lea rax, [rbp + 0x120]
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], rcx
mov rcx, rdi
mov rdx, r12
call fcn.140057278
movups xmm0, xmmword [rbp + 0x140]
movaps xmmword [rbp + 0x120], xmm0
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x130], rax
mov rcx, rdi
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
call fcn.1400418d0
mov rcx, r12
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
call fcn.1400418d0
mov rax, qword [rsi]
mov rcx, qword [rbp + 0x130]
mov qword [r13 + 0x10], rcx
movaps xmm0, xmmword [rbp + 0x120]
movups xmmword [r13], xmm0
and dword [rbp + 0x68], 0
and qword [rbp + 8], 0
mov rcx, qword [rbp + 0x150]
mov qword [r13 + 0x28], rcx
movups xmm0, xmmword [rbp + 0x140]
movups xmmword [r13 + 0x18], xmm0
mov rcx, qword [rbp + 0xf0]
mov qword [r13 + 0x40], rcx
movups xmm0, xmmword [rbp + 0xe0]
movups xmmword [r13 + 0x30], xmm0
mov qword [rbp + 0x18], rax
cmp r14, qword [rbp + 0xa8]
jne 0x14005a929
lea rcx, [rbp + 0xa8]
mov rdx, r14
call fcn.140058fa6
mov r15, qword [rbp + 0xb0]
mov r14, qword [rbp + 0xb8]
add rsi, 8
imul rcx, r14, 0x70
add rcx, r15
mov rdx, rbp
push 0x70
pop r8
call fcn.14011e5a0
inc r14
mov qword [rbp + 0xb8], r14
jmp 0x14005a805
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x10], rax
movups xmm0, xmmword [rbp + 0xa8]
movaps xmmword [rbp], xmm0
movaps xmm0, xmmword [rbp + 0x90]
movups xmmword [rbp + 0x18], xmm0
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x28], rax
movaps xmm0, xmmword [rbp + 0x70]
movaps xmmword [rbp + 0x30], xmm0
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x40], rax
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp - 8]
call fcn.1400e51b3
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xf0], rax
movaps xmm0, xmmword [rbp]
movaps xmmword [rbp + 0xe0], xmm0
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x150], rax
movups xmm0, xmmword [rbp + 0x18]
movaps xmmword [rbp + 0x140], xmm0
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x50], rax
movaps xmm0, xmmword [rbp + 0x30]
movaps xmmword [rbp - 0x60], xmm0
mov rcx, qword [rbp + 0x118]
call fcn.14005afd2
mov rax, qword [rbp + 0xf0]
mov rcx, qword [rbp + 0x118]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rbp + 0xe0]
movups xmmword [rcx], xmm0
mov rsi, qword [rbp + 0xd8]
mov rcx, qword [rsi + 0x38]
mov rdx, qword [rsi + 0x40]
call fcn.140071931
mov rax, qword [rbp + 0x150]
mov qword [rsi + 0x48], rax
movaps xmm0, xmmword [rbp + 0x140]
movups xmmword [rsi + 0x38], xmm0
mov rcx, qword [rsi + 0x50]
mov rdx, qword [rsi + 0x58]
call fcn.140071931
mov rax, qword [rbp - 0x50]
mov qword [rsi + 0x60], rax
movaps xmm0, xmmword [rbp - 0x60]
movups xmmword [rsi + 0x50], xmm0
mov al, byte [rbp + 0x15f]
mov byte [rsi + 0x88], al
add rsp, 0x1e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
push 8
pop rdx
mov rcx, rdi
call fcn.14012b690
ud2
push 0x50
pop rcx
push 4
pop rdx
call fcn.14012b690
ud2