Function at 0x140094e86
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, 0x188
cmp qword [rcx + 0x80], 0
jne 0x140095475
mov r15d, edx
mov rdi, rcx
xorps xmm0, xmm0
lea rcx, [rsp + 0x150]
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
call sub.kernel32.dll_GetSystemInfo
add dword [rax], eax
and qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 1
and al, 0x48
add dword [rax], eax
add byte [rax], al
and qword [rsp + 0x50], 0
jmp 0x140095108
lea rax, [rdi + 0x70]
mov qword [rsp + 0x98], 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 + 0x28]
mov edx, 0xc
mov rcx, r14
call fcn.140094e52
mov rcx, r14
mov edx, esi
call fcn.1400954a6
mov rcx, r14
mov edx, ebx
call fcn.1400954a6
mov rcx, r14
mov edx, ebp
call fcn.1400954a6
mov rsi, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
cmp rdx, rdi
je case.0x140018e96.1858
cmp byte [rsi + rdi], 0
je case.0x140018e96.1870
inc rdi
jmp 0x14009515e
mov rdi, rdx
lea r9, [0x1400fe018]
mov rcx, rsi
mov r8, rdi
call fcn.1400954eb
mov r8, rdx
lea rdi, [rsp + 0x108]
add byte [rax - 0x77], cl
stc
mov rdx, rax
call fcn.14000ef30
cmp qword [rdi], 0
invalid
je 0x1400951c8
movzx eax, word [rsp + 0x150]
cmp rax, 0xe
cmp eax, 0xe
ja 0x1400951da
lea rcx, [0x140126920]
mov r8, qword [rcx + rax*8]
movzx eax, ax
lea rcx, case.0x1400710e4.35
mov rdx, qword [rcx + rax*8]
jmp case.0x140018e96.1855
mov rdx, qword [rsp + 0x110]
mov r8, qword [rsp + 0x118]
test byte [rax + rbx], ah
add dword [rax], eax
add bl, ch
invalid
lea rdx, case.0x1400710e4.46
mov r8d, 7
add byte [rax], al
invalid
lea rcx, [rsp + 0xc0]
call fcn.14008fae9
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x28]
mov rdx, rsi
call fcn.14008fb14
mov esi, dword [rsp + 0x170]
lea rcx, [rsp + 0x28]
mov rdx, rsi
test r15b, r15b
je 0x14009526d
call fcn.14009550b
jmp 0x140095272
call fcn.14009395f
inc rsi
imul rdi, rsi, 0x70
mov ecx, 8
mov rdx, rdi
call fcn.14000cc25
test rax, rax
je 0x140095489
mov r14, rax
lea rax, [rsp + 0x70]
mov qword [rax], rsi
mov qword [rax + 8], r14
and qword [rax + 0x10], 0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xa0], rax
mov r15, qword [rsp + 0x38]
shl r15, 3
xor ebp, ebp
lea r12, [rsp + 0xc0]
mov ebx, 1
test r15, r15
je 0x1400953f8
mov qword [rsp + 0xb8], rbx
lea rax, str.CPU
mov qword [rsp + 0xc0], rax
mov eax, 1
mov qword [rsp + 0xc8], rax
and qword [rsp + 0xe0], 0
lea rcx, [rsp + 0xb8]
mov qword [rsp + 0x40], rcx
lea rcx, [fcn.14000dba0]
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
lea rsi, [rsp + 0x108]
mov rcx, rsi
mov rdx, r12
call fcn.14008faa2
lea rcx, [rsp + 0x120]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0xb0]
call fcn.14000bcb0
lea rcx, [rsp + 0x138]
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0xa8]
call fcn.14000bcb0
mov rax, qword [rsp + 0xa0]
mov r13, qword [rax + rbx*8 - 8]
mov ecx, 9
mov rdi, r12
rep movsq qword [rdi], qword [rsi]
cmp rbp, qword [rsp + 0x70]
jne 0x1400953ac
lea rcx, [rsp + 0x70]
mov rdx, rbp
call fcn.140093997
mov r14, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
imul rax, rbp, 0x70
lea rdi, [r14 + rax]
mov ecx, 9
mov rsi, r12
rep movsq qword [rdi], qword [rsi]
movabs rcx, 0x8000000000000000
mov qword [r14 + rax + 0x48], rcx
mov qword [r14 + rax + 0x60], r13
and dword [r14 + rax + 0x68], 0
mov rbp, qword [rsp + 0x80]
inc rbp
mov qword [rsp + 0x80], rbp
inc rbx
add r15, 0xfffffffffffffff8
jmp 0x1400952c8
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
call fcn.140072fba
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x60]
call fcn.14008fb14
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x68]
call fcn.14008fb14
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rsi
call fcn.140093afd
mov rcx, qword [rdi + 0x70]
mov rdx, rsi
call fcn.140093b53
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x98]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rcx], xmm0
mov al, byte [rsp + 0x27]
mov byte [rdi + 0x88], al
add rsp, 0x188
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.1400a7da0
mov ecx, 4
mov edx, 0x50
call fcn.1400a7da0
int3