Function at 0x14000d2e0
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 + 0x80], 0
jne 0x14000dad0
mov r13d, edx
mov qword [rsp + 0xf8], rcx
lea rsi, [rsp + 0x148]
mov rcx, rsi
call fcn.140015ac0
mov rcx, rsi
call qword [sym.imp.kernel32.dll_GetSystemInfo]
movzx r12d, word [rsp + 0x148]
mov eax, 0x80000000
xor ecx, ecx
mov r8, rbx
cpuid
xchg rbx, r8
cmp eax, 0x80000004
mov byte [rsp + 0x25], r13b
jb 0x14000d521
mov edi, eax
mov word [rsp + 0x26], r12w
movzx eax, byte [0x140118141]
mov ecx, 0x50
mov edx, 4
call fcn.1400053d0
test rax, rax
je 0x14000db3e
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
mov eax, ebx
xor ecx, ecx
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 0x14000d3d0
lea rcx, [rsp + 0x28]
call fcn.140010b30
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 0x14000d402
mov ebx, r13d
cmp r13d, edi
jbe 0x14000d3a0
movzx eax, byte [0x140118141]
mov ecx, 0x30
mov edx, 1
call fcn.1400053d0
test rax, rax
je 0x14000db4d
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 0x14000d52b
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.14000dba0
mov edx, dword [r14 + 0x24]
mov rcx, rsi
call fcn.14000dba0
mov edx, dword [r14 + 0x28]
mov rcx, rsi
call fcn.14000dba0
mov edx, dword [r14 + 0x2c]
mov rcx, rsi
call fcn.14000dba0
cmp rbx, rdi
je 0x14000d4ea
xor r14d, r14d
lea rsi, [rsp + 0x40]
nop
mov edx, dword [rbx + r14]
mov rcx, rsi
call fcn.14000dba0
mov edx, dword [rbx + r14 + 4]
mov rcx, rsi
call fcn.14000dba0
mov edx, dword [rbx + r14 + 8]
mov rcx, rsi
call fcn.14000dba0
mov edx, dword [rbx + r14 + 0xc]
mov rcx, rsi
call fcn.14000dba0
cmp r14, 0x10
je 0x14000d4ea
lea rax, [rbx + r14]
add rax, 0x10
add r14, 0x10
cmp rax, rdi
jne 0x14000d4a0
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
test rdx, rdx
movzx r12d, word [rsp + 0x26]
je 0x14000d538
xor r8d, r8d
nop word cs:[rax + rax]
cmp byte [rax + r8], 0
je 0x14000d53f
inc r8
cmp rdx, r8
jne 0x14000d510
jmp 0x14000d53a
mov r14d, 1
xor edi, edi
jmp 0x14000d5a7
xor edx, edx
movzx r12d, word [rsp + 0x26]
mov r8, rdx
jmp 0x14000d548
xor edx, edx
mov r8, rdx
jmp 0x14000d548
cmp r8, rdx
ja 0x14000db89
lea rcx, [rsp + 0x90]
mov rdx, rax
call fcn.14003c2b0
cmp qword [rsp + 0x90], 0
je 0x14000d7b8
mov r14d, 1
xor edi, edi
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x14000d589
mov rcx, qword [rsp + 0x48]
mov r8d, 1
call fcn.1400053e0
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x14000d5a7
mov rcx, qword [rsp + 0x30]
shl rdx, 4
mov r8d, 4
call fcn.1400053e0
xor ecx, ecx
xor eax, eax
mov rbp, rbx
cpuid
xchg rbx, rbp
mov esi, ecx
mov ebx, edx
movzx eax, byte [0x140118141]
mov ecx, 0xc
mov edx, 1
call fcn.1400053d0
test rax, rax
je 0x14000db15
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.14000dba0
mov rcx, r15
mov edx, ebx
call fcn.14000dba0
mov rcx, r15
mov edx, esi
call fcn.14000dba0
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x14000d63e
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [rdx + rcx], 0
je 0x14000d680
inc rcx
cmp r8, rcx
jne 0x14000d630
lea rcx, [rsp + 0x90]
call fcn.14003c2b0
cmp qword [rsp + 0x90], 0
je 0x14000d6a4
cmp r12w, 0xe
ja 0x14000d6e7
movzx eax, r12w
lea rcx, [0x1401030a8]
mov r15, qword [rcx + rax*8]
lea rcx, [0x140103120]
movsxd rbx, dword [rcx + rax*4]
add rbx, rcx
jmp 0x14000d6f4
cmp rcx, r8
ja 0x14000db5c
mov r8, rcx
lea rcx, [rsp + 0x90]
call fcn.14003c2b0
cmp qword [rsp + 0x90], 0
jne 0x14000d656
mov rbx, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa0]
test r15, r15
je 0x14000dae4
js 0x14000db6e
movzx eax, byte [0x140118141]
mov r12d, 1
mov edx, 1
mov rcx, r15
call fcn.1400053d0
test rax, rax
jne 0x14000d711
jmp 0x14000db71
lea rbx, [0x140102feb]
mov r15d, 7
movzx eax, byte [0x140118141]
mov edx, 1
mov rcx, r15
call fcn.1400053d0
test rax, rax
je 0x14000db31
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 0x14000d73c
mov rcx, qword [rsp + 0x48]
mov r8d, 1
call fcn.1400053e0
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 0x14000d78d
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.14000dc50
jmp 0x14000d81e
test esi, esi
je 0x14000d801
lea rdi, [rsi*8]
mov edx, 8
mov rcx, rdi
call fcn.140005400
test rax, rax
jne 0x14000d806
mov ecx, 8
mov rdx, rdi
call fcn.140044d80
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
test rdi, rdi
je 0x14000daee
js 0x14000db7c
movzx eax, byte [0x140118141]
mov ebx, 1
mov edx, 1
mov rcx, rdi
call fcn.1400053d0
test rax, rax
je 0x14000db7e
mov r14, rax
jmp 0x14000daf4
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 [0x140118141]
mov edx, 8
mov rcx, rsi
call fcn.1400053d0
test rax, rax
je 0x14000db24
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 0x14000d9f9
shl rsi, 3
mov r14d, 1
lea rbp, [rsp + 0x100]
lea rbx, [rsp + 0x118]
movabs r15, 0x8000000000000000
jmp 0x14000d904
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 qword [rax + rcx + 0x60], r12
mov dword [rax + rcx + 0x68], 0
inc r13
mov qword [rsp + 0x38], r13
inc r14
add rsi, 0xfffffffffffffff8
je 0x14000d9f9
mov qword [rsp + 0x130], r14
lea rax, [rsp + 0x130]
mov qword [rsp + 0x138], rax
lea rax, [fcn.14003f3b0]
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.140033e80
lea rcx, [rsp + 0xa8]
mov rdx, rbp
call fcn.140034bd0
lea rcx, [rsp + 0xc0]
mov rdx, rbx
call fcn.140034bd0
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 0x14000d8a0
lea rcx, [rsp + 0x28]
call fcn.140010930
jmp 0x14000d8a0
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 0x14000da3f
shl rdx, 3
mov r8d, 8
mov rcx, rdi
call fcn.1400053e0
mov rdx, qword [rsp + 0x118]
test rdx, rdx
movzx ebx, byte [rsp + 0x25]
je 0x14000da64
mov rcx, qword [rsp + 0x120]
mov r8d, 1
call fcn.1400053e0
mov rdi, qword [rsp + 0xf8]
lea rsi, [rdi + 0x70]
mov rdx, qword [rsp + 0x100]
test rdx, rdx
je 0x14000da90
mov rcx, qword [rsp + 0x108]
mov r8d, 1
call fcn.1400053e0
mov rcx, rsi
call fcn.14000e230
mov rax, qword [rsi]
test rax, rax
je 0x14000dab3
mov rcx, qword [rdi + 0x78]
imul rdx, rax, 0x70
mov r8d, 8
call fcn.1400053e0
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsi], xmm0
mov byte [rdi + 0x88], 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 0x14000d714
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 0x14000d579
jmp 0x14000d589
mov ecx, 1
mov edx, 0xc
call fcn.140044d80
mov ecx, 8
mov rdx, rsi
call fcn.140044d80
mov ecx, 1
mov rdx, r15
call fcn.140044d80
mov ecx, 4
mov edx, 0x50
call fcn.140044d80
mov ecx, 1
mov edx, 0x30
call fcn.140044d80
lea rax, [0x140103078]
mov rdx, r8
mov r8, rax
call fcn.1400452d0
xor r12d, r12d
mov rcx, r12
mov rdx, r15
call fcn.140044d80
xor ebx, ebx
mov rcx, rbx
mov rdx, rdi
call fcn.140044d80
lea rax, [0x140103060]
mov rcx, r8
mov r8, rax
call fcn.1400452d0
int3