Function at 0x1400c4ba0
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 [0x1401674b8]
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.1400195a0
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x1a]
mov dword [rsp + 0x48], eax
cmp eax, dword [rsp + 0x4c]
jle 0x1400c4c43
lea rcx, [rsp + 0x40]
call fcn.140019200
mov rcx, qword [rsp + 0x40]
lea rdx, str.Windows__unknown_version_
mov r8d, 0x34
call fcn.140032f60
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, [0x14011c560]
test eax, eax
je 0x1400c65c1
mov eax, dword [rbp - 0x3c]
mov qword [rsp + 0x200], r13
sub eax, 5
je 0x1400c54ef
sub eax, 1
je 0x1400c50d6
cmp eax, 4
je 0x1400c4cb0
mov esi, 1
mov dword [rsp + 0x50], esi
jmp 0x1400c5aae
cmp dword [rbp - 0x38], ebx
je 0x1400c4cc3
mov esi, 1
mov dword [rsp + 0x50], esi
jmp 0x1400c5ab8
cmp byte [rbp + 0xda], 1
jne 0x1400c4dc3
cmp dword [rbp - 0x34], 0x55f0
jb 0x1400c4d4e
lea rax, str.Windows_11
cmp qword [rsp + 0x40], rax
je 0x1400c4ead
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400c4d11
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c4d26
lea rcx, [rsp + 0x40]
call fcn.140019200
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_11]
movups xmmword [rcx], xmm0
mov eax, dword [0x1401388e0]
mov dword [rcx + 0x10], eax
movzx eax, word [0x1401388e4]
mov word [rcx + 0x14], ax
jmp 0x1400c4ead
lea rax, str.Windows_10
cmp qword [rsp + 0x40], rax
je 0x1400c4ead
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400c4d86
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c4d9b
lea rcx, [rsp + 0x40]
call fcn.140019200
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_10]
movups xmmword [rcx], xmm0
mov eax, dword [0x1401388f8]
mov dword [rcx + 0x10], eax
movzx eax, word [0x1401388fc]
mov word [rcx + 0x14], ax
jmp 0x1400c4ead
cmp dword [rbp - 0x34], 0x4f7c
jb 0x1400c4e3d
lea rax, str.Windows_Server_2022
cmp qword [rsp + 0x40], rax
je 0x1400c4ead
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400c4e04
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c4e19
lea rcx, [rsp + 0x40]
call fcn.140019200
movups xmm0, xmmword [str.Windows_Server_2022]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140138910]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140138920]
jmp 0x1400c4ea8
lea rax, str.Windows_Server_2019
cmp qword [rsp + 0x40], rax
je 0x1400c4ead
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400c4e71
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c4e86
lea rcx, [rsp + 0x40]
call fcn.140019200
movups xmm0, xmmword [str.Windows_Server_2019]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140138938]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140138948]
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 0x1400c505e
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 0x1400c5042
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 0x1400c5037
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x1400c5037
mov ecx, eax
call fcn.1400134a0
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 0x1400c502f
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 0x1400c500d
cmp esi, 1
jbe 0x1400c500d
cmp word [r12], ax
je 0x1400c500d
test esi, esi
je 0x1400c4fcd
mov edx, esi
lea rcx, [rsp + 0x60]
call fcn.1400195a0
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 0x1400c4ff1
lea rcx, [rsp + 0x60]
call fcn.140019200
mov r15d, dword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
lea r8, [rsi*2 - 2]
mov rdx, r12
mov rcx, r14
call fcn.140032f60
movsxd rax, r15d
mov word [r14 + rax*2 - 2], di
test r13, r13
je 0x1400c501a
mov rcx, r13
call fcn.1400443e0
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.140013530
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 0x1400c4ec0
test sil, sil
je 0x1400c50b2
lea r14, [0x14011c560]
test r15d, r15d
mov r8, r14
lea rdx, str.__Release__s_
cmovne r8, r13
lea rcx, [rsp + 0x60]
call fcn.14001edc0
mov r8d, dword [rsp + 0x68]
test r8d, r8d
je 0x1400c508f
dec r8d
jmp 0x1400c5092
mov r8d, edi
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.14001cc30
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400c50b9
call fcn.1400443e0
jmp 0x1400c50b9
lea r14, [0x14011c560]
test r13, r13
je 0x1400c50c6
mov rcx, r13
call fcn.1400443e0
mov r15, qword [rsp + 0x78]
mov esi, ebx
mov r12, qword [rbp - 0x80]
jmp 0x1400c5aae
mov eax, dword [rbp - 0x38]
test eax, eax
je 0x1400c53f6
sub eax, 1
je 0x1400c52f6
sub eax, 1
je 0x1400c520a
cmp eax, 1
je 0x1400c5106
mov esi, 1
mov dword [rsp + 0x50], esi
jmp 0x1400c5ab8
cmp byte [rbp + 0xda], 1
jne 0x1400c517d
lea rax, str.Windows_8.1
cmp qword [rsp + 0x40], rax
je 0x1400c5ab8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xc
je 0x1400c5147
mov edx, 0xc
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xc]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c515c
lea rcx, [rsp + 0x40]
call fcn.140019200
mov rax, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_8.1]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140138898]
movsd qword [rax + 0x10], xmm1
jmp 0x1400c5aae
lea rax, str.Windows_Server_2012_R2
cmp qword [rsp + 0x40], rax
je 0x1400c5ab8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x17
je 0x1400c51b5
mov edx, 0x17
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c51ca
lea rcx, [rsp + 0x40]
call fcn.140019200
movups xmm0, xmmword [str.Windows_Server_2012_R2]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x1401388b0]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x1401388c0]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x1401388c8]
mov dword [rcx + 0x28], eax
movzx eax, word [0x1401388cc]
mov word [rcx + 0x2c], ax
jmp 0x1400c5aae
cmp byte [rbp + 0xda], 1
jne 0x1400c527d
lea rax, str.Windows_8
cmp qword [rsp + 0x40], rax
je 0x1400c5ab8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xa
je 0x1400c524b
mov edx, 0xa
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xa]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c5260
lea rcx, [rsp + 0x40]
call fcn.140019200
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_8]
movups xmmword [rcx], xmm0
mov eax, dword [0x140138858]
mov dword [rcx + 0x10], eax
jmp 0x1400c5aae
lea rax, str.Windows_Server_2012
cmp qword [rsp + 0x40], rax
je 0x1400c5ab8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400c52b5
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c52ca
lea rcx, [rsp + 0x40]
call fcn.140019200
movups xmm0, xmmword [str.Windows_Server_2012]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140138870]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140138880]
movsd qword [rax + 0x20], xmm0
jmp 0x1400c5aae
cmp byte [rbp + 0xda], 1
jne 0x1400c5369
lea rax, str.Windows_7
cmp qword [rsp + 0x40], rax
je 0x1400c5ab8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xa
je 0x1400c5337
mov edx, 0xa
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xa]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c534c
lea rcx, [rsp + 0x40]
call fcn.140019200
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_7]
movups xmmword [rcx], xmm0
mov eax, dword [0x140138810]
mov dword [rcx + 0x10], eax
jmp 0x1400c5aae
lea rax, str.Windows_Server_2008_R2
cmp qword [rsp + 0x40], rax
je 0x1400c5ab8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x17
je 0x1400c53a1
mov edx, 0x17
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c53b6
lea rcx, [rsp + 0x40]
call fcn.140019200
movups xmm0, xmmword [str.Windows_Server_2008_R2]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140138828]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x140138838]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x140138840]
mov dword [rcx + 0x28], eax
movzx eax, word [0x140138844]
mov word [rcx + 0x2c], ax
jmp 0x1400c5aae
cmp byte [rbp + 0xda], 1
jne 0x1400c5476
lea rax, str.Windows_Vista
cmp qword [rsp + 0x40], rax
je 0x1400c5ab8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xe
je 0x1400c5437
mov edx, 0xe
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xe]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c544c
lea rcx, [rsp + 0x40]
call fcn.140019200
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_Vista]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x1401387c8]
movsd qword [rcx + 0x10], xmm1
mov eax, dword [0x1401387d0]
mov dword [rcx + 0x18], eax
jmp 0x1400c5aae
lea rax, str.Windows_Server_2008
cmp qword [rsp + 0x40], rax
je 0x1400c5ab8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400c54ae
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c54c3
lea rcx, [rsp + 0x40]
call fcn.140019200
movups xmm0, xmmword [str.Windows_Server_2008]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1401387e8]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1401387f8]
movsd qword [rax + 0x20], xmm0
jmp 0x1400c5aae
mov eax, dword [rbp - 0x38]
test eax, eax
je 0x1400c58f8
sub eax, 1
je 0x1400c5824
cmp eax, 1
je 0x1400c5512
mov esi, 1
jmp 0x1400c6481
mov ecx, 0x59
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x1400c55b2
lea rax, str.Windows_Server_2003_R2
cmp qword [rsp + 0x40], rax
je 0x1400c5aae
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x17
je 0x1400c555d
mov edx, 0x17
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c5572
lea rcx, [rsp + 0x40]
call fcn.140019200
movups xmm0, xmmword [str.Windows_Server_2003_R2]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x1401386d8]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x1401386e8]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x1401386f0]
mov dword [rcx + 0x28], eax
movzx eax, word [0x1401386f4]
mov word [rcx + 0x2c], ax
jmp 0x1400c5aae
movzx eax, word [rbp + 0xd8]
bt ax, 0xd
jae 0x1400c5648
lea rax, str.Windows_Storage_Server_2003
cmp qword [rsp + 0x40], rax
je 0x1400c5aae
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x1c
je 0x1400c55fc
mov edx, 0x1c
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x1c]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c5611
lea rcx, [rsp + 0x40]
call fcn.140019200
movups xmm0, xmmword [str.Windows_Storage_Server_2003]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140138708]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140138718]
movups xmmword [rax + 0x20], xmm0
movsd xmm1, qword [0x140138728]
movsd qword [rax + 0x30], xmm1
jmp 0x1400c5aae
bt ax, 0xf
jae 0x1400c56c8
lea rax, str.Windows_Home_Server
cmp qword [rsp + 0x40], rax
je 0x1400c5aae
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400c5687
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c569c
lea rcx, [rsp + 0x40]
call fcn.140019200
movups xmm0, xmmword [str.Windows_Home_Server]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140138740]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140138750]
movsd qword [rax + 0x20], xmm0
jmp 0x1400c5aae
cmp byte [rbp + 0xda], 1
jne 0x1400c57ab
cmp word [rbp - 0x78], 9
jne 0x1400c57ab
lea rax, str.Windows_XP
cmp qword [rsp + 0x40], rax
je 0x1400c574c
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400c5714
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c5729
lea rcx, [rsp + 0x40]
call fcn.140019200
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_XP]
movups xmmword [rcx], xmm0
mov eax, dword [0x1401386a0]
mov dword [rcx + 0x10], eax
movzx eax, word [0x1401386a4]
mov word [rcx + 0x14], ax
mov edx, 0x19
lea rcx, [rsp + 0x30]
call fcn.1400195a0
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0x19]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c5776
lea rcx, [rsp + 0x30]
call fcn.140019200
movups xmm0, xmmword [str.Professional_x64_Edition]
mov rbx, qword [rsp + 0x30]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138768]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [0x140138778]
movups xmmword [rbx + 0x20], xmm0
movzx eax, word [0x140138788]
mov word [rbx + 0x30], ax
jmp 0x1400c5aae
lea rax, str.Windows_Server_2003
cmp qword [rsp + 0x40], rax
je 0x1400c5aae
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400c57e3
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c57f8
lea rcx, [rsp + 0x40]
call fcn.140019200
movups xmm0, xmmword [str.Windows_Server_2003]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1401387a0]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1401387b0]
movsd qword [rax + 0x20], xmm0
jmp 0x1400c5aae
lea rax, str.Windows_XP
cmp qword [rsp + 0x40], rax
je 0x1400c5890
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400c5858
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c586d
lea rcx, [rsp + 0x40]
call fcn.140019200
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_XP]
movups xmmword [rcx], xmm0
mov eax, dword [0x1401386a0]
mov dword [rcx + 0x10], eax
movzx eax, word [0x1401386a4]
mov word [rcx + 0x14], ax
mov eax, 0x200
lea rcx, [rsp + 0x30]
mov edx, 0xd
test word [rbp + 0xd8], ax
je 0x1400c597b
call fcn.1400195a0
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c58cc
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Home_Edition]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x1401386b8]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x1401386c0]
mov word [rbx + 0x18], ax
jmp 0x1400c5aae
lea rax, str.Windows_2000
cmp qword [rsp + 0x40], rax
je 0x1400c5968
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xd
je 0x1400c592c
mov edx, 0xd
lea rcx, [rsp + 0x40]
call fcn.1400195a0
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400c5941
lea rcx, [rsp + 0x40]
call fcn.140019200
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_2000]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x140138618]
movsd qword [rcx + 0x10], xmm1
movzx eax, word [0x140138620]
mov word [rcx + 0x18], ax
cmp byte [rbp + 0xda], 1
lea rcx, [rsp + 0x30]
jne 0x1400c59c7
mov edx, 0xd
call fcn.1400195a0
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c599b
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Professional]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x140138638]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x140138640]
mov word [rbx + 0x18], ax
jmp 0x1400c5aae
movzx eax, byte [rbp + 0xd8]
test al, al
jns 0x1400c5a1f
mov edx, 0x12
call fcn.1400195a0
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0x12]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c59f7
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Datacenter_Server]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138658]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x140138668]
mov dword [rbx + 0x20], eax
jmp 0x1400c5aae
test al, 2
je 0x1400c5a64
mov edx, 0x10
call fcn.1400195a0
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0x10]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c5a48
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Advanced_Server]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138680]
movups xmmword [rbx + 0x10], xmm1
jmp 0x1400c5aae
mov edx, 7
call fcn.1400195a0
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 7]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400c5a89
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movsd xmm0, qword [str.Server]
movsd qword [rbx], xmm0
mov eax, dword [0x14012b0a0]
mov dword [rbx + 8], eax
movzx eax, word [0x14012b0a4]
mov word [rbx + 0xc], ax
cmp dword [rbp - 0x3c], 6
jb case.0x1400c5b1e.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 0x1400c6406
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.0x1400c5b1e.5
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0xc6614]
mov ecx, dword [rdx + rax*4 + 0xc65cc]
add rcx, rdx
jmp rcx
lea rax, str.Ultimate_Edition
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x11
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c5b55
mov edx, 0x11
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c5b71
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Ultimate_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138a30]
movups xmmword [rbx + 0x10], xmm1
movzx eax, word [0x140138a40]
mov word [rbx + 0x20], ax
jmp case.0x1400c5b1e.5
lea rax, str.Professional
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0xd
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c5bcb
mov edx, 0xd
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c5be7
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Professional]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x140138638]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x140138640]
mov word [rbx + 0x18], ax
jmp case.0x1400c5b1e.5
lea rax, str.Home_Premium_Edition
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x15
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c5c43
mov edx, 0x15
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c5c5f
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Home_Premium_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138a58]
movups xmmword [rbx + 0x10], xmm1
movsd xmm0, qword [0x140138a68]
movsd qword [rbx + 0x20], xmm0
movzx eax, word [0x140138a70]
mov word [rbx + 0x28], ax
jmp case.0x1400c5b1e.5
lea rax, str.Home_Basic_Edition
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c5cc6
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c5ce2
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Home_Basic_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138a88]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x140138a98]
mov dword [rbx + 0x20], eax
movzx eax, word [0x140138a9c]
mov word [rbx + 0x24], ax
jmp case.0x1400c5b1e.5
lea rax, str.Enterprise_Edition
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c5d45
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c5d61
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Enterprise_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138ab0]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x140138ac0]
mov dword [rbx + 0x20], eax
movzx eax, word [0x140138ac4]
mov word [rbx + 0x24], ax
jmp case.0x1400c5b1e.5
lea rax, str.Business_Edition
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x11
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c5dc4
mov edx, 0x11
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c5de0
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Business_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138ad8]
movups xmmword [rbx + 0x10], xmm1
movzx eax, word [0x140138ae8]
mov word [rbx + 0x20], ax
jmp case.0x1400c5b1e.5
lea rax, str.Starter_Edition
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x10
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c5e3a
mov edx, 0x10
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c5e56
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Starter_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138b00]
movups xmmword [rbx + 0x10], xmm1
jmp case.0x1400c5b1e.5
lea rax, str.Cluster_Server_Edition
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x17
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c5ea5
mov edx, 0x17
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c5ec1
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Cluster_Server_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138b20]
movups xmmword [rbx + 0x10], xmm1
movsd xmm0, qword [0x140138b30]
movsd qword [rbx + 0x20], xmm0
mov eax, dword [0x140138b38]
mov dword [rbx + 0x28], eax
movzx eax, word [0x140138b3c]
mov word [rbx + 0x2c], ax
jmp case.0x1400c5b1e.5
lea rax, str.Datacenter_Edition
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c5f31
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c5f4d
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Datacenter_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138b50]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x140138b60]
mov dword [rbx + 0x20], eax
movzx eax, word [0x140138b64]
mov word [rbx + 0x24], ax
jmp case.0x1400c5b1e.5
lea rax, str.Datacenter_Edition__core_installation_
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x27
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c5fb0
mov edx, 0x27
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c5fcc
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Datacenter_Edition__core_installation_]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x140138b80]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140138b90]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140138ba0]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x140138bb0]
movsd qword [rbx + 0x40], xmm0
mov eax, dword [0x140138bb8]
mov dword [rbx + 0x48], eax
movzx eax, word [0x140138bbc]
mov word [rbx + 0x4c], ax
jmp case.0x1400c5b1e.5
lea rax, str.Enterprise_Edition__core_installation_
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x27
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c6052
mov edx, 0x27
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c606e
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Enterprise_Edition__core_installation_]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x140138bd0]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140138be0]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140138bf0]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x140138c00]
movsd qword [rbx + 0x40], xmm0
mov eax, dword [0x140138c08]
mov dword [rbx + 0x48], eax
movzx eax, word [0x140138c0c]
mov word [rbx + 0x4c], ax
jmp case.0x1400c5b1e.5
lea rax, str.Enterprise_Edition_for_Itanium_based_Systems
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x2d
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c60f4
mov edx, 0x2d
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c6110
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Enterprise_Edition_for_Itanium_based_Systems]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x140138c20]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140138c30]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140138c40]
movups xmmword [rbx + 0x30], xmm1
movaps xmm0, xmmword [0x140138c50]
movups xmmword [rbx + 0x40], xmm0
movsd xmm1, qword [0x140138c60]
movsd qword [rbx + 0x50], xmm1
movzx eax, word [0x140138c68]
mov word [rbx + 0x58], ax
jmp case.0x1400c5b1e.5
lea rax, str.Small_Business_Server
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x16
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c6198
mov edx, 0x16
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c61b4
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Small_Business_Server]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138c80]
movups xmmword [rbx + 0x10], xmm1
movsd xmm0, qword [0x140138c90]
movsd qword [rbx + 0x20], xmm0
mov eax, dword [0x140138c98]
mov dword [rbx + 0x28], eax
jmp case.0x1400c5b1e.5
lea rax, str.Small_Business_Server_Premium_Edition
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x26
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c6219
mov edx, 0x26
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c6235
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Small_Business_Server_Premium_Edition]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x140138cb0]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140138cc0]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140138cd0]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x140138ce0]
movsd qword [rbx + 0x40], xmm0
mov eax, dword [0x140138ce8]
mov dword [rbx + 0x48], eax
jmp case.0x1400c5b1e.5
lea rax, str.Standard_Edition
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x11
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c62b0
mov edx, 0x11
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c62cc
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Standard_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138d00]
movups xmmword [rbx + 0x10], xmm1
movzx eax, word [0x140138d10]
mov word [rbx + 0x20], ax
jmp case.0x1400c5b1e.5
lea rax, str.Standard_Edition__core_installation_
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x25
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c6326
mov edx, 0x25
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c6342
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Standard_Edition__core_installation_]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x140138d30]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140138d40]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140138d50]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x140138d60]
movsd qword [rbx + 0x40], xmm0
movzx eax, word [0x140138d68]
mov word [rbx + 0x48], ax
jmp case.0x1400c5b1e.5
lea rax, str.Web_Server_Edition
cmp rbx, rax
je case.0x1400c5b1e.5
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c63bf
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c63db
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Web_Server_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140138d80]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x140138d90]
mov dword [rbx + 0x20], eax
movzx eax, word [0x140138d94]
mov word [rbx + 0x24], ax
jmp case.0x1400c5b1e.5
lea rax, str._type_unknown_
cmp rbx, rax
je 0x1400c647e
cmp dword [rsp + 0x3c], 0xf
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400c6437
mov edx, 0xf
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c6453
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str._type_unknown_]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x140138da8]
movsd qword [rbx + 0x10], xmm1
mov eax, dword [0x140138db0]
mov dword [rbx + 0x18], eax
movzx eax, word [0x140138db4]
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 0x1400c650d
cmp word [rbp - 0x2c], di
je 0x1400c64b4
lea rax, [rbp - 0x2c]
mov rsi, 0xffffffffffffffff
inc rsi
cmp word [rax + rsi*2], di
jne 0x1400c64a7
inc esi
jmp 0x1400c64b6
mov esi, edi
mov dword [rsp + 0x38], edi
cmp dword [rsp + 0x3c], esi
je 0x1400c64d5
mov edx, esi
lea rcx, [rsp + 0x30]
call fcn.1400195a0
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 0x1400c64f3
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rbx, qword [rsp + 0x30]
test esi, esi
je 0x1400c6509
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 0x1400c6530
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 0x1400c6560
mov r15, qword [rsp + 0x1f0]
mov r14, qword [rsp + 0x1f8]
test rbx, rbx
je 0x1400c658f
mov rcx, rbx
call fcn.1400443e0
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x238]
test rcx, rcx
je 0x1400c65a6
call fcn.1400443e0
mov eax, esi
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.14010f980
add rsp, 0x218
pop rsi
pop rbp
ret
mov esi, 4
jmp 0x1400c650d