Function at 0x1400c60e0
Capabilities:
Check os version
Get system information on windows
Query or enumerate registry value

Disassembly:
mov r11, rsp
push rbp
push rsi
lea rbp, [r11 - 0x128]
sub rsp, 0x218
mov rax, qword [0x1401664b8]
xor rax, rsp
mov qword [rbp + 0xe0], rax
mov qword [r11 + 0x10], rbx
mov qword [r11 - 0x18], rdi
xor edi, edi
mov qword [r11 - 0x20], r12
mov esi, edi
mov qword [r11 - 0x30], r14
mov r12, rcx
mov qword [rbp - 0x80], rcx
lea rcx, [rbp - 0x78]
mov qword [r11 - 0x38], r15
mov r15, r8
mov qword [rsp + 0x78], r8
mov dword [rsp + 0x50], edi
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
xor edx, edx
lea rcx, [rbp - 0x3c]
mov r8d, 0x118
call sub.VCRUNTIME140.dll_memset
lea edx, [rdi + 0x1a]
mov dword [rbp - 0x40], 0x11c
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
call fcn.140019590
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x1a]
mov dword [rsp + 0x48], eax
cmp eax, dword [rsp + 0x4c]
jle 0x1400c6183
lea rcx, [rsp + 0x40]
call fcn.1400191f0
mov rcx, qword [rsp + 0x40]
lea rdx, str.Windows__unknown_version_
mov r8d, 0x34
call fcn.140032f10
mov rbx, rdi
mov qword [rsp + 0x38], rdi
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x30], rbx
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
lea r14, [0x14011b550]
test eax, eax
je 0x1400c7b01
mov eax, dword [rbp - 0x3c]
mov qword [rsp + 0x200], r13
sub eax, 5
je 0x1400c6a2f
sub eax, 1
je 0x1400c6616
cmp eax, 4
je 0x1400c61f0
mov esi, 1
mov dword [rsp + 0x50], esi
jmp 0x1400c6fee
cmp dword [rbp - 0x38], ebx
je 0x1400c6203
mov esi, 1
mov dword [rsp + 0x50], esi
jmp 0x1400c6ff8
cmp byte [rbp + 0xda], 1
jne 0x1400c6303
cmp dword [rbp - 0x34], 0x55f0
jb 0x1400c628e
lea rax, str.Windows_11
cmp qword [rsp + 0x40], rax
je 0x1400c63ed
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400c6251
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c6266
lea rcx, [rsp + 0x40]
call fcn.1400191f0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_11]
movups xmmword [rcx], xmm0
mov eax, dword [0x140137868]
mov dword [rcx + 0x10], eax
movzx eax, word [0x14013786c]
mov word [rcx + 0x14], ax
jmp 0x1400c63ed
lea rax, str.Windows_10
cmp qword [rsp + 0x40], rax
je 0x1400c63ed
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400c62c6
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c62db
lea rcx, [rsp + 0x40]
call fcn.1400191f0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_10]
movups xmmword [rcx], xmm0
mov eax, dword [0x140137880]
mov dword [rcx + 0x10], eax
movzx eax, word [0x140137884]
mov word [rcx + 0x14], ax
jmp 0x1400c63ed
cmp dword [rbp - 0x34], 0x4f7c
jb 0x1400c637d
lea rax, str.Windows_Server_2022
cmp qword [rsp + 0x40], rax
je 0x1400c63ed
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400c6344
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c6359
lea rcx, [rsp + 0x40]
call fcn.1400191f0
movups xmm0, xmmword [str.Windows_Server_2022]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140137898]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1401378a8]
jmp 0x1400c63e8
lea rax, str.Windows_Server_2019
cmp qword [rsp + 0x40], rax
je 0x1400c63ed
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400c63b1
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c63c6
lea rcx, [rsp + 0x40]
call fcn.1400191f0
movups xmm0, xmmword [str.Windows_Server_2019]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1401378c0]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1401378d0]
movsd qword [rax + 0x20], xmm0
mov r13, rdi
mov dword [rsp + 0x58], edi
mov r15d, edi
mov r14d, edi
mov eax, 0x200
nop
test sil, sil
jne 0x1400c659e
mov r9d, 0x100
mov qword [rsp + 0x70], rdi
test r14d, r14d
lea rdx, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
mov rcx, 0xffffffff80000002
cmove r9d, eax
lea rax, [rsp + 0x70]
or r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400c6582
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x54]
mov qword [rsp + 0x28], rax
lea rdx, str.ReleaseId
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov dword [rsp + 0x54], edi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400c6577
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x1400c6577
mov ecx, eax
call fcn.140013490
mov rcx, qword [rsp + 0x70]
lea rdx, str.ReleaseId
mov r12, rax
xor r9d, r9d
lea rax, [rsp + 0x54]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400c656f
mov esi, dword [rsp + 0x54]
mov eax, edi
shr esi, 1
mov r14, rdi
mov qword [rsp + 0x60], rdi
mov r15d, edi
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x6c], eax
test r12, r12
je 0x1400c654d
cmp esi, 1
jbe 0x1400c654d
cmp word [r12], ax
je 0x1400c654d
test esi, esi
je 0x1400c650d
mov edx, esi
lea rcx, [rsp + 0x60]
call fcn.140019590
mov eax, dword [rsp + 0x6c]
mov r15d, dword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov edx, r15d
add r15d, esi
mov dword [rsp + 0x68], r15d
cmp r15d, eax
jle 0x1400c6531
lea rcx, [rsp + 0x60]
call fcn.1400191f0
mov r15d, dword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
lea r8, [rsi*2 - 2]
mov rdx, r12
mov rcx, r14
call fcn.140032f10
movsxd rax, r15d
mov word [r14 + rax*2 - 2], di
test r13, r13
je 0x1400c655a
mov rcx, r13
call fcn.140044390
mov r13, r14
mov qword [rsp + 0x60], rdi
mov r14d, dword [rsp + 0x58]
mov sil, 1
mov qword [rsp + 0x68], rdi
mov rcx, r12
call fcn.140013520
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc r14d
mov eax, 0x200
mov dword [rsp + 0x58], r14d
cmp r14d, 2
jl 0x1400c6400
test sil, sil
je 0x1400c65f2
lea r14, [0x14011b550]
test r15d, r15d
mov r8, r14
lea rdx, str.__Release__s_
cmovne r8, r13
lea rcx, [rsp + 0x60]
call fcn.14001edb0
mov r8d, dword [rsp + 0x68]
test r8d, r8d
je 0x1400c65cf
dec r8d
jmp 0x1400c65d2
mov r8d, edi
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.14001cc20
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400c65f9
call fcn.140044390
jmp 0x1400c65f9
lea r14, [0x14011b550]
test r13, r13
je 0x1400c6606
mov rcx, r13
call fcn.140044390
mov r15, qword [rsp + 0x78]
mov esi, ebx
mov r12, qword [rbp - 0x80]
jmp 0x1400c6fee
mov eax, dword [rbp - 0x38]
test eax, eax
je 0x1400c6936
sub eax, 1
je 0x1400c6836
sub eax, 1
je 0x1400c674a
cmp eax, 1
je 0x1400c6646
mov esi, 1
mov dword [rsp + 0x50], esi
jmp 0x1400c6ff8
cmp byte [rbp + 0xda], 1
jne 0x1400c66bd
lea rax, str.Windows_8.1
cmp qword [rsp + 0x40], rax
je 0x1400c6ff8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xc
je 0x1400c6687
mov edx, 0xc
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xc]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c669c
lea rcx, [rsp + 0x40]
call fcn.1400191f0
mov rax, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_8.1]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140137820]
movsd qword [rax + 0x10], xmm1
jmp 0x1400c6fee
lea rax, str.Windows_Server_2012_R2
cmp qword [rsp + 0x40], rax
je 0x1400c6ff8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x17
je 0x1400c66f5
mov edx, 0x17
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c670a
lea rcx, [rsp + 0x40]
call fcn.1400191f0
movups xmm0, xmmword [str.Windows_Server_2012_R2]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140137838]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x140137848]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x140137850]
mov dword [rcx + 0x28], eax
movzx eax, word [0x140137854]
mov word [rcx + 0x2c], ax
jmp 0x1400c6fee
cmp byte [rbp + 0xda], 1
jne 0x1400c67bd
lea rax, str.Windows_8
cmp qword [rsp + 0x40], rax
je 0x1400c6ff8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xa
je 0x1400c678b
mov edx, 0xa
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xa]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c67a0
lea rcx, [rsp + 0x40]
call fcn.1400191f0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_8]
movups xmmword [rcx], xmm0
mov eax, dword [0x1401377e0]
mov dword [rcx + 0x10], eax
jmp 0x1400c6fee
lea rax, str.Windows_Server_2012
cmp qword [rsp + 0x40], rax
je 0x1400c6ff8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400c67f5
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c680a
lea rcx, [rsp + 0x40]
call fcn.1400191f0
movups xmm0, xmmword [str.Windows_Server_2012]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1401377f8]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140137808]
movsd qword [rax + 0x20], xmm0
jmp 0x1400c6fee
cmp byte [rbp + 0xda], 1
jne 0x1400c68a9
lea rax, str.Windows_7
cmp qword [rsp + 0x40], rax
je 0x1400c6ff8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xa
je 0x1400c6877
mov edx, 0xa
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xa]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c688c
lea rcx, [rsp + 0x40]
call fcn.1400191f0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_7]
movups xmmword [rcx], xmm0
mov eax, dword [0x140137798]
mov dword [rcx + 0x10], eax
jmp 0x1400c6fee
lea rax, str.Windows_Server_2008_R2
cmp qword [rsp + 0x40], rax
je 0x1400c6ff8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x17
je 0x1400c68e1
mov edx, 0x17
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c68f6
lea rcx, [rsp + 0x40]
call fcn.1400191f0
movups xmm0, xmmword [str.Windows_Server_2008_R2]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x1401377b0]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x1401377c0]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x1401377c8]
mov dword [rcx + 0x28], eax
movzx eax, word [0x1401377cc]
mov word [rcx + 0x2c], ax
jmp 0x1400c6fee
cmp byte [rbp + 0xda], 1
jne 0x1400c69b6
lea rax, str.Windows_Vista
cmp qword [rsp + 0x40], rax
je 0x1400c6ff8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xe
je 0x1400c6977
mov edx, 0xe
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xe]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c698c
lea rcx, [rsp + 0x40]
call fcn.1400191f0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_Vista]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x140137750]
movsd qword [rcx + 0x10], xmm1
mov eax, dword [0x140137758]
mov dword [rcx + 0x18], eax
jmp 0x1400c6fee
lea rax, str.Windows_Server_2008
cmp qword [rsp + 0x40], rax
je 0x1400c6ff8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400c69ee
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c6a03
lea rcx, [rsp + 0x40]
call fcn.1400191f0
movups xmm0, xmmword [str.Windows_Server_2008]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140137770]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140137780]
movsd qword [rax + 0x20], xmm0
jmp 0x1400c6fee
mov eax, dword [rbp - 0x38]
test eax, eax
je 0x1400c6e38
sub eax, 1
je 0x1400c6d64
cmp eax, 1
je 0x1400c6a52
mov esi, 1
jmp 0x1400c79c1
mov ecx, 0x59
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x1400c6af2
lea rax, str.Windows_Server_2003_R2
cmp qword [rsp + 0x40], rax
je 0x1400c6fee
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x17
je 0x1400c6a9d
mov edx, 0x17
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c6ab2
lea rcx, [rsp + 0x40]
call fcn.1400191f0
movups xmm0, xmmword [str.Windows_Server_2003_R2]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140137660]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x140137670]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x140137678]
mov dword [rcx + 0x28], eax
movzx eax, word [0x14013767c]
mov word [rcx + 0x2c], ax
jmp 0x1400c6fee
movzx eax, word [rbp + 0xd8]
bt ax, 0xd
jae 0x1400c6b88
lea rax, str.Windows_Storage_Server_2003
cmp qword [rsp + 0x40], rax
je 0x1400c6fee
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x1c
je 0x1400c6b3c
mov edx, 0x1c
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x1c]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c6b51
lea rcx, [rsp + 0x40]
call fcn.1400191f0
movups xmm0, xmmword [str.Windows_Storage_Server_2003]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140137690]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x1401376a0]
movups xmmword [rax + 0x20], xmm0
movsd xmm1, qword [0x1401376b0]
movsd qword [rax + 0x30], xmm1
jmp 0x1400c6fee
bt ax, 0xf
jae 0x1400c6c08
lea rax, str.Windows_Home_Server
cmp qword [rsp + 0x40], rax
je 0x1400c6fee
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400c6bc7
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c6bdc
lea rcx, [rsp + 0x40]
call fcn.1400191f0
movups xmm0, xmmword [str.Windows_Home_Server]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1401376c8]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1401376d8]
movsd qword [rax + 0x20], xmm0
jmp 0x1400c6fee
cmp byte [rbp + 0xda], 1
jne 0x1400c6ceb
cmp word [rbp - 0x78], 9
jne 0x1400c6ceb
lea rax, str.Windows_XP
cmp qword [rsp + 0x40], rax
je 0x1400c6c8c
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400c6c54
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c6c69
lea rcx, [rsp + 0x40]
call fcn.1400191f0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_XP]
movups xmmword [rcx], xmm0
mov eax, dword [0x140137628]
mov dword [rcx + 0x10], eax
movzx eax, word [0x14013762c]
mov word [rcx + 0x14], ax
mov edx, 0x19
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0x19]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c6cb6
lea rcx, [rsp + 0x30]
call fcn.1400191f0
movups xmm0, xmmword [str.Professional_x64_Edition]
mov rbx, qword [rsp + 0x30]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x1401376f0]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [0x140137700]
movups xmmword [rbx + 0x20], xmm0
movzx eax, word [0x140137710]
mov word [rbx + 0x30], ax
jmp 0x1400c6fee
lea rax, str.Windows_Server_2003
cmp qword [rsp + 0x40], rax
je 0x1400c6fee
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400c6d23
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c6d38
lea rcx, [rsp + 0x40]
call fcn.1400191f0
movups xmm0, xmmword [str.Windows_Server_2003]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140137728]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140137738]
movsd qword [rax + 0x20], xmm0
jmp 0x1400c6fee
lea rax, str.Windows_XP
cmp qword [rsp + 0x40], rax
je 0x1400c6dd0
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400c6d98
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c6dad
lea rcx, [rsp + 0x40]
call fcn.1400191f0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_XP]
movups xmmword [rcx], xmm0
mov eax, dword [0x140137628]
mov dword [rcx + 0x10], eax
movzx eax, word [0x14013762c]
mov word [rcx + 0x14], ax
mov eax, 0x200
lea rcx, [rsp + 0x30]
mov edx, 0xd
test word [rbp + 0xd8], ax
je 0x1400c6ebb
call fcn.140019590
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c6e0c
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Home_Edition]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x140137640]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x140137648]
mov word [rbx + 0x18], ax
jmp 0x1400c6fee
lea rax, str.Windows_2000
cmp qword [rsp + 0x40], rax
je 0x1400c6ea8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xd
je 0x1400c6e6c
mov edx, 0xd
lea rcx, [rsp + 0x40]
call fcn.140019590
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c6e81
lea rcx, [rsp + 0x40]
call fcn.1400191f0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_2000]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x1401375a0]
movsd qword [rcx + 0x10], xmm1
movzx eax, word [0x1401375a8]
mov word [rcx + 0x18], ax
cmp byte [rbp + 0xda], 1
lea rcx, [rsp + 0x30]
jne 0x1400c6f07
mov edx, 0xd
call fcn.140019590
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c6edb
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Professional]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x1401375c0]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x1401375c8]
mov word [rbx + 0x18], ax
jmp 0x1400c6fee
movzx eax, byte [rbp + 0xd8]
test al, al
jns 0x1400c6f5f
mov edx, 0x12
call fcn.140019590
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0x12]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c6f37
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Datacenter_Server]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x1401375e0]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x1401375f0]
mov dword [rbx + 0x20], eax
jmp 0x1400c6fee
test al, 2
je 0x1400c6fa4
mov edx, 0x10
call fcn.140019590
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0x10]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c6f88
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Advanced_Server]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140137608]
movups xmmword [rbx + 0x10], xmm1
jmp 0x1400c6fee
mov edx, 7
call fcn.140019590
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 7]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c6fc9
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movsd xmm0, qword [str.Server]
movsd qword [rbx], xmm0
mov eax, dword [0x14012a080]
mov dword [rbx + 8], eax
movzx eax, word [0x14012a084]
mov word [rbx + 0xc], ax
cmp dword [rbp - 0x3c], 6
jb case.0x1400c705e.5
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.GetProductInfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400c7946
mov edx, dword [rbp - 0x38]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov ecx, dword [rbp - 0x3c]
xor r8d, r8d
call rax
mov eax, dword [rsp + 0x58]
dec eax
cmp eax, 0x2f
ja case.0x1400c705e.5
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0xc7b54]
mov ecx, dword [rdx + rax*4 + 0xc7b0c]
add rcx, rdx
jmp rcx
lea rax, str.Ultimate_Edition
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x11
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c7095
mov edx, 0x11
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x11]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c70b1
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Ultimate_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x1401379b0]
movups xmmword [rbx + 0x10], xmm1
movzx eax, word [0x1401379c0]
mov word [rbx + 0x20], ax
jmp case.0x1400c705e.5
lea rax, str.Professional
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0xd
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c710b
mov edx, 0xd
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c7127
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Professional]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x1401375c0]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x1401375c8]
mov word [rbx + 0x18], ax
jmp case.0x1400c705e.5
lea rax, str.Home_Premium_Edition
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x15
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c7183
mov edx, 0x15
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x15]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c719f
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Home_Premium_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x1401379d8]
movups xmmword [rbx + 0x10], xmm1
movsd xmm0, qword [0x1401379e8]
movsd qword [rbx + 0x20], xmm0
movzx eax, word [0x1401379f0]
mov word [rbx + 0x28], ax
jmp case.0x1400c705e.5
lea rax, str.Home_Basic_Edition
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c7206
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x13]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c7222
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Home_Basic_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140137a08]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x140137a18]
mov dword [rbx + 0x20], eax
movzx eax, word [0x140137a1c]
mov word [rbx + 0x24], ax
jmp case.0x1400c705e.5
lea rax, str.Enterprise_Edition
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c7285
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x13]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c72a1
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Enterprise_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140137a30]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x140137a40]
mov dword [rbx + 0x20], eax
movzx eax, word [0x140137a44]
mov word [rbx + 0x24], ax
jmp case.0x1400c705e.5
lea rax, str.Business_Edition
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x11
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c7304
mov edx, 0x11
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x11]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c7320
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Business_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140137a58]
movups xmmword [rbx + 0x10], xmm1
movzx eax, word [0x140137a68]
mov word [rbx + 0x20], ax
jmp case.0x1400c705e.5
lea rax, str.Starter_Edition
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x10
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c737a
mov edx, 0x10
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x10]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c7396
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Starter_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140137a80]
movups xmmword [rbx + 0x10], xmm1
jmp case.0x1400c705e.5
lea rax, str.Cluster_Server_Edition
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x17
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c73e5
mov edx, 0x17
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c7401
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Cluster_Server_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140137aa0]
movups xmmword [rbx + 0x10], xmm1
movsd xmm0, qword [0x140137ab0]
movsd qword [rbx + 0x20], xmm0
mov eax, dword [0x140137ab8]
mov dword [rbx + 0x28], eax
movzx eax, word [0x140137abc]
mov word [rbx + 0x2c], ax
jmp case.0x1400c705e.5
lea rax, str.Datacenter_Edition
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c7471
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x13]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c748d
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Datacenter_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140137ad0]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x140137ae0]
mov dword [rbx + 0x20], eax
movzx eax, word [0x140137ae4]
mov word [rbx + 0x24], ax
jmp case.0x1400c705e.5
lea rax, str.Datacenter_Edition__core_installation_
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x27
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c74f0
mov edx, 0x27
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x27]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c750c
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Datacenter_Edition__core_installation_]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x140137b00]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140137b10]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140137b20]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x140137b30]
movsd qword [rbx + 0x40], xmm0
mov eax, dword [0x140137b38]
mov dword [rbx + 0x48], eax
movzx eax, word [0x140137b3c]
mov word [rbx + 0x4c], ax
jmp case.0x1400c705e.5
lea rax, str.Enterprise_Edition__core_installation_
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x27
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c7592
mov edx, 0x27
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x27]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c75ae
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Enterprise_Edition__core_installation_]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x140137b50]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140137b60]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140137b70]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x140137b80]
movsd qword [rbx + 0x40], xmm0
mov eax, dword [0x140137b88]
mov dword [rbx + 0x48], eax
movzx eax, word [0x140137b8c]
mov word [rbx + 0x4c], ax
jmp case.0x1400c705e.5
lea rax, str.Enterprise_Edition_for_Itanium_based_Systems
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x2d
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c7634
mov edx, 0x2d
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x2d]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c7650
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Enterprise_Edition_for_Itanium_based_Systems]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x140137ba0]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140137bb0]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140137bc0]
movups xmmword [rbx + 0x30], xmm1
movaps xmm0, xmmword [0x140137bd0]
movups xmmword [rbx + 0x40], xmm0
movsd xmm1, qword [0x140137be0]
movsd qword [rbx + 0x50], xmm1
movzx eax, word [0x140137be8]
mov word [rbx + 0x58], ax
jmp case.0x1400c705e.5
lea rax, str.Small_Business_Server
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x16
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c76d8
mov edx, 0x16
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x16]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c76f4
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Small_Business_Server]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140137c00]
movups xmmword [rbx + 0x10], xmm1
movsd xmm0, qword [0x140137c10]
movsd qword [rbx + 0x20], xmm0
mov eax, dword [0x140137c18]
mov dword [rbx + 0x28], eax
jmp case.0x1400c705e.5
lea rax, str.Small_Business_Server_Premium_Edition
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x26
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c7759
mov edx, 0x26
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x26]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c7775
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Small_Business_Server_Premium_Edition]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x140137c30]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140137c40]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140137c50]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x140137c60]
movsd qword [rbx + 0x40], xmm0
mov eax, dword [0x140137c68]
mov dword [rbx + 0x48], eax
jmp case.0x1400c705e.5
lea rax, str.Standard_Edition
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x11
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c77f0
mov edx, 0x11
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x11]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c780c
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Standard_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140137c80]
movups xmmword [rbx + 0x10], xmm1
movzx eax, word [0x140137c90]
mov word [rbx + 0x20], ax
jmp case.0x1400c705e.5
lea rax, str.Standard_Edition__core_installation_
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x25
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c7866
mov edx, 0x25
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x25]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c7882
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Standard_Edition__core_installation_]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x140137cb0]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140137cc0]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140137cd0]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x140137ce0]
movsd qword [rbx + 0x40], xmm0
movzx eax, word [0x140137ce8]
mov word [rbx + 0x48], ax
jmp case.0x1400c705e.5
lea rax, str.Web_Server_Edition
cmp rbx, rax
je case.0x1400c705e.5
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c78ff
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0x13]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c791b
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Web_Server_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140137d00]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x140137d10]
mov dword [rbx + 0x20], eax
movzx eax, word [0x140137d14]
mov word [rbx + 0x24], ax
jmp case.0x1400c705e.5
lea rax, str._type_unknown_
cmp rbx, rax
je 0x1400c79be
cmp dword [rsp + 0x3c], 0xf
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c7977
mov edx, 0xf
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdx + 0xf]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c7993
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str._type_unknown_]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x140137d28]
movsd qword [rbx + 0x10], xmm1
mov eax, dword [0x140137d30]
mov dword [rbx + 0x18], eax
movzx eax, word [0x140137d34]
mov word [rbx + 0x1c], ax
or esi, 2
mov dword [rsp + 0x50], esi
mov r13, qword [rsp + 0x200]
lea rax, [rbp - 0x2c]
cmp rbx, rax
je 0x1400c7a4d
cmp word [rbp - 0x2c], di
je 0x1400c79f4
lea rax, [rbp - 0x2c]
mov rsi, 0xffffffffffffffff
inc rsi
cmp word [rax + rsi*2], di
jne 0x1400c79e7
inc esi
jmp 0x1400c79f6
mov esi, edi
mov dword [rsp + 0x38], edi
cmp dword [rsp + 0x3c], esi
je 0x1400c7a15
mov edx, esi
lea rcx, [rsp + 0x30]
call fcn.140019590
mov edi, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rsi + rdi]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c7a33
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rbx, qword [rsp + 0x30]
test esi, esi
je 0x1400c7a49
movsxd r8, esi
lea rdx, [rbp - 0x2c]
add r8, r8
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [rsp + 0x50]
cmp dword [rsp + 0x48], 0
mov rcx, r14
mov rdi, qword [rsp + 0x210]
cmovne rcx, qword [rsp + 0x40]
sub r12, rcx
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rcx + r12], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400c7a70
cmp dword [rsp + 0x38], 0
mov r12, qword [rsp + 0x208]
cmovne r14, rbx
sub r15, r14
nop word [rax + rax]
movzx eax, word [r14]
mov word [r15 + r14], ax
lea r14, [r14 + 2]
test ax, ax
jne 0x1400c7aa0
mov r15, qword [rsp + 0x1f0]
mov r14, qword [rsp + 0x1f8]
test rbx, rbx
je 0x1400c7acf
mov rcx, rbx
call fcn.140044390
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x238]
test rcx, rcx
je 0x1400c7ae6
call fcn.140044390
mov eax, esi
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.14010f320
add rsp, 0x218
pop rsi
pop rbp
ret
mov esi, 4
jmp 0x1400c7a4d