Function at 0x1400d48f0
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 [0x14035d6e8]
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.14001c970
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x1a]
mov dword [rsp + 0x48], eax
cmp eax, dword [rsp + 0x4c]
jle 0x1400d4993
lea rcx, [rsp + 0x40]
call fcn.14001c580
mov rcx, qword [rsp + 0x40]
lea rdx, str.Windows__unknown_version_
mov r8d, 0x34
call fcn.140034a80
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, [0x140264588]
test eax, eax
je 0x1400d6311
mov eax, dword [rbp - 0x3c]
mov qword [rsp + 0x200], r13
sub eax, 5
je 0x1400d523f
sub eax, 1
je 0x1400d4e26
cmp eax, 4
je 0x1400d4a00
mov esi, 1
mov dword [rsp + 0x50], esi
jmp 0x1400d57fe
cmp dword [rbp - 0x38], ebx
je 0x1400d4a13
mov esi, 1
mov dword [rsp + 0x50], esi
jmp 0x1400d5808
cmp byte [rbp + 0xda], 1
jne 0x1400d4b13
cmp dword [rbp - 0x34], 0x55f0
jb 0x1400d4a9e
lea rax, str.Windows_11
cmp qword [rsp + 0x40], rax
je 0x1400d4bfd
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400d4a61
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d4a76
lea rcx, [rsp + 0x40]
call fcn.14001c580
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_11]
movups xmmword [rcx], xmm0
mov eax, dword [0x14027fca0]
mov dword [rcx + 0x10], eax
movzx eax, word [0x14027fca4]
mov word [rcx + 0x14], ax
jmp 0x1400d4bfd
lea rax, str.Windows_10
cmp qword [rsp + 0x40], rax
je 0x1400d4bfd
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400d4ad6
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d4aeb
lea rcx, [rsp + 0x40]
call fcn.14001c580
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_10]
movups xmmword [rcx], xmm0
mov eax, dword [0x14027fcb8]
mov dword [rcx + 0x10], eax
movzx eax, word [0x14027fcbc]
mov word [rcx + 0x14], ax
jmp 0x1400d4bfd
cmp dword [rbp - 0x34], 0x4f7c
jb 0x1400d4b8d
lea rax, str.Windows_Server_2022
cmp qword [rsp + 0x40], rax
je 0x1400d4bfd
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400d4b54
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d4b69
lea rcx, [rsp + 0x40]
call fcn.14001c580
movups xmm0, xmmword [str.Windows_Server_2022]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14027fcd0]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14027fce0]
jmp 0x1400d4bf8
lea rax, str.Windows_Server_2019
cmp qword [rsp + 0x40], rax
je 0x1400d4bfd
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400d4bc1
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d4bd6
lea rcx, [rsp + 0x40]
call fcn.14001c580
movups xmm0, xmmword [str.Windows_Server_2019]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14027fcf8]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14027fd08]
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 0x1400d4dae
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 0x1400d4d92
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 0x1400d4d87
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x1400d4d87
mov ecx, eax
call fcn.140012670
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 0x1400d4d7f
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 0x1400d4d5d
cmp esi, 1
jbe 0x1400d4d5d
cmp word [r12], ax
je 0x1400d4d5d
test esi, esi
je 0x1400d4d1d
mov edx, esi
lea rcx, [rsp + 0x60]
call fcn.14001c970
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 0x1400d4d41
lea rcx, [rsp + 0x60]
call fcn.14001c580
mov r15d, dword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
lea r8, [rsi*2 - 2]
mov rdx, r12
mov rcx, r14
call fcn.140034a80
movsxd rax, r15d
mov word [r14 + rax*2 - 2], di
test r13, r13
je 0x1400d4d6a
mov rcx, r13
call fcn.14004db90
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.140012700
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 0x1400d4c10
test sil, sil
je 0x1400d4e02
lea r14, [0x140264588]
test r15d, r15d
mov r8, r14
lea rdx, str.__Release__s_
cmovne r8, r13
lea rcx, [rsp + 0x60]
call fcn.140020ee0
mov r8d, dword [rsp + 0x68]
test r8d, r8d
je 0x1400d4ddf
dec r8d
jmp 0x1400d4de2
mov r8d, edi
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.14001ed50
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400d4e09
call fcn.14004db90
jmp 0x1400d4e09
lea r14, [0x140264588]
test r13, r13
je 0x1400d4e16
mov rcx, r13
call fcn.14004db90
mov r15, qword [rsp + 0x78]
mov esi, ebx
mov r12, qword [rbp - 0x80]
jmp 0x1400d57fe
mov eax, dword [rbp - 0x38]
test eax, eax
je 0x1400d5146
sub eax, 1
je 0x1400d5046
sub eax, 1
je 0x1400d4f5a
cmp eax, 1
je 0x1400d4e56
mov esi, 1
mov dword [rsp + 0x50], esi
jmp 0x1400d5808
cmp byte [rbp + 0xda], 1
jne 0x1400d4ecd
lea rax, str.Windows_8.1
cmp qword [rsp + 0x40], rax
je 0x1400d5808
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xc
je 0x1400d4e97
mov edx, 0xc
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xc]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d4eac
lea rcx, [rsp + 0x40]
call fcn.14001c580
mov rax, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_8.1]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14027fc58]
movsd qword [rax + 0x10], xmm1
jmp 0x1400d57fe
lea rax, str.Windows_Server_2012_R2
cmp qword [rsp + 0x40], rax
je 0x1400d5808
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x17
je 0x1400d4f05
mov edx, 0x17
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d4f1a
lea rcx, [rsp + 0x40]
call fcn.14001c580
movups xmm0, xmmword [str.Windows_Server_2012_R2]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x14027fc70]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x14027fc80]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x14027fc88]
mov dword [rcx + 0x28], eax
movzx eax, word [0x14027fc8c]
mov word [rcx + 0x2c], ax
jmp 0x1400d57fe
cmp byte [rbp + 0xda], 1
jne 0x1400d4fcd
lea rax, str.Windows_8
cmp qword [rsp + 0x40], rax
je 0x1400d5808
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xa
je 0x1400d4f9b
mov edx, 0xa
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xa]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d4fb0
lea rcx, [rsp + 0x40]
call fcn.14001c580
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_8]
movups xmmword [rcx], xmm0
mov eax, dword [0x14027fc18]
mov dword [rcx + 0x10], eax
jmp 0x1400d57fe
lea rax, str.Windows_Server_2012
cmp qword [rsp + 0x40], rax
je 0x1400d5808
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400d5005
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d501a
lea rcx, [rsp + 0x40]
call fcn.14001c580
movups xmm0, xmmword [str.Windows_Server_2012]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14027fc30]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14027fc40]
movsd qword [rax + 0x20], xmm0
jmp 0x1400d57fe
cmp byte [rbp + 0xda], 1
jne 0x1400d50b9
lea rax, str.Windows_7
cmp qword [rsp + 0x40], rax
je 0x1400d5808
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xa
je 0x1400d5087
mov edx, 0xa
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xa]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d509c
lea rcx, [rsp + 0x40]
call fcn.14001c580
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_7]
movups xmmword [rcx], xmm0
mov eax, dword [0x14027fbd0]
mov dword [rcx + 0x10], eax
jmp 0x1400d57fe
lea rax, str.Windows_Server_2008_R2
cmp qword [rsp + 0x40], rax
je 0x1400d5808
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x17
je 0x1400d50f1
mov edx, 0x17
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d5106
lea rcx, [rsp + 0x40]
call fcn.14001c580
movups xmm0, xmmword [str.Windows_Server_2008_R2]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x14027fbe8]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x14027fbf8]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x14027fc00]
mov dword [rcx + 0x28], eax
movzx eax, word [0x14027fc04]
mov word [rcx + 0x2c], ax
jmp 0x1400d57fe
cmp byte [rbp + 0xda], 1
jne 0x1400d51c6
lea rax, str.Windows_Vista
cmp qword [rsp + 0x40], rax
je 0x1400d5808
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xe
je 0x1400d5187
mov edx, 0xe
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xe]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d519c
lea rcx, [rsp + 0x40]
call fcn.14001c580
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_Vista]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x14027fb88]
movsd qword [rcx + 0x10], xmm1
mov eax, dword [0x14027fb90]
mov dword [rcx + 0x18], eax
jmp 0x1400d57fe
lea rax, str.Windows_Server_2008
cmp qword [rsp + 0x40], rax
je 0x1400d5808
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400d51fe
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d5213
lea rcx, [rsp + 0x40]
call fcn.14001c580
movups xmm0, xmmword [str.Windows_Server_2008]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14027fba8]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14027fbb8]
movsd qword [rax + 0x20], xmm0
jmp 0x1400d57fe
mov eax, dword [rbp - 0x38]
test eax, eax
je 0x1400d5648
sub eax, 1
je 0x1400d5574
cmp eax, 1
je 0x1400d5262
mov esi, 1
jmp 0x1400d61d1
mov ecx, 0x59
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x1400d5302
lea rax, str.Windows_Server_2003_R2
cmp qword [rsp + 0x40], rax
je 0x1400d57fe
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x17
je 0x1400d52ad
mov edx, 0x17
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d52c2
lea rcx, [rsp + 0x40]
call fcn.14001c580
movups xmm0, xmmword [str.Windows_Server_2003_R2]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x14027fa98]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x14027faa8]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x14027fab0]
mov dword [rcx + 0x28], eax
movzx eax, word [0x14027fab4]
mov word [rcx + 0x2c], ax
jmp 0x1400d57fe
movzx eax, word [rbp + 0xd8]
bt ax, 0xd
jae 0x1400d5398
lea rax, str.Windows_Storage_Server_2003
cmp qword [rsp + 0x40], rax
je 0x1400d57fe
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x1c
je 0x1400d534c
mov edx, 0x1c
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x1c]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d5361
lea rcx, [rsp + 0x40]
call fcn.14001c580
movups xmm0, xmmword [str.Windows_Storage_Server_2003]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14027fac8]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x14027fad8]
movups xmmword [rax + 0x20], xmm0
movsd xmm1, qword [0x14027fae8]
movsd qword [rax + 0x30], xmm1
jmp 0x1400d57fe
bt ax, 0xf
jae 0x1400d5418
lea rax, str.Windows_Home_Server
cmp qword [rsp + 0x40], rax
je 0x1400d57fe
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400d53d7
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d53ec
lea rcx, [rsp + 0x40]
call fcn.14001c580
movups xmm0, xmmword [str.Windows_Home_Server]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14027fb00]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14027fb10]
movsd qword [rax + 0x20], xmm0
jmp 0x1400d57fe
cmp byte [rbp + 0xda], 1
jne 0x1400d54fb
cmp word [rbp - 0x78], 9
jne 0x1400d54fb
lea rax, str.Windows_XP
cmp qword [rsp + 0x40], rax
je 0x1400d549c
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400d5464
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d5479
lea rcx, [rsp + 0x40]
call fcn.14001c580
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_XP]
movups xmmword [rcx], xmm0
mov eax, dword [0x14027fa60]
mov dword [rcx + 0x10], eax
movzx eax, word [0x14027fa64]
mov word [rcx + 0x14], ax
mov edx, 0x19
lea rcx, [rsp + 0x30]
call fcn.14001c970
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0x19]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400d54c6
lea rcx, [rsp + 0x30]
call fcn.14001c580
movups xmm0, xmmword [str.Professional_x64_Edition]
mov rbx, qword [rsp + 0x30]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14027fb28]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [0x14027fb38]
movups xmmword [rbx + 0x20], xmm0
movzx eax, word [0x14027fb48]
mov word [rbx + 0x30], ax
jmp 0x1400d57fe
lea rax, str.Windows_Server_2003
cmp qword [rsp + 0x40], rax
je 0x1400d57fe
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400d5533
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d5548
lea rcx, [rsp + 0x40]
call fcn.14001c580
movups xmm0, xmmword [str.Windows_Server_2003]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14027fb60]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14027fb70]
movsd qword [rax + 0x20], xmm0
jmp 0x1400d57fe
lea rax, str.Windows_XP
cmp qword [rsp + 0x40], rax
je 0x1400d55e0
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400d55a8
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d55bd
lea rcx, [rsp + 0x40]
call fcn.14001c580
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_XP]
movups xmmword [rcx], xmm0
mov eax, dword [0x14027fa60]
mov dword [rcx + 0x10], eax
movzx eax, word [0x14027fa64]
mov word [rcx + 0x14], ax
mov eax, 0x200
lea rcx, [rsp + 0x30]
mov edx, 0xd
test word [rbp + 0xd8], ax
je 0x1400d56cb
call fcn.14001c970
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400d561c
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Home_Edition]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x14027fa78]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x14027fa80]
mov word [rbx + 0x18], ax
jmp 0x1400d57fe
lea rax, str.Windows_2000
cmp qword [rsp + 0x40], rax
je 0x1400d56b8
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xd
je 0x1400d567c
mov edx, 0xd
lea rcx, [rsp + 0x40]
call fcn.14001c970
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400d5691
lea rcx, [rsp + 0x40]
call fcn.14001c580
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_2000]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x14027f9d8]
movsd qword [rcx + 0x10], xmm1
movzx eax, word [0x14027f9e0]
mov word [rcx + 0x18], ax
cmp byte [rbp + 0xda], 1
lea rcx, [rsp + 0x30]
jne 0x1400d5717
mov edx, 0xd
call fcn.14001c970
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400d56eb
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Professional]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x14027f9f8]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x14027fa00]
mov word [rbx + 0x18], ax
jmp 0x1400d57fe
movzx eax, byte [rbp + 0xd8]
test al, al
jns 0x1400d576f
mov edx, 0x12
call fcn.14001c970
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0x12]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400d5747
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Datacenter_Server]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14027fa18]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x14027fa28]
mov dword [rbx + 0x20], eax
jmp 0x1400d57fe
test al, 2
je 0x1400d57b4
mov edx, 0x10
call fcn.14001c970
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0x10]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400d5798
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Advanced_Server]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14027fa40]
movups xmmword [rbx + 0x10], xmm1
jmp 0x1400d57fe
mov edx, 7
call fcn.14001c970
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 7]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400d57d9
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movsd xmm0, qword [str.Server]
movsd qword [rbx], xmm0
mov eax, dword [0x140271c18]
mov dword [rbx + 8], eax
movzx eax, word [0x140271c1c]
mov word [rbx + 0xc], ax
cmp dword [rbp - 0x3c], 6
jb case.0x1400d586e.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 0x1400d6156
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.0x1400d586e.5
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0xd6364]
mov ecx, dword [rdx + rax*4 + 0xd631c]
add rcx, rdx
jmp rcx
lea rax, str.Ultimate_Edition
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x11
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d58a5
mov edx, 0x11
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d58c1
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Ultimate_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14027fdf0]
movups xmmword [rbx + 0x10], xmm1
movzx eax, word [0x14027fe00]
mov word [rbx + 0x20], ax
jmp case.0x1400d586e.5
lea rax, str.Professional
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0xd
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d591b
mov edx, 0xd
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d5937
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Professional]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x14027f9f8]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x14027fa00]
mov word [rbx + 0x18], ax
jmp case.0x1400d586e.5
lea rax, str.Home_Premium_Edition
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x15
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d5993
mov edx, 0x15
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d59af
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Home_Premium_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14027fe18]
movups xmmword [rbx + 0x10], xmm1
movsd xmm0, qword [0x14027fe28]
movsd qword [rbx + 0x20], xmm0
movzx eax, word [0x14027fe30]
mov word [rbx + 0x28], ax
jmp case.0x1400d586e.5
lea rax, str.Home_Basic_Edition
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d5a16
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d5a32
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Home_Basic_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14027fe48]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x14027fe58]
mov dword [rbx + 0x20], eax
movzx eax, word [0x14027fe5c]
mov word [rbx + 0x24], ax
jmp case.0x1400d586e.5
lea rax, str.Enterprise_Edition
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d5a95
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d5ab1
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Enterprise_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14027fe70]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x14027fe80]
mov dword [rbx + 0x20], eax
movzx eax, word [0x14027fe84]
mov word [rbx + 0x24], ax
jmp case.0x1400d586e.5
lea rax, str.Business_Edition
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x11
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d5b14
mov edx, 0x11
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d5b30
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Business_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14027fe98]
movups xmmword [rbx + 0x10], xmm1
movzx eax, word [0x14027fea8]
mov word [rbx + 0x20], ax
jmp case.0x1400d586e.5
lea rax, str.Starter_Edition
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x10
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d5b8a
mov edx, 0x10
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d5ba6
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Starter_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14027fec0]
movups xmmword [rbx + 0x10], xmm1
jmp case.0x1400d586e.5
lea rax, str.Cluster_Server_Edition
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x17
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d5bf5
mov edx, 0x17
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d5c11
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Cluster_Server_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14027fee0]
movups xmmword [rbx + 0x10], xmm1
movsd xmm0, qword [0x14027fef0]
movsd qword [rbx + 0x20], xmm0
mov eax, dword [0x14027fef8]
mov dword [rbx + 0x28], eax
movzx eax, word [0x14027fefc]
mov word [rbx + 0x2c], ax
jmp case.0x1400d586e.5
lea rax, str.Datacenter_Edition
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d5c81
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d5c9d
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Datacenter_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14027ff10]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x14027ff20]
mov dword [rbx + 0x20], eax
movzx eax, word [0x14027ff24]
mov word [rbx + 0x24], ax
jmp case.0x1400d586e.5
lea rax, str.Datacenter_Edition__core_installation_
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x27
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d5d00
mov edx, 0x27
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d5d1c
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Datacenter_Edition__core_installation_]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x14027ff40]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x14027ff50]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x14027ff60]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x14027ff70]
movsd qword [rbx + 0x40], xmm0
mov eax, dword [0x14027ff78]
mov dword [rbx + 0x48], eax
movzx eax, word [0x14027ff7c]
mov word [rbx + 0x4c], ax
jmp case.0x1400d586e.5
lea rax, str.Enterprise_Edition__core_installation_
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x27
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d5da2
mov edx, 0x27
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d5dbe
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Enterprise_Edition__core_installation_]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x14027ff90]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x14027ffa0]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x14027ffb0]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x14027ffc0]
movsd qword [rbx + 0x40], xmm0
mov eax, dword [0x14027ffc8]
mov dword [rbx + 0x48], eax
movzx eax, word [0x14027ffcc]
mov word [rbx + 0x4c], ax
jmp case.0x1400d586e.5
lea rax, str.Enterprise_Edition_for_Itanium_based_Systems
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x2d
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d5e44
mov edx, 0x2d
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d5e60
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Enterprise_Edition_for_Itanium_based_Systems]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x14027ffe0]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x14027fff0]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140280000]
movups xmmword [rbx + 0x30], xmm1
movaps xmm0, xmmword [0x140280010]
movups xmmword [rbx + 0x40], xmm0
movsd xmm1, qword [0x140280020]
movsd qword [rbx + 0x50], xmm1
movzx eax, word [0x140280028]
mov word [rbx + 0x58], ax
jmp case.0x1400d586e.5
lea rax, str.Small_Business_Server
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x16
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d5ee8
mov edx, 0x16
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d5f04
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Small_Business_Server]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140280040]
movups xmmword [rbx + 0x10], xmm1
movsd xmm0, qword [0x140280050]
movsd qword [rbx + 0x20], xmm0
mov eax, dword [0x140280058]
mov dword [rbx + 0x28], eax
jmp case.0x1400d586e.5
lea rax, str.Small_Business_Server_Premium_Edition
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x26
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d5f69
mov edx, 0x26
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d5f85
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Small_Business_Server_Premium_Edition]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x140280070]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140280080]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140280090]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x1402800a0]
movsd qword [rbx + 0x40], xmm0
mov eax, dword [0x1402800a8]
mov dword [rbx + 0x48], eax
jmp case.0x1400d586e.5
lea rax, str.Standard_Edition
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x11
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d6000
mov edx, 0x11
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d601c
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Standard_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x1402800c0]
movups xmmword [rbx + 0x10], xmm1
movzx eax, word [0x1402800d0]
mov word [rbx + 0x20], ax
jmp case.0x1400d586e.5
lea rax, str.Standard_Edition__core_installation_
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x25
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d6076
mov edx, 0x25
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d6092
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Standard_Edition__core_installation_]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x1402800f0]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x140280100]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x140280110]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x140280120]
movsd qword [rbx + 0x40], xmm0
movzx eax, word [0x140280128]
mov word [rbx + 0x48], ax
jmp case.0x1400d586e.5
lea rax, str.Web_Server_Edition
cmp rbx, rax
je case.0x1400d586e.5
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d610f
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d612b
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Web_Server_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x140280140]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x140280150]
mov dword [rbx + 0x20], eax
movzx eax, word [0x140280154]
mov word [rbx + 0x24], ax
jmp case.0x1400d586e.5
lea rax, str._type_unknown_
cmp rbx, rax
je 0x1400d61ce
cmp dword [rsp + 0x3c], 0xf
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400d6187
mov edx, 0xf
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d61a3
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str._type_unknown_]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x140280168]
movsd qword [rbx + 0x10], xmm1
mov eax, dword [0x140280170]
mov dword [rbx + 0x18], eax
movzx eax, word [0x140280174]
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 0x1400d625d
cmp word [rbp - 0x2c], di
je 0x1400d6204
lea rax, [rbp - 0x2c]
mov rsi, 0xffffffffffffffff
inc rsi
cmp word [rax + rsi*2], di
jne 0x1400d61f7
inc esi
jmp 0x1400d6206
mov esi, edi
mov dword [rsp + 0x38], edi
cmp dword [rsp + 0x3c], esi
je 0x1400d6225
mov edx, esi
lea rcx, [rsp + 0x30]
call fcn.14001c970
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 0x1400d6243
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.14001c580
mov rbx, qword [rsp + 0x30]
test esi, esi
je 0x1400d6259
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 0x1400d6280
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 0x1400d62b0
mov r15, qword [rsp + 0x1f0]
mov r14, qword [rsp + 0x1f8]
test rbx, rbx
je 0x1400d62df
mov rcx, rbx
call fcn.14004db90
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x238]
test rcx, rcx
je 0x1400d62f6
call fcn.14004db90
mov eax, esi
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.14024f8b0
add rsp, 0x218
pop rsi
pop rbp
ret
mov esi, 4
jmp 0x1400d625d