Function at 0x14002f080
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, 0x118
movaps xmmword [rsp + 0x100], xmm6
mov r15, r9
mov rsi, r8
mov r12d, edx
mov ebx, ecx
mov rax, qword [0x1400e5028]
xor rax, rsp
mov qword [rsp + 0xf8], rax
movabs r14, 0x7fffffffffffffef
mov qword [rsp + 0x58], 0xffffffffffffffff
test r8, r8
je 0x14002f0e9
mov edx, 0x100
mov rcx, rsi
call fcn.140076ba4
cmp rax, 0x100
je 0x14002f6c7
cmp byte [0x1400ee070], 0
je 0x14002f6ba
or r12d, 1
cmp byte [0x1400ee071], 1
mov ebp, 1
adc ebp, 0
test ebx, ebx
cmovne ebp, ebx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x58], 0xffffffffffffffff
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
test rsi, rsi
je 0x14002f2e0
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov rdx, rsi
call fcn.1400437e0
movzx eax, byte [rdi + 0x17]
test al, al
js 0x14002f49f
mov rcx, rax
add rcx, rcx
test rcx, rcx
je 0x14002f191
lea rdx, [rcx - 2]
cmp word [rdi + rcx - 2], 0x5c
mov rcx, rdx
je 0x14002f173
cmp rdx, 0xfffffffffffffffe
jne 0x14002f676
test al, al
js 0x14002f4ae
mov word [rsp + 0x60], 0
mov byte [rsp + 0x77], 0
movzx eax, byte [rsp + 0x77]
test al, al
jns 0x14002f1b3
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x14002f2e0
mov eax, 0x300
mov ecx, r12d
and ecx, eax
cmp ecx, eax
je 0x14002f2e0
cmp ebp, 2
lea rax, [0x1400ee2d0]
lea rcx, [0x1400ee4d0]
cmove rcx, rax
cmp word [rcx], 0
jne 0x14002f2e0
xorps xmm0, xmm0
lea rsi, [rsp + 0xc0]
movaps xmmword [rsi + 0x20], xmm0
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
cmp word [rsi], 0
je 0x14002f2e0
cmp byte [0x1400ee2c0], 0
setne al
bt r12d, 8
jb 0x14002f2e0
mov ecx, r12d
shr ecx, 9
and ecx, 1
or cl, al
je 0x14002f2e0
mov dword [rsp + 0x44], r12d
cmp ebp, 2
lea rax, str.SOFTWAREClasses
lea rbx, str.SOFTWARE
cmove rbx, rax
movzx r12d, byte [rsp + 0x77]
test r12b, r12b
mov qword [rsp + 0x38], r15
jns 0x14002fa5d
mov rsi, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov r13d, 1
xor r15d, r15d
xor eax, eax
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x34], 0
mov rdi, qword [rbx + 8]
mov r14, r12
sub r14, rdi
jb 0x14002f2b5
mov rdx, qword [rbx]
mov rcx, rsi
mov r8, rdi
call fcn.140071d0c
test eax, eax
je 0x14002f8d3
add rbx, 0x28
inc r15
cmp r15, r13
jb 0x14002f293
cmp dword [rsp + 0x34], 0
movabs r14, 0x7fffffffffffffef
mov r15, qword [rsp + 0x38]
mov r12d, dword [rsp + 0x44]
jne 0x14002fa67
cmp ebp, 2
jne 0x14002f2f3
cmp word [0x1400ee2d0], 0
jne 0x14002f91e
cmp ebp, 1
jne 0x14002f306
cmp word [0x1400ee4d0], 0
jne 0x14002f9a8
cmp ebp, 2
lea rax, [0x1400ee6e0]
lea rbx, str.RegistryMachine_
cmove rbx, rax
mov rcx, rbx
call fcn.140076a78
cmp rax, r14
ja 0x14002fa50
mov rsi, rax
cmp rax, 0xb
jae 0x14002f454
mov byte [rsp + 0xd7], sil
lea rdi, [rsp + 0xc0]
test rsi, rsi
je 0x14002f364
cmp rsi, 3
jne 0x14002f489
movzx eax, word [rbx + 4]
mov word [rdi + 4], ax
mov eax, dword [rbx]
mov dword [rdi], eax
mov word [rdi + rsi*2], 0
lea rdi, [rsp + 0xc0]
movzx r9d, byte [rdi + 0x17]
test r9b, r9b
cmovs r9, qword [rdi + 8]
mov r8, qword [rdi]
cmovns r8, rdi
lea rsi, [rsp + 0x60]
mov rcx, rsi
xor edx, edx
call fcn.1400433e0
cmp byte [rdi + 0x17], 0
jns 0x14002f3a8
mov rcx, qword [rsp + 0xc0]
call fcn.14005db14
cmp byte [rsp + 0x77], 0
jns 0x14002f3b4
mov rsi, qword [rsp + 0x60]
lea rdi, [rsp + 0xb0]
mov rcx, rdi
mov rdx, rsi
call qword [0x1400ee088]
lea r8, [rsp + 0x80]
mov dword [r8], 0x30
mov qword [r8 + 8], 0
mov dword [r8 + 0x18], 0x40
mov qword [r8 + 0x10], rdi
xorps xmm0, xmm0
movaps xmmword [r8 + 0x20], xmm0
lea rcx, [rsp + 0x58]
mov edx, r12d
xor r9d, r9d
call qword [0x1400ee090]
test eax, eax
setns sil
cmp byte [rsp + 0x77], 0
jns 0x14002f41b
mov rcx, qword [rsp + 0x60]
call fcn.14005db14
test sil, sil
jne 0x14002f4c6
xor esi, esi
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.14005e850
mov eax, esi
movaps xmm6, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rbp, [rsi + 8]
and rbp, 0xfffffffffffffff8
mov rcx, rbp
add rcx, rbp
call fcn.14005dad8
mov rdi, rax
mov qword [rsp + 0xc0], rax
lea rax, [r14 + 0x11]
or rax, rbp
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xc8], rsi
mov r8, rsi
add r8, rsi
mov rcx, rdi
mov rdx, rbx
call fcn.140060dd0
jmp 0x14002f364
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
jmp 0x14002f170
mov rax, qword [rsp + 0x60]
mov word [rax], 0
mov qword [rsp + 0x68], 0
jmp 0x14002f1a5
mov r12, qword [rsp + 0x58]
xorps xmm6, xmm6
movaps xmmword [rsp + 0xc0], xmm6
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0xb0], 0
cmp byte [0x1400ee070], 0
je 0x14002faa5
lea rcx, [rsp + 0x80]
movaps xmmword [rcx], xmm6
mov rdx, r15
call qword [0x1400ee088]
lea rax, [rsp + 0x60]
mov dword [rax], 0x18
mov ecx, 0x18
call fcn.14005dad8
mov r13, rax
lea r15, [rax + 0x18]
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov eax, 0x18
mov ebp, 4
add r14, 0x10
mov rdi, r15
mov esi, eax
mov rbx, rdi
sub rbx, r13
cmp rbx, rsi
jb 0x14002f5a7
lea rax, [rsi + r13]
cmp rbx, rsi
cmova rdi, rax
mov eax, dword [rsp + 0x60]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov rcx, r12
lea rdx, [rsp + 0x80]
mov r8d, 1
mov r9, r13
call qword [0x1400ee098]
cmp eax, 0x80000005
je 0x14002f598
cmp eax, 0xc0000023
jne 0x14002f5ea
sub ebp, 1
jb 0x14002f6ce
mov eax, dword [rsp + 0x60]
jmp 0x14002f546
mov qword [rsp + 0x38], r12
mov r12, r14
mov r14, rsi
sub r14, rbx
mov rax, r15
sub rax, rdi
cmp rax, r14
jb 0x14002f81d
test r14, r14
je 0x14002f5dd
lea rsi, [rdi + r14]
mov rcx, rdi
xor edx, edx
mov r8, r14
call fcn.1400611e0
mov rdi, rsi
mov r14, r12
mov r12, qword [rsp + 0x38]
jmp 0x14002f55e
test eax, eax
js 0x14002f6ce
mov eax, dword [r13 + 4]
mov dword [rsp + 0xb0], eax
mov r8d, dword [r13 + 0xc]
test r8, r8
je 0x14002f808
mov edx, dword [r13 + 8]
add rdx, r13
add r8, rdx
lea rcx, [rsp + 0xc0]
call fcn.14001bc40
mov sil, 1
test r13, r13
je 0x14002f631
mov rcx, r13
call fcn.14005db14
test sil, sil
jne 0x14002fab9
xor esi, esi
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
jne 0x14002faf8
test sil, sil
jne 0x14002fb0a
mov rsi, qword [rsp + 0x58]
cmp byte [0x1400ee070], 0
je 0x14002fb2e
mov rcx, rsi
call qword [0x1400ee078]
jmp 0x14002f424
sar rdx, 1
inc rdx
lea rsi, [rsp + 0x60]
mov rcx, rsi
xor r8d, r8d
call fcn.1400442e0
movzx eax, byte [rsi + 0x17]
test al, al
js 0x14002f6d5
mov rcx, rax
mov r8, 0xffffffffffffffff
test rcx, rcx
je 0x14002f6e7
add rcx, rcx
xor edx, edx
cmp word [rsi + rdx], 0x5c
jne 0x14002f6e1
add rdx, 2
cmp rcx, rdx
jne 0x14002f6a8
jmp 0x14002f6e7
call fcn.14002ed50
test al, al
jne 0x14002f0f6
xor esi, esi
jmp 0x14002f41b
xor esi, esi
jmp 0x14002f624
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
jmp 0x14002f697
sar rdx, 1
mov r8, rdx
test al, al
jns 0x14002f89a
cmp r8, 0xffffffffffffffff
je 0x14002fb38
lea rcx, [rsp + 0x60]
xor edx, edx
call fcn.1400440f0
mov al, byte [rsp + 0x77]
test al, al
js 0x14002f738
lea rcx, [rsp + 0x60]
movzx edx, al
test rdx, rdx
je 0x14002f1a5
add rdx, rdx
xor edi, edi
cmp word [rcx + rdi], 0x5c
je 0x14002f744
add rdi, 2
cmp rdx, rdi
jne 0x14002f723
jmp 0x14002f1a5
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
jmp 0x14002f715
cmp rdx, rdi
je 0x14002f1a5
cmp rdi, 0xfffffffffffffffe
je 0x14002f1a5
sar rdi, 1
lea rsi, [rsp + 0x60]
lea rdx, [rdi + 1]
test al, al
js 0x14002f792
movzx ecx, word [rsp + rdi*2 + 0x62]
cmp cx, 0x5c
jne 0x14002f7a9
movzx eax, al
cmp rax, rdi
jbe 0x14002f8c9
mov r8d, 1
mov rcx, rsi
call fcn.1400440f0
mov al, byte [rsp + 0x77]
jmp 0x14002f75f
mov rax, qword [rsp + 0x60]
movzx ecx, word [rax + rdi*2 + 2]
cmp cx, 0x5c
jne 0x14002f801
mov rax, qword [rsp + 0x68]
jmp 0x14002f775
movzx ebx, al
mov rax, rsi
cmp rbx, rdx
jbe 0x14002f1a5
add rdi, rdi
lea rdx, [rbx + rbx]
add rdx, 0xfffffffffffffffc
cmp cx, 0x5c
je 0x14002f7dd
cmp rdx, rdi
je 0x14002f1a5
movzx ecx, word [rax + rdi + 4]
add rdi, 2
jmp 0x14002f7c3
lea rax, [rbx + rbx]
add rax, 0xfffffffffffffffe
cmp rax, rdi
je 0x14002f1a5
cmp rdi, 0xfffffffffffffffc
je 0x14002f1a5
add rdi, 2
sar rdi, 1
jmp 0x14002f78c
mov rbx, qword [rsp + 0x68]
jmp 0x14002f7af
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rax
jmp 0x14002f621
sub r15, r13
lea rax, [r15 + r15]
cmp rax, rsi
cmovb rax, rsi
movabs rcx, 0x3fffffffffffffff
cmp r15, rcx
mov r15, rax
cmovae r15, r12
test r15, r15
je 0x14002fc34
mov rcx, r15
call fcn.14005dad8
mov rdi, rax
lea rcx, [rdi + rbx]
xor edx, edx
mov r8, r14
call fcn.1400611e0
test rbx, rbx
mov r14, r12
mov r12, qword [rsp + 0x38]
jle 0x14002f87c
cmp rbx, 2
jne 0x14002f8b9
movzx eax, word [r13]
mov word [rdi], ax
add r15, rdi
add rsi, rdi
test r13, r13
je 0x14002f88f
mov rcx, r13
call fcn.14005db14
mov r13, rdi
mov rdi, rsi
jmp 0x14002f55e
cmp r8, 0xffffffffffffffff
jne 0x14002f6f9
lea rcx, [rsp + 0x60]
mov word [rcx], 0
mov byte [rcx + 0x17], 0
xor eax, eax
jmp 0x14002f712
mov rcx, rdi
mov rdx, r13
mov r8, rbx
call fcn.140060dd0
jmp 0x14002f87c
lea rcx, [rsp + 0x60]
call fcn.1400a9650
movzx ecx, word [rsi + rdi*2]
cmp cx, 0x5c
je 0x14002f8e6
test cx, cx
jne 0x14002f2b5
lea rax, [rsi + rdi*2]
mov edx, dword [rbx + 0x10]
mov dword [rsp + 0x34], edx
cmp edx, 1
je 0x14002fbea
cmp dword [rsp + 0x34], 2
jne 0x14002fbfb
lea rdx, str.WOW6432Node
mov qword [rsp + 0x50], rdx
mov rdx, rax
mov qword [rsp + 0x48], rax
jmp 0x14002fbfb
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [0x1400ca990]
movaps xmmword [rsp + 0xc0], xmm0
lea rcx, [0x1400ee6e0]
call fcn.140076a78
cmp rax, r14
ja 0x14002fa50
mov rsi, rax
mov rbp, r14
cmp rax, 0xb
jae 0x14002fb50
mov byte [rsp + 0xd7], sil
lea rbx, [rsp + 0xc0]
test rsi, rsi
je 0x14002f996
cmp rsi, 3
jne 0x14002fb83
movzx eax, word [0x1400ee6e4]
mov word [rbx + 4], ax
mov eax, dword [0x1400ee6e0]
mov dword [rbx], eax
mov word [rbx + rsi*2], 0
lea rdx, [0x1400ee2d0]
jmp 0x14002fa29
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [0x1400ca990]
movaps xmmword [rsp + 0xc0], xmm0
lea rcx, [0x1400ee6e0]
call fcn.140076a78
cmp rax, r14
ja 0x14002fa50
mov rsi, rax
mov rbp, r14
cmp rax, 0xb
jae 0x14002fb9d
mov byte [rsp + 0xd7], sil
lea rbx, [rsp + 0xc0]
test rsi, rsi
je 0x14002fa1c
cmp rsi, 3
jne 0x14002fbd0
movzx eax, word [0x1400ee6e4]
mov word [rbx + 4], ax
mov eax, dword [0x1400ee6e0]
mov dword [rbx], eax
mov word [rbx + rsi*2], 0
lea rdx, [0x1400ee4d0]
lea rsi, [rsp + 0xc0]
mov rcx, rsi
call fcn.140022740
lea rdx, [0x1400cfb94]
mov rcx, rsi
call fcn.140022740
mov r14, rbp
jmp 0x14002f36a
lea rcx, [rsp + 0xc0]
call fcn.1400a9630
lea rsi, [rsp + 0x60]
jmp 0x14002f274
cmp byte [rsp + 0x77], 0
js 0x14002fc2a
lea rax, [rsp + 0x60]
mov rdx, qword [rsp + 0x48]
sub rdx, rax
sar rdx, 1
lea rcx, [rsp + 0x60]
mov r8, qword [rsp + 0x50]
call fcn.140022710
movabs r14, 0x7fffffffffffffef
mov r12d, dword [rsp + 0x44]
jmp 0x14002f2e0
call fcn.14002ed50
test al, al
jne 0x14002f4fa
xor esi, esi
jmp 0x14002f631
mov eax, dword [rsp + 0xb0]
dec eax
cmp eax, 1
ja 0x14002f63a
mov rsi, qword [rsp + 0x180]
lea rdi, [rsp + 0xc0]
mov rcx, rdi
xor edx, edx
call fcn.1400b3560
mov rdx, qword [rdi]
mov rcx, rsi
call fcn.1400437e0
mov sil, 1
jmp 0x14002f63c
mov qword [rsp + 0xc8], rcx
call fcn.14005db14
jmp 0x14002f64d
mov rsi, qword [rsp + 0x58]
cmp byte [0x1400ee070], 0
jne 0x14002fb1d
call fcn.14002ed50
mov rcx, rsi
call qword [0x1400ee078]
mov sil, 1
jmp 0x14002f426
call fcn.14002ed50
jmp 0x14002f668
mov rax, qword [rsp + 0x60]
mov word [rax], 0
mov qword [rsp + 0x68], 0
jmp 0x14002f705
lea rdi, [rsi + 8]
and rdi, 0xfffffffffffffff8
lea rcx, [rdi + rdi]
call fcn.14005dad8
mov rbx, rax
mov qword [rsp + 0xc0], rax
lea rax, [rbp + 0x11]
or rax, rdi
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xc8], rsi
mov r8, rsi
add r8, rsi
lea rdx, [0x1400ee6e0]
mov rcx, rbx
call fcn.140060dd0
jmp 0x14002f996
lea rdi, [rsi + 8]
and rdi, 0xfffffffffffffff8
lea rcx, [rdi + rdi]
call fcn.14005dad8
mov rbx, rax
mov qword [rsp + 0xc0], rax
lea rax, [rbp + 0x11]
or rax, rdi
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xc8], rsi
mov r8, rsi
add r8, rsi
lea rdx, [0x1400ee6e0]
mov rcx, rbx
call fcn.140060dd0
jmp 0x14002fa1c
lea rdx, str.WOW6432Node_
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], rsi
cmp cx, 0x5c
jne 0x14002fc14
lea rsi, [rax + 2]
dec r14
cmp word [rax + 2], 0x5c
mov rax, rsi
je 0x14002fc01
jmp 0x14002fc17
mov rsi, rax
mov r13, qword [rbx + 0x20]
mov rbx, qword [rbx + 0x18]
xor r15d, r15d
mov r12, r14
jmp 0x14002f2bc
mov rax, qword [rsp + 0x60]
jmp 0x14002fa77
xor edi, edi
jmp 0x14002f853