Function at 0x14000ac30
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 + 0x10], 0
jne 0x14000b419
mov r13d, edx
mov qword [rsp + 0xf8], rcx
lea rsi, [rsp + 0x148]
mov rcx, rsi
call fcn.140012380
mov rcx, rsi
call qword [sym.imp.kernel32.dll_GetSystemInfo]
movzx r12d, word [rsp + 0x148]
xor ecx, ecx
mov eax, 0x80000000
mov r8, rbx
cpuid
xchg rbx, r8
cmp eax, 0x80000004
mov byte [rsp + 0x25], r13b
jb 0x14000ae71
mov edi, eax
mov word [rsp + 0x26], r12w
movzx eax, byte [0x140064141]
mov ecx, 0x50
mov edx, 4
call fcn.140009c00
test rax, rax
je 0x14000b487
mov qword [rsp + 0x28], 5
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0
mov ebx, 0x80000000
mov r13d, 0x80000000
nop word cs:[rax + rax]
cmp ebx, edi
adc r13d, 0
xor ecx, ecx
mov eax, ebx
mov r12, rbx
cpuid
xchg rbx, r12
mov r15d, eax
mov ebp, ecx
mov r14d, edx
mov rsi, qword [rsp + 0x38]
cmp rsi, qword [rsp + 0x28]
jne 0x14000ad20
lea rcx, [rsp + 0x28]
call fcn.14000c120
mov rax, rsi
shl rax, 4
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax], r15d
inc rsi
mov dword [rcx + rax + 4], r12d
mov dword [rcx + rax + 8], ebp
mov dword [rcx + rax + 0xc], r14d
mov qword [rsp + 0x38], rsi
cmp ebx, edi
jae 0x14000ad52
mov ebx, r13d
cmp r13d, edi
jbe 0x14000acf0
movzx eax, byte [0x140064141]
mov ecx, 0x30
mov edx, 1
call fcn.140009c00
test rax, rax
je 0x14000b496
mov qword [rsp + 0x40], 0x30
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0
mov rdi, qword [rsp + 0x38]
cmp rdi, 3
movzx r13d, byte [rsp + 0x25]
jb 0x14000ae7b
mov r14, qword [rsp + 0x30]
shl rdi, 4
add rdi, r14
lea rbx, [r14 + 0x30]
mov edx, dword [r14 + 0x20]
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.14000b4f0
mov edx, dword [r14 + 0x24]
mov rcx, rsi
call fcn.14000b4f0
mov edx, dword [r14 + 0x28]
mov rcx, rsi
call fcn.14000b4f0
mov edx, dword [r14 + 0x2c]
mov rcx, rsi
call fcn.14000b4f0
cmp rbx, rdi
je 0x14000ae3a
xor r14d, r14d
lea rsi, [rsp + 0x40]
nop
mov edx, dword [rbx + r14]
mov rcx, rsi
call fcn.14000b4f0
mov edx, dword [rbx + r14 + 4]
mov rcx, rsi
call fcn.14000b4f0
mov edx, dword [rbx + r14 + 8]
mov rcx, rsi
call fcn.14000b4f0
mov edx, dword [rbx + r14 + 0xc]
mov rcx, rsi
call fcn.14000b4f0
cmp r14, 0x10
je 0x14000ae3a
lea rax, [rbx + r14]
add rax, 0x10
add r14, 0x10
cmp rax, rdi
jne 0x14000adf0
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
test rdx, rdx
movzx r12d, word [rsp + 0x26]
je 0x14000ae88
xor r8d, r8d
nop word cs:[rax + rax]
cmp byte [rax + r8], 0
je 0x14000ae8f
inc r8
cmp rdx, r8
jne 0x14000ae60
jmp 0x14000ae8a
mov r14d, 1
xor edi, edi
jmp 0x14000aef7
xor edx, edx
movzx r12d, word [rsp + 0x26]
mov r8, rdx
jmp 0x14000ae98
xor edx, edx
mov r8, rdx
jmp 0x14000ae98
cmp r8, rdx
ja 0x14000b4d2
lea rcx, [rsp + 0x90]
mov rdx, rax
call fcn.140043070
cmp qword [rsp + 0x90], 0
je 0x14000b108
mov r14d, 1
xor edi, edi
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x14000aed9
mov rcx, qword [rsp + 0x48]
mov r8d, 1
call fcn.140009c10
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x14000aef7
mov rcx, qword [rsp + 0x30]
shl rdx, 4
mov r8d, 4
call fcn.140009c10
xor ecx, ecx
xor eax, eax
mov rbp, rbx
cpuid
xchg rbx, rbp
mov esi, ecx
mov ebx, edx
movzx eax, byte [0x140064141]
mov ecx, 0xc
mov edx, 1
call fcn.140009c00
test rax, rax
je 0x14000b45e
mov qword [rsp + 0x40], 0xc
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0
lea r15, [rsp + 0x40]
mov rcx, r15
mov edx, ebp
call fcn.14000b4f0
mov rcx, r15
mov edx, ebx
call fcn.14000b4f0
mov rcx, r15
mov edx, esi
call fcn.14000b4f0
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x14000af8e
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [rdx + rcx], 0
je 0x14000afd0
inc rcx
cmp r8, rcx
jne 0x14000af80
lea rcx, [rsp + 0x90]
call fcn.140043070
cmp qword [rsp + 0x90], 0
je 0x14000aff4
cmp r12w, 0xe
ja 0x14000b037
movzx eax, r12w
lea rcx, [0x1400509f0]
mov r15, qword [rcx + rax*8]
lea rcx, [0x140050a68]
movsxd rbx, dword [rcx + rax*4]
add rbx, rcx
jmp 0x14000b044
cmp rcx, r8
ja 0x14000b4a5
mov r8, rcx
lea rcx, [rsp + 0x90]
call fcn.140043070
cmp qword [rsp + 0x90], 0
jne 0x14000afa6
mov rbx, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa0]
test r15, r15
je 0x14000b42d
js 0x14000b4b7
movzx eax, byte [0x140064141]
mov r12d, 1
mov edx, 1
mov rcx, r15
call fcn.140009c00
test rax, rax
jne 0x14000b061
jmp 0x14000b4ba
lea rbx, [0x140050932]
mov r15d, 7
movzx eax, byte [0x140064141]
mov edx, 1
mov rcx, r15
call fcn.140009c00
test rax, rax
je 0x14000b47a
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x14000b08c
mov rcx, qword [rsp + 0x48]
mov r8d, 1
call fcn.140009c10
mov qword [rsp + 0x100], r15
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x110], r15
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x120], r14
mov qword [rsp + 0x128], rdi
mov esi, dword [rsp + 0x168]
test r13b, r13b
je 0x14000b0dd
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.14000b5a0
jmp 0x14000b16e
test esi, esi
je 0x14000b151
lea rdi, [rsi*8]
mov edx, 8
mov rcx, rdi
call fcn.140009c30
test rax, rax
jne 0x14000b156
mov ecx, 8
mov rdx, rdi
call fcn.14004be60
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
test rdi, rdi
je 0x14000b437
js 0x14000b4c5
movzx eax, byte [0x140064141]
mov ebx, 1
mov edx, 1
mov rcx, rdi
call fcn.140009c00
test rax, rax
je 0x14000b4c7
mov r14, rax
jmp 0x14000b43d
mov eax, 8
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rsi
lea rdi, [rsi + 1]
imul rsi, rdi, 0x70
movzx eax, byte [0x140064141]
mov edx, 8
mov rcx, rsi
call fcn.140009c00
test rax, rax
je 0x14000b46d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0
mov rdi, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
test rsi, rsi
je 0x14000b349
shl rsi, 3
mov r14d, 1
lea rbp, [rsp + 0x100]
lea rbx, [rsp + 0x118]
movabs r15, 0x8000000000000000
jmp 0x14000b254
mov rax, qword [rsp + 0x30]
imul rcx, r13, 0x70
mov rdx, qword [rsp + 0x80]
mov qword [rax + rcx + 0x40], rdx
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
movups xmmword [rax + rcx + 0x30], xmm3
movups xmmword [rax + rcx + 0x20], xmm2
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
mov qword [rax + rcx + 0x48], r15
mov dword [rax + rcx + 0x60], 0
mov qword [rax + rcx + 0x68], r12
inc r13
mov qword [rsp + 0x38], r13
inc r14
add rsi, 0xfffffffffffffff8
je 0x14000b349
mov qword [rsp + 0x130], r14
lea rax, [rsp + 0x130]
mov qword [rsp + 0x138], rax
lea rax, [fcn.140045490]
mov qword [rsp + 0x140], rax
lea rax, str.CPU
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x138]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x40]
call fcn.14003fec0
lea rcx, [rsp + 0xa8]
mov rdx, rbp
call fcn.140040e00
lea rcx, [rsp + 0xc0]
mov rdx, rbx
call fcn.140040e00
mov r12, qword [rdi + r14*8 - 8]
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [rsp + 0x90]
movups xmm1, xmmword [rsp + 0xa0]
movups xmm2, xmmword [rsp + 0xb0]
movups xmm3, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x70], xmm3
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
mov r13, qword [rsp + 0x38]
cmp r13, qword [rsp + 0x28]
jne 0x14000b1f0
lea rcx, [rsp + 0x28]
call fcn.14000c1d0
jmp 0x14000b1f0
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0xe0]
test rdx, rdx
je 0x14000b38f
shl rdx, 3
mov r8d, 8
mov rcx, rdi
call fcn.140009c10
mov rdx, qword [rsp + 0x118]
test rdx, rdx
movzx ebx, byte [rsp + 0x25]
mov rsi, qword [rsp + 0xf8]
je 0x14000b3bc
mov rcx, qword [rsp + 0x120]
mov r8d, 1
call fcn.140009c10
mov rdx, qword [rsp + 0x100]
test rdx, rdx
je 0x14000b3dc
mov rcx, qword [rsp + 0x108]
mov r8d, 1
call fcn.140009c10
mov rcx, rsi
call fcn.140004650
mov rax, qword [rsi]
test rax, rax
je 0x14000b3ff
mov rcx, qword [rsi + 8]
imul rdx, rax, 0x70
mov r8d, 8
call fcn.140009c10
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsi], xmm0
mov byte [rsi + 0x38], bl
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov esi, 1
jmp 0x14000b064
mov r14d, 1
mov rcx, r14
mov rdx, rsi
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x40]
test rdx, rdx
jne 0x14000aec9
jmp 0x14000aed9
mov ecx, 1
mov edx, 0xc
call fcn.14004be60
mov ecx, 8
mov rdx, rsi
call fcn.14004be60
mov ecx, 1
mov rdx, r15
call fcn.14004be60
mov ecx, 4
mov edx, 0x50
call fcn.14004be60
mov ecx, 1
mov edx, 0x30
call fcn.14004be60
lea rax, [0x1400509c0]
mov rdx, r8
mov r8, rax
call fcn.14004c3e0
xor r12d, r12d
mov rcx, r12
mov rdx, r15
call fcn.14004be60
xor ebx, ebx
mov rcx, rbx
mov rdx, rdi
call fcn.14004be60
lea rax, [0x1400509a8]
mov rcx, r8
mov r8, rax
call fcn.14004c3e0
int3