Function at 0x140080d30
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 [0x140213038]
xor rax, rsp
mov qword [rsp + 0xf8], rax
movabs r14, 0x7fffffffffffffef
mov qword [rsp + 0x58], 0xffffffffffffffff
test r8, r8
je 0x140080d99
mov edx, 0x100
mov rcx, rsi
call fcn.14011c040
cmp rax, 0x100
je 0x140081377
cmp byte [0x14021f158], 0
je 0x14008136a
or r12d, 1
cmp byte [0x14021f159], 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 0x140080f90
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov rdx, rsi
call fcn.1400d5f20
movzx eax, byte [rdi + 0x17]
test al, al
js 0x14008114f
mov rcx, rax
add rcx, rcx
test rcx, rcx
je 0x140080e41
lea rdx, [rcx - 2]
cmp word [rdi + rcx - 2], 0x5c
mov rcx, rdx
je 0x140080e23
cmp rdx, 0xfffffffffffffffe
jne 0x140081326
test al, al
js 0x14008115e
mov word [rsp + 0x60], 0
mov byte [rsp + 0x77], 0
movzx eax, byte [rsp + 0x77]
test al, al
jns 0x140080e63
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140080f90
mov eax, 0x300
mov ecx, r12d
and ecx, eax
cmp ecx, eax
je 0x140080f90
cmp ebp, 2
lea rax, [0x14021f3b0]
lea rcx, [0x14021f5b0]
cmove rcx, rax
cmp word [rcx], 0
jne 0x140080f90
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 0x140080f90
cmp byte [0x14021f3a0], 0
setne al
bt r12d, 8
jb 0x140080f90
mov ecx, r12d
shr ecx, 9
and ecx, 1
or cl, al
je 0x140080f90
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 0x14008170d
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 0x140080f65
mov rdx, qword [rbx]
mov rcx, rsi
mov r8, rdi
call fcn.140117110
test eax, eax
je 0x140081583
add rbx, 0x28
inc r15
cmp r15, r13
jb 0x140080f43
cmp dword [rsp + 0x34], 0
movabs r14, 0x7fffffffffffffef
mov r15, qword [rsp + 0x38]
mov r12d, dword [rsp + 0x44]
jne 0x140081717
cmp ebp, 2
jne 0x140080fa3
cmp word [0x14021f3b0], 0
jne 0x1400815ce
cmp ebp, 1
jne 0x140080fb6
cmp word [0x14021f5b0], 0
jne 0x140081658
cmp ebp, 2
lea rax, [0x14021f7c0]
lea rbx, str.RegistryMachine_
cmove rbx, rax
mov rcx, rbx
call fcn.14011bf14
cmp rax, r14
ja 0x140081700
mov rsi, rax
cmp rax, 0xb
jae 0x140081104
mov byte [rsp + 0xd7], sil
lea rdi, [rsp + 0xc0]
test rsi, rsi
je 0x140081014
cmp rsi, 3
jne 0x140081139
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.1400d5b20
cmp byte [rdi + 0x17], 0
jns 0x140081058
mov rcx, qword [rsp + 0xc0]
call fcn.140100564
cmp byte [rsp + 0x77], 0
jns 0x140081064
mov rsi, qword [rsp + 0x60]
lea rdi, [rsp + 0xb0]
mov rcx, rdi
mov rdx, rsi
call qword [0x14021f170]
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 [0x14021f178]
test eax, eax
setns sil
cmp byte [rsp + 0x77], 0
jns 0x1400810cb
mov rcx, qword [rsp + 0x60]
call fcn.140100564
test sil, sil
jne 0x140081176
xor esi, esi
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.1401013e0
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.140100528
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.140103960
jmp 0x140081014
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
jmp 0x140080e20
mov rax, qword [rsp + 0x60]
mov word [rax], 0
mov qword [rsp + 0x68], 0
jmp 0x140080e55
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 [0x14021f158], 0
je 0x140081755
lea rcx, [rsp + 0x80]
movaps xmmword [rcx], xmm6
mov rdx, r15
call qword [0x14021f170]
lea rax, [rsp + 0x60]
mov dword [rax], 0x18
mov ecx, 0x18
call fcn.140100528
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 0x140081257
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 [0x14021f180]
cmp eax, 0x80000005
je 0x140081248
cmp eax, 0xc0000023
jne 0x14008129a
sub ebp, 1
jb 0x14008137e
mov eax, dword [rsp + 0x60]
jmp 0x1400811f6
mov qword [rsp + 0x38], r12
mov r12, r14
mov r14, rsi
sub r14, rbx
mov rax, r15
sub rax, rdi
cmp rax, r14
jb 0x1400814cd
test r14, r14
je 0x14008128d
lea rsi, [rdi + r14]
mov rcx, rdi
xor edx, edx
mov r8, r14
call fcn.140103d70
mov rdi, rsi
mov r14, r12
mov r12, qword [rsp + 0x38]
jmp 0x14008120e
test eax, eax
js 0x14008137e
mov eax, dword [r13 + 4]
mov dword [rsp + 0xb0], eax
mov r8d, dword [r13 + 0xc]
test r8, r8
je 0x1400814b8
mov edx, dword [r13 + 8]
add rdx, r13
add r8, rdx
lea rcx, [rsp + 0xc0]
call fcn.1400272a0
mov sil, 1
test r13, r13
je 0x1400812e1
mov rcx, r13
call fcn.140100564
test sil, sil
jne 0x140081769
xor esi, esi
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
jne 0x1400817a8
test sil, sil
jne 0x1400817ba
mov rsi, qword [rsp + 0x58]
cmp byte [0x14021f158], 0
je 0x1400817de
mov rcx, rsi
call qword [0x14021f160]
jmp 0x1400810d4
sar rdx, 1
inc rdx
lea rsi, [rsp + 0x60]
mov rcx, rsi
xor r8d, r8d
call fcn.1400d6a20
movzx eax, byte [rsi + 0x17]
test al, al
js 0x140081385
mov rcx, rax
mov r8, 0xffffffffffffffff
test rcx, rcx
je 0x140081397
add rcx, rcx
xor edx, edx
cmp word [rsi + rdx], 0x5c
jne 0x140081391
add rdx, 2
cmp rcx, rdx
jne 0x140081358
jmp 0x140081397
call fcn.140080a00
test al, al
jne 0x140080da6
xor esi, esi
jmp 0x1400810cb
xor esi, esi
jmp 0x1400812d4
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
jmp 0x140081347
sar rdx, 1
mov r8, rdx
test al, al
jns 0x14008154a
cmp r8, 0xffffffffffffffff
je 0x1400817e8
lea rcx, [rsp + 0x60]
xor edx, edx
call fcn.1400d6830
mov al, byte [rsp + 0x77]
test al, al
js 0x1400813e8
lea rcx, [rsp + 0x60]
movzx edx, al
test rdx, rdx
je 0x140080e55
add rdx, rdx
xor edi, edi
cmp word [rcx + rdi], 0x5c
je 0x1400813f4
add rdi, 2
cmp rdx, rdi
jne 0x1400813d3
jmp 0x140080e55
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
jmp 0x1400813c5
cmp rdx, rdi
je 0x140080e55
cmp rdi, 0xfffffffffffffffe
je 0x140080e55
sar rdi, 1
lea rsi, [rsp + 0x60]
lea rdx, [rdi + 1]
test al, al
js 0x140081442
movzx ecx, word [rsp + rdi*2 + 0x62]
cmp cx, 0x5c
jne 0x140081459
movzx eax, al
cmp rax, rdi
jbe 0x140081579
mov r8d, 1
mov rcx, rsi
call fcn.1400d6830
mov al, byte [rsp + 0x77]
jmp 0x14008140f
mov rax, qword [rsp + 0x60]
movzx ecx, word [rax + rdi*2 + 2]
cmp cx, 0x5c
jne 0x1400814b1
mov rax, qword [rsp + 0x68]
jmp 0x140081425
movzx ebx, al
mov rax, rsi
cmp rbx, rdx
jbe 0x140080e55
add rdi, rdi
lea rdx, [rbx + rbx]
add rdx, 0xfffffffffffffffc
cmp cx, 0x5c
je 0x14008148d
cmp rdx, rdi
je 0x140080e55
movzx ecx, word [rax + rdi + 4]
add rdi, 2
jmp 0x140081473
lea rax, [rbx + rbx]
add rax, 0xfffffffffffffffe
cmp rax, rdi
je 0x140080e55
cmp rdi, 0xfffffffffffffffc
je 0x140080e55
add rdi, 2
sar rdi, 1
jmp 0x14008143c
mov rbx, qword [rsp + 0x68]
jmp 0x14008145f
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rax
jmp 0x1400812d1
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 0x1400818e4
mov rcx, r15
call fcn.140100528
mov rdi, rax
lea rcx, [rdi + rbx]
xor edx, edx
mov r8, r14
call fcn.140103d70
test rbx, rbx
mov r14, r12
mov r12, qword [rsp + 0x38]
jle 0x14008152c
cmp rbx, 2
jne 0x140081569
movzx eax, word [r13]
mov word [rdi], ax
add r15, rdi
add rsi, rdi
test r13, r13
je 0x14008153f
mov rcx, r13
call fcn.140100564
mov r13, rdi
mov rdi, rsi
jmp 0x14008120e
cmp r8, 0xffffffffffffffff
jne 0x1400813a9
lea rcx, [rsp + 0x60]
mov word [rcx], 0
mov byte [rcx + 0x17], 0
xor eax, eax
jmp 0x1400813c2
mov rcx, rdi
mov rdx, r13
mov r8, rbx
call fcn.140103960
jmp 0x14008152c
lea rcx, [rsp + 0x60]
call fcn.140154da0
movzx ecx, word [rsi + rdi*2]
cmp cx, 0x5c
je 0x140081596
test cx, cx
jne 0x140080f65
lea rax, [rsi + rdi*2]
mov edx, dword [rbx + 0x10]
mov dword [rsp + 0x34], edx
cmp edx, 1
je 0x14008189a
cmp dword [rsp + 0x34], 2
jne 0x1400818ab
lea rdx, str.WOW6432Node
mov qword [rsp + 0x50], rdx
mov rdx, rax
mov qword [rsp + 0x48], rax
jmp 0x1400818ab
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [0x1401d9dd0]
movaps xmmword [rsp + 0xc0], xmm0
lea rcx, [0x14021f7c0]
call fcn.14011bf14
cmp rax, r14
ja 0x140081700
mov rsi, rax
mov rbp, r14
cmp rax, 0xb
jae 0x140081800
mov byte [rsp + 0xd7], sil
lea rbx, [rsp + 0xc0]
test rsi, rsi
je 0x140081646
cmp rsi, 3
jne 0x140081833
movzx eax, word [0x14021f7c4]
mov word [rbx + 4], ax
mov eax, dword [0x14021f7c0]
mov dword [rbx], eax
mov word [rbx + rsi*2], 0
lea rdx, [0x14021f3b0]
jmp 0x1400816d9
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [0x1401d9dd0]
movaps xmmword [rsp + 0xc0], xmm0
lea rcx, [0x14021f7c0]
call fcn.14011bf14
cmp rax, r14
ja 0x140081700
mov rsi, rax
mov rbp, r14
cmp rax, 0xb
jae 0x14008184d
mov byte [rsp + 0xd7], sil
lea rbx, [rsp + 0xc0]
test rsi, rsi
je 0x1400816cc
cmp rsi, 3
jne 0x140081880
movzx eax, word [0x14021f7c4]
mov word [rbx + 4], ax
mov eax, dword [0x14021f7c0]
mov dword [rbx], eax
mov word [rbx + rsi*2], 0
lea rdx, [0x14021f5b0]
lea rsi, [rsp + 0xc0]
mov rcx, rsi
call fcn.140031cf0
lea rdx, [0x1401e1330]
mov rcx, rsi
call fcn.140031cf0
mov r14, rbp
jmp 0x14008101a
lea rcx, [rsp + 0xc0]
call fcn.140154d80
lea rsi, [rsp + 0x60]
jmp 0x140080f24
cmp byte [rsp + 0x77], 0
js 0x1400818da
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.140031a80
movabs r14, 0x7fffffffffffffef
mov r12d, dword [rsp + 0x44]
jmp 0x140080f90
call fcn.140080a00
test al, al
jne 0x1400811aa
xor esi, esi
jmp 0x1400812e1
mov eax, dword [rsp + 0xb0]
dec eax
cmp eax, 1
ja 0x1400812ea
mov rsi, qword [rsp + 0x180]
lea rdi, [rsp + 0xc0]
mov rcx, rdi
xor edx, edx
call fcn.14017b5c0
mov rdx, qword [rdi]
mov rcx, rsi
call fcn.1400d5f20
mov sil, 1
jmp 0x1400812ec
mov qword [rsp + 0xc8], rcx
call fcn.140100564
jmp 0x1400812fd
mov rsi, qword [rsp + 0x58]
cmp byte [0x14021f158], 0
jne 0x1400817cd
call fcn.140080a00
mov rcx, rsi
call qword [0x14021f160]
mov sil, 1
jmp 0x1400810d6
call fcn.140080a00
jmp 0x140081318
mov rax, qword [rsp + 0x60]
mov word [rax], 0
mov qword [rsp + 0x68], 0
jmp 0x1400813b5
lea rdi, [rsi + 8]
and rdi, 0xfffffffffffffff8
lea rcx, [rdi + rdi]
call fcn.140100528
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, [0x14021f7c0]
mov rcx, rbx
call fcn.140103960
jmp 0x140081646
lea rdi, [rsi + 8]
and rdi, 0xfffffffffffffff8
lea rcx, [rdi + rdi]
call fcn.140100528
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, [0x14021f7c0]
mov rcx, rbx
call fcn.140103960
jmp 0x1400816cc
lea rdx, str.WOW6432Node_
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], rsi
cmp cx, 0x5c
jne 0x1400818c4
lea rsi, [rax + 2]
dec r14
cmp word [rax + 2], 0x5c
mov rax, rsi
je 0x1400818b1
jmp 0x1400818c7
mov rsi, rax
mov r13, qword [rbx + 0x20]
mov rbx, qword [rbx + 0x18]
xor r15d, r15d
mov r12, r14
jmp 0x140080f6c
mov rax, qword [rsp + 0x60]
jmp 0x140081727
xor edi, edi
jmp 0x140081503