Function at 0x14000d2f0
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 0x14000dae0
mov r13d, edx
mov qword [rsp + 0xf8], rcx
lea rsi, [rsp + 0x148]
mov rcx, rsi
call fcn.140015ad0
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 0x14000d531
mov edi, eax
mov word [rsp + 0x26], r12w
movzx eax, byte [0x14011e1a1]
mov ecx, 0x50
mov edx, 4
call fcn.1400053e0
test rax, rax
je 0x14000db4e
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 0x14000d3e0
lea rcx, [rsp + 0x28]
call fcn.140010b40
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 0x14000d412
mov ebx, r13d
cmp r13d, edi
jbe 0x14000d3b0
movzx eax, byte [0x14011e1a1]
mov ecx, 0x30
mov edx, 1
call fcn.1400053e0
test rax, rax
je 0x14000db5d
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 0x14000d53b
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.14000dbb0
mov edx, dword [r14 + 0x24]
mov rcx, rsi
call fcn.14000dbb0
mov edx, dword [r14 + 0x28]
mov rcx, rsi
call fcn.14000dbb0
mov edx, dword [r14 + 0x2c]
mov rcx, rsi
call fcn.14000dbb0
cmp rbx, rdi
je 0x14000d4fa
xor r14d, r14d
lea rsi, [rsp + 0x40]
nop
mov edx, dword [rbx + r14]
mov rcx, rsi
call fcn.14000dbb0
mov edx, dword [rbx + r14 + 4]
mov rcx, rsi
call fcn.14000dbb0
mov edx, dword [rbx + r14 + 8]
mov rcx, rsi
call fcn.14000dbb0
mov edx, dword [rbx + r14 + 0xc]
mov rcx, rsi
call fcn.14000dbb0
cmp r14, 0x10
je 0x14000d4fa
lea rax, [rbx + r14]
add rax, 0x10
add r14, 0x10
cmp rax, rdi
jne 0x14000d4b0
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
test rdx, rdx
movzx r12d, word [rsp + 0x26]
je 0x14000d548
xor r8d, r8d
nop word cs:[rax + rax]
cmp byte [rax + r8], 0
je 0x14000d54f
inc r8
cmp rdx, r8
jne 0x14000d520
jmp 0x14000d54a
mov r14d, 1
xor edi, edi
jmp 0x14000d5b7
xor edx, edx
movzx r12d, word [rsp + 0x26]
mov r8, rdx
jmp 0x14000d558
xor edx, edx
mov r8, rdx
jmp 0x14000d558
cmp r8, rdx
ja 0x14000db99
lea rcx, [rsp + 0x90]
mov rdx, rax
call fcn.14003c2c0
cmp qword [rsp + 0x90], 0
je 0x14000d7c8
mov r14d, 1
xor edi, edi
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x14000d599
mov rcx, qword [rsp + 0x48]
mov r8d, 1
call fcn.1400053f0
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x14000d5b7
mov rcx, qword [rsp + 0x30]
shl rdx, 4
mov r8d, 4
call fcn.1400053f0
xor ecx, ecx
xor eax, eax
mov rbp, rbx
cpuid
xchg rbx, rbp
mov esi, ecx
mov ebx, edx
movzx eax, byte [0x14011e1a1]
mov ecx, 0xc
mov edx, 1
call fcn.1400053e0
test rax, rax
je 0x14000db25
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.14000dbb0
mov rcx, r15
mov edx, ebx
call fcn.14000dbb0
mov rcx, r15
mov edx, esi
call fcn.14000dbb0
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x14000d64e
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [rdx + rcx], 0
je 0x14000d690
inc rcx
cmp r8, rcx
jne 0x14000d640
lea rcx, [rsp + 0x90]
call fcn.14003c2c0
cmp qword [rsp + 0x90], 0
je 0x14000d6b4
cmp r12w, 0xe
ja 0x14000d6f7
movzx eax, r12w
lea rcx, [0x1401070e8]
mov r15, qword [rcx + rax*8]
lea rcx, [0x140107160]
movsxd rbx, dword [rcx + rax*4]
add rbx, rcx
jmp 0x14000d704
cmp rcx, r8
ja 0x14000db6c
mov r8, rcx
lea rcx, [rsp + 0x90]
call fcn.14003c2c0
cmp qword [rsp + 0x90], 0
jne 0x14000d666
mov rbx, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa0]
test r15, r15
je 0x14000daf4
js 0x14000db7e
movzx eax, byte [0x14011e1a1]
mov r12d, 1
mov edx, 1
mov rcx, r15
call fcn.1400053e0
test rax, rax
jne 0x14000d721
jmp 0x14000db81
lea rbx, [0x14010702b]
mov r15d, 7
movzx eax, byte [0x14011e1a1]
mov edx, 1
mov rcx, r15
call fcn.1400053e0
test rax, rax
je 0x14000db41
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
mov r8, r15
call fcn.140044b10
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x14000d74c
mov rcx, qword [rsp + 0x48]
mov r8d, 1
call fcn.1400053f0
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 0x14000d79d
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.14000dc60
jmp 0x14000d82e
test esi, esi
je 0x14000d811
lea rdi, [rsi*8]
mov edx, 8
mov rcx, rdi
call fcn.140005410
test rax, rax
jne 0x14000d816
mov ecx, 8
mov rdx, rdi
call fcn.140049310
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
test rdi, rdi
je 0x14000dafe
js 0x14000db8c
movzx eax, byte [0x14011e1a1]
mov ebx, 1
mov edx, 1
mov rcx, rdi
call fcn.1400053e0
test rax, rax
je 0x14000db8e
mov r14, rax
jmp 0x14000db04
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 [0x14011e1a1]
mov edx, 8
mov rcx, rsi
call fcn.1400053e0
test rax, rax
je 0x14000db34
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 0x14000da09
shl rsi, 3
mov r14d, 1
lea rbp, [rsp + 0x100]
lea rbx, [rsp + 0x118]
movabs r15, 0x8000000000000000
jmp 0x14000d914
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 0x14000da09
mov qword [rsp + 0x130], r14
lea rax, [rsp + 0x130]
mov qword [rsp + 0x138], rax
lea rax, [fcn.14003f3c0]
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.140033e90
lea rcx, [rsp + 0xa8]
mov rdx, rbp
call fcn.140034be0
lea rcx, [rsp + 0xc0]
mov rdx, rbx
call fcn.140034be0
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 0x14000d8b0
lea rcx, [rsp + 0x28]
call fcn.140010940
jmp 0x14000d8b0
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 0x14000da4f
shl rdx, 3
mov r8d, 8
mov rcx, rdi
call fcn.1400053f0
mov rdx, qword [rsp + 0x118]
test rdx, rdx
movzx ebx, byte [rsp + 0x25]
je 0x14000da74
mov rcx, qword [rsp + 0x120]
mov r8d, 1
call fcn.1400053f0
mov rdi, qword [rsp + 0xf8]
lea rsi, [rdi + 0x70]
mov rdx, qword [rsp + 0x100]
test rdx, rdx
je 0x14000daa0
mov rcx, qword [rsp + 0x108]
mov r8d, 1
call fcn.1400053f0
mov rcx, rsi
call fcn.14000e240
mov rax, qword [rsi]
test rax, rax
je 0x14000dac3
mov rcx, qword [rdi + 0x78]
imul rdx, rax, 0x70
mov r8d, 8
call fcn.1400053f0
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 0x14000d724
mov r14d, 1
mov rcx, r14
mov rdx, rsi
mov r8, rdi
call fcn.140044b10
mov rdx, qword [rsp + 0x40]
test rdx, rdx
jne 0x14000d589
jmp 0x14000d599
mov ecx, 1
mov edx, 0xc
call fcn.140049310
mov ecx, 8
mov rdx, rsi
call fcn.140049310
mov ecx, 1
mov rdx, r15
call fcn.140049310
mov ecx, 4
mov edx, 0x50
call fcn.140049310
mov ecx, 1
mov edx, 0x30
call fcn.140049310
lea rax, [0x1401070b8]
mov rdx, r8
mov r8, rax
call fcn.140049860
xor r12d, r12d
mov rcx, r12
mov rdx, r15
call fcn.140049310
xor ebx, ebx
mov rcx, rbx
mov rdx, rdi
call fcn.140049310
lea rax, [0x1401070a0]
mov rcx, r8
mov r8, rax
call fcn.140049860
int3