Function at 0x1400dfc40
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 - 0x178]
sub rsp, 0x268
mov rax, qword [0x14037ec08]
xor rax, rsp
mov qword [rbp + 0x130], 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 r14, r8
mov qword [r11 - 0x38], r15
mov r15, rcx
mov qword [rbp - 0x30], rcx
lea rcx, [rbp - 0x28]
mov qword [rbp - 0x38], r8
mov dword [rsp + 0x60], edi
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
xor edx, edx
lea rcx, [rbp + 0x14]
mov r8d, 0x118
call fcn.140260ab0
lea edx, [rdi + 0x1a]
mov dword [rbp + 0x10], 0x11c
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
call fcn.140019a30
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x1a]
mov dword [rsp + 0x48], eax
cmp eax, dword [rsp + 0x4c]
jle 0x1400dfce2
lea rcx, [rsp + 0x40]
call fcn.1400197d0
mov rcx, qword [rsp + 0x40]
lea rdx, str.Windows__unknown_version_
mov r8d, 0x34
call fcn.140038f30
mov rbx, rdi
mov qword [rsp + 0x38], rdi
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x30], rbx
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
lea r12, [0x140280be0]
test eax, eax
je 0x1400e1cc3
mov eax, dword [rbp + 0x14]
mov qword [rsp + 0x250], r13
sub eax, 5
je 0x1400e0b8d
sub eax, 1
je 0x1400e0774
cmp eax, 4
je 0x1400dfd4f
mov esi, 1
mov dword [rsp + 0x60], esi
jmp 0x1400e11a6
cmp dword [rbp + 0x18], ebx
je 0x1400dfd62
mov esi, 1
mov dword [rsp + 0x60], esi
jmp 0x1400e11b0
cmp byte [rbp + 0x12a], 1
jne 0x1400dfe62
cmp dword [rbp + 0x1c], 0x55f0
jb 0x1400dfded
lea rax, str.Windows_11
cmp qword [rsp + 0x40], rax
je 0x1400dff4c
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400dfdb0
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400dfdc5
lea rcx, [rsp + 0x40]
call fcn.1400197d0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_11]
movups xmmword [rcx], xmm0
mov eax, dword [0x14029ee30]
mov dword [rcx + 0x10], eax
movzx eax, word [0x14029ee34]
mov word [rcx + 0x14], ax
jmp 0x1400dff4c
lea rax, str.Windows_10
cmp qword [rsp + 0x40], rax
je 0x1400dff4c
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400dfe25
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400dfe3a
lea rcx, [rsp + 0x40]
call fcn.1400197d0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_10]
movups xmmword [rcx], xmm0
mov eax, dword [0x14029ee48]
mov dword [rcx + 0x10], eax
movzx eax, word [0x14029ee4c]
mov word [rcx + 0x14], ax
jmp 0x1400dff4c
cmp dword [rbp + 0x1c], 0x4f7c
jb 0x1400dfedc
lea rax, str.Windows_Server_2022
cmp qword [rsp + 0x40], rax
je 0x1400dff4c
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400dfea3
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400dfeb8
lea rcx, [rsp + 0x40]
call fcn.1400197d0
movups xmm0, xmmword [str.Windows_Server_2022]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14029ee60]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14029ee70]
jmp 0x1400dff47
lea rax, str.Windows_Server_2019
cmp qword [rsp + 0x40], rax
je 0x1400dff4c
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400dff10
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400dff25
lea rcx, [rsp + 0x40]
call fcn.1400197d0
movups xmm0, xmmword [str.Windows_Server_2019]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14029ee88]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14029ee98]
movsd qword [rax + 0x20], xmm0
mov qword [rbp - 0x50], rdi
xor r14b, r14b
mov qword [rbp - 0x48], rdi
mov r15d, edi
mov r13d, 0x200
test r14b, r14b
jne 0x1400e040f
mov r9d, 0x100
mov qword [rsp + 0x58], rdi
lea rax, [rsp + 0x58]
test r15d, r15d
lea rdx, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
mov qword [rsp + 0x20], rax
cmove r9d, r13d
mov rcx, 0xffffffff80000002
or r9d, 0x20019
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400e0172
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x64]
xor r8d, r8d
mov qword [rsp + 0x20], rdi
lea rdx, str.DisplayVersion
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x64], edi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400e0167
mov ecx, dword [rsp + 0x50]
test ecx, ecx
je 0x1400e0167
mov eax, dword [rsp + 0x64]
sub eax, 1
je 0x1400e0112
sub eax, 1
je 0x1400e0112
sub eax, 2
je 0x1400e009a
sub eax, 3
je 0x1400e0112
cmp eax, 4
jne 0x1400e0167
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rdx, str.DisplayVersion
lea rax, [rbp - 0x40]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400e0167
mov r8, qword [rbp - 0x40]
lea rdx, str._lld
lea rcx, [rbp - 0x70]
call fcn.1400268a0
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x1400e0076
call fcn.1400556b0
mov rax, qword [rbp - 0x70]
mov r14b, 1
mov qword [rbp - 0x50], rax
mov eax, dword [rbp - 0x68]
mov dword [rbp - 0x48], eax
mov eax, dword [rbp - 0x64]
mov dword [rbp - 0x44], eax
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x70], rdi
jmp 0x1400e0167
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rdx, str.DisplayVersion
lea rax, [rsp + 0x68]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400e0167
mov r8d, dword [rsp + 0x68]
lea rdx, [0x140281b38]
lea rcx, [rbp - 0x60]
call fcn.1400268a0
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x1400e00f1
call fcn.1400556b0
mov rax, qword [rbp - 0x60]
mov r14b, 1
mov qword [rbp - 0x50], rax
mov eax, dword [rbp - 0x58]
mov dword [rbp - 0x48], eax
mov eax, dword [rbp - 0x54]
mov dword [rbp - 0x44], eax
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x60], rdi
jmp 0x1400e0167
call fcn.14001c7e0
mov rcx, qword [rsp + 0x58]
lea rdx, str.DisplayVersion
mov rsi, rax
xor r9d, r9d
lea rax, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400e015f
mov r8d, dword [rsp + 0x50]
lea rcx, [rbp - 0x50]
shr r8d, 1
mov rdx, rsi
dec r8d
call fcn.1400246e0
mov r14b, 1
mov rcx, rsi
call fcn.14001c880
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc r15d
cmp r15d, 2
jl 0x1400dff60
test r14b, r14b
jne 0x1400e040f
mov qword [rbp - 0x70], rdi
mov r15d, edi
mov qword [rbp - 0x68], rdi
test r14b, r14b
jne 0x1400e03bd
mov r9d, 0x100
mov qword [rsp + 0x58], rdi
lea rax, [rsp + 0x58]
test r15d, r15d
lea rdx, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
mov qword [rsp + 0x20], rax
cmove r9d, r13d
mov rcx, 0xffffffff80000002
or r9d, 0x20019
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400e03ab
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x64]
xor r8d, r8d
mov qword [rsp + 0x20], rdi
lea rdx, str.ReleaseId
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x64], edi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400e03a0
mov ecx, dword [rsp + 0x50]
test ecx, ecx
je 0x1400e03a0
mov eax, dword [rsp + 0x64]
sub eax, 1
je 0x1400e034b
sub eax, 1
je 0x1400e034b
sub eax, 2
je 0x1400e02cd
sub eax, 3
je 0x1400e034b
cmp eax, 4
jne 0x1400e03a0
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rdx, str.ReleaseId
lea rax, [rbp - 0x40]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400e03a0
mov r8, qword [rbp - 0x40]
lea rdx, str._lld
lea rcx, [rbp - 0x60]
call fcn.1400268a0
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400e02a9
call fcn.1400556b0
mov rax, qword [rbp - 0x60]
mov r14b, 1
mov qword [rbp - 0x70], rax
mov eax, dword [rbp - 0x58]
mov dword [rbp - 0x68], eax
mov eax, dword [rbp - 0x54]
mov dword [rbp - 0x64], eax
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x60], rdi
jmp 0x1400e03a0
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rdx, str.ReleaseId
lea rax, [rsp + 0x68]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400e03a0
mov r8d, dword [rsp + 0x68]
lea rdx, [0x140281b38]
lea rcx, [rsp + 0x70]
call fcn.1400268a0
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400e0325
call fcn.1400556b0
mov rax, qword [rsp + 0x70]
mov r14b, 1
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x68], eax
mov eax, dword [rsp + 0x7c]
mov dword [rbp - 0x64], eax
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x70], rdi
jmp 0x1400e03a0
call fcn.14001c7e0
mov rcx, qword [rsp + 0x58]
lea rdx, str.ReleaseId
mov rsi, rax
xor r9d, r9d
lea rax, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400e0398
mov r8d, dword [rsp + 0x50]
lea rcx, [rbp - 0x70]
shr r8d, 1
mov rdx, rsi
dec r8d
call fcn.1400246e0
mov r14b, 1
mov rcx, rsi
call fcn.14001c880
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc r15d
cmp r15d, 2
jl 0x1400e0193
test r14b, r14b
je 0x1400e0409
cmp dword [rbp - 0x68], ebx
lea rdx, str.__Release__s_
mov r8, r12
lea rcx, [rsp + 0x70]
cmovne r8, qword [rbp - 0x70]
call fcn.1400268a0
mov r8d, dword [rsp + 0x78]
test r8d, r8d
je 0x1400e03e8
dec r8d
jmp 0x1400e03eb
mov r8d, edi
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.1400246e0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400e0409
call fcn.1400556b0
mov rcx, qword [rbp - 0x70]
jmp 0x1400e0451
cmp dword [rbp - 0x48], ebx
lea rdx, str.___s_
mov r8, r12
lea rcx, [rsp + 0x70]
cmovne r8, qword [rbp - 0x50]
call fcn.1400268a0
mov r8d, dword [rsp + 0x78]
test r8d, r8d
je 0x1400e043a
dec r8d
jmp 0x1400e043d
mov r8d, edi
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.1400246e0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400e045b
call fcn.1400556b0
mov qword [rbp - 0x80], rdi
xor r14b, r14b
mov qword [rbp - 0x78], rdi
mov r15d, edi
nop dword [rax]
test r14b, r14b
jne 0x1400e06e9
mov r9d, 0x100
mov qword [rsp + 0x58], rdi
lea rax, [rsp + 0x58]
test r15d, r15d
lea rdx, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
mov qword [rsp + 0x20], rax
cmove r9d, r13d
mov rcx, 0xffffffff80000002
or r9d, 0x20019
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400e0688
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x64]
xor r8d, r8d
mov qword [rsp + 0x20], rdi
lea rdx, [0x14029ef68]
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x64], edi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400e067d
mov ecx, dword [rsp + 0x50]
test ecx, ecx
je 0x1400e067d
mov eax, dword [rsp + 0x64]
sub eax, 1
je 0x1400e0628
sub eax, 1
je 0x1400e0628
sub eax, 2
je 0x1400e05b0
sub eax, 3
je 0x1400e0628
cmp eax, 4
jne 0x1400e067d
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rdx, [0x14029ef68]
lea rax, [rbp - 0x40]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400e067d
mov r8, qword [rbp - 0x40]
lea rdx, str._lld
lea rcx, [rsp + 0x70]
call fcn.1400268a0
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x1400e0587
call fcn.1400556b0
mov rax, qword [rsp + 0x70]
mov r14b, 1
mov qword [rbp - 0x80], rax
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x78], eax
mov eax, dword [rsp + 0x7c]
mov dword [rbp - 0x74], eax
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x70], rdi
jmp 0x1400e067d
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rdx, [0x14029ef68]
lea rax, [rsp + 0x68]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400e067d
mov r8d, dword [rsp + 0x68]
lea rdx, [0x140281b38]
lea rcx, [rbp - 0x60]
call fcn.1400268a0
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x1400e0607
call fcn.1400556b0
mov rax, qword [rbp - 0x60]
mov r14b, 1
mov qword [rbp - 0x80], rax
mov eax, dword [rbp - 0x58]
mov dword [rbp - 0x78], eax
mov eax, dword [rbp - 0x54]
mov dword [rbp - 0x74], eax
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x60], rdi
jmp 0x1400e067d
call fcn.14001c7e0
mov rcx, qword [rsp + 0x58]
lea rdx, [0x14029ef68]
mov rsi, rax
xor r9d, r9d
lea rax, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400e0675
mov r8d, dword [rsp + 0x50]
lea rcx, [rbp - 0x80]
shr r8d, 1
mov rdx, rsi
dec r8d
call fcn.1400246e0
mov r14b, 1
mov rcx, rsi
call fcn.14001c880
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc r15d
cmp r15d, 2
jl 0x1400e0470
test r14b, r14b
jne 0x1400e06e9
lea rax, str.UNKNOWN
cmp qword [rbp - 0x80], rax
je 0x1400e06e9
mov ecx, dword [rbp - 0x74]
mov edx, edi
mov dword [rbp - 0x78], edx
cmp ecx, 8
je 0x1400e06c8
mov edx, 8
lea rcx, [rbp - 0x80]
call fcn.140019a30
mov ecx, dword [rbp - 0x74]
mov edx, dword [rbp - 0x78]
lea eax, [rdx + 8]
mov dword [rbp - 0x78], eax
cmp eax, ecx
jle 0x1400e06db
lea rcx, [rbp - 0x80]
call fcn.1400197d0
mov rax, qword [rbp - 0x80]
movups xmm0, xmmword [str.UNKNOWN]
movups xmmword [rax], xmm0
cmp dword [rbp - 0x78], ebx
lea rdx, str.___u._u._u._s_
mov r9d, dword [rbp + 0x18]
lea rcx, [rsp + 0x70]
mov r8d, dword [rbp + 0x14]
mov rax, r12
cmovne rax, qword [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x1c]
mov dword [rsp + 0x20], eax
call fcn.1400268a0
mov r8d, dword [rsp + 0x78]
test r8d, r8d
je 0x1400e0728
dec r8d
jmp 0x1400e072b
mov r8d, edi
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.1400246e0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400e0749
call fcn.1400556b0
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x1400e0757
call fcn.1400556b0
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x1400e0765
call fcn.1400556b0
mov r14, qword [rbp - 0x38]
mov esi, ebx
mov r15, qword [rbp - 0x30]
jmp 0x1400e11a6
mov eax, dword [rbp + 0x18]
test eax, eax
je 0x1400e0a94
sub eax, 1
je 0x1400e0994
sub eax, 1
je 0x1400e08a8
cmp eax, 1
je 0x1400e07a4
mov esi, 1
mov dword [rsp + 0x60], esi
jmp 0x1400e11b0
cmp byte [rbp + 0x12a], 1
jne 0x1400e081b
lea rax, str.Windows_8.1
cmp qword [rsp + 0x40], rax
je 0x1400e11b0
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xc
je 0x1400e07e5
mov edx, 0xc
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xc]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e07fa
lea rcx, [rsp + 0x40]
call fcn.1400197d0
mov rax, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_8.1]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14029ede8]
movsd qword [rax + 0x10], xmm1
jmp 0x1400e11a6
lea rax, str.Windows_Server_2012_R2
cmp qword [rsp + 0x40], rax
je 0x1400e11b0
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x17
je 0x1400e0853
mov edx, 0x17
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e0868
lea rcx, [rsp + 0x40]
call fcn.1400197d0
movups xmm0, xmmword [str.Windows_Server_2012_R2]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x14029ee00]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x14029ee10]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x14029ee18]
mov dword [rcx + 0x28], eax
movzx eax, word [0x14029ee1c]
mov word [rcx + 0x2c], ax
jmp 0x1400e11a6
cmp byte [rbp + 0x12a], 1
jne 0x1400e091b
lea rax, str.Windows_8
cmp qword [rsp + 0x40], rax
je 0x1400e11b0
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xa
je 0x1400e08e9
mov edx, 0xa
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xa]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e08fe
lea rcx, [rsp + 0x40]
call fcn.1400197d0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_8]
movups xmmword [rcx], xmm0
mov eax, dword [0x14029eda8]
mov dword [rcx + 0x10], eax
jmp 0x1400e11a6
lea rax, str.Windows_Server_2012
cmp qword [rsp + 0x40], rax
je 0x1400e11b0
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400e0953
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e0968
lea rcx, [rsp + 0x40]
call fcn.1400197d0
movups xmm0, xmmword [str.Windows_Server_2012]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14029edc0]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14029edd0]
movsd qword [rax + 0x20], xmm0
jmp 0x1400e11a6
cmp byte [rbp + 0x12a], 1
jne 0x1400e0a07
lea rax, str.Windows_7
cmp qword [rsp + 0x40], rax
je 0x1400e11b0
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xa
je 0x1400e09d5
mov edx, 0xa
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xa]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e09ea
lea rcx, [rsp + 0x40]
call fcn.1400197d0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_7]
movups xmmword [rcx], xmm0
mov eax, dword [0x14029ed60]
mov dword [rcx + 0x10], eax
jmp 0x1400e11a6
lea rax, str.Windows_Server_2008_R2
cmp qword [rsp + 0x40], rax
je 0x1400e11b0
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x17
je 0x1400e0a3f
mov edx, 0x17
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e0a54
lea rcx, [rsp + 0x40]
call fcn.1400197d0
movups xmm0, xmmword [str.Windows_Server_2008_R2]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x14029ed78]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x14029ed88]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x14029ed90]
mov dword [rcx + 0x28], eax
movzx eax, word [0x14029ed94]
mov word [rcx + 0x2c], ax
jmp 0x1400e11a6
cmp byte [rbp + 0x12a], 1
jne 0x1400e0b14
lea rax, str.Windows_Vista
cmp qword [rsp + 0x40], rax
je 0x1400e11b0
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xe
je 0x1400e0ad5
mov edx, 0xe
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xe]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e0aea
lea rcx, [rsp + 0x40]
call fcn.1400197d0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_Vista]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x14029ed18]
movsd qword [rcx + 0x10], xmm1
mov eax, dword [0x14029ed20]
mov dword [rcx + 0x18], eax
jmp 0x1400e11a6
lea rax, str.Windows_Server_2008
cmp qword [rsp + 0x40], rax
je 0x1400e11b0
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400e0b4c
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e0b61
lea rcx, [rsp + 0x40]
call fcn.1400197d0
movups xmm0, xmmword [str.Windows_Server_2008]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14029ed38]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14029ed48]
movsd qword [rax + 0x20], xmm0
jmp 0x1400e11a6
mov eax, dword [rbp + 0x18]
test eax, eax
je 0x1400e0fec
sub eax, 1
je 0x1400e0ec6
cmp eax, 1
je 0x1400e0bb0
mov esi, 1
jmp 0x1400e1b7d
mov ecx, 0x59
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x1400e0c50
lea rax, str.Windows_Server_2003_R2
cmp qword [rsp + 0x40], rax
je 0x1400e11a6
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x17
je 0x1400e0bfb
mov edx, 0x17
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x17]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e0c10
lea rcx, [rsp + 0x40]
call fcn.1400197d0
movups xmm0, xmmword [str.Windows_Server_2003_R2]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x14029ec28]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x14029ec38]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x14029ec40]
mov dword [rcx + 0x28], eax
movzx eax, word [0x14029ec44]
mov word [rcx + 0x2c], ax
jmp 0x1400e11a6
movzx eax, word [rbp + 0x128]
bt ax, 0xd
jae 0x1400e0ce6
lea rax, str.Windows_Storage_Server_2003
cmp qword [rsp + 0x40], rax
je 0x1400e11a6
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x1c
je 0x1400e0c9a
mov edx, 0x1c
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x1c]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e0caf
lea rcx, [rsp + 0x40]
call fcn.1400197d0
movups xmm0, xmmword [str.Windows_Storage_Server_2003]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14029ec58]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x14029ec68]
movups xmmword [rax + 0x20], xmm0
movsd xmm1, qword [0x14029ec78]
movsd qword [rax + 0x30], xmm1
jmp 0x1400e11a6
bt ax, 0xf
jae 0x1400e0d66
lea rax, str.Windows_Home_Server
cmp qword [rsp + 0x40], rax
je 0x1400e11a6
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400e0d25
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e0d3a
lea rcx, [rsp + 0x40]
call fcn.1400197d0
movups xmm0, xmmword [str.Windows_Home_Server]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14029ec90]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14029eca0]
movsd qword [rax + 0x20], xmm0
jmp 0x1400e11a6
cmp byte [rbp + 0x12a], 1
jne 0x1400e0e4d
cmp word [rbp - 0x28], 9
jne 0x1400e0e4d
lea rax, str.Windows_XP
cmp qword [rsp + 0x40], rax
je 0x1400e0dea
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400e0db2
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e0dc7
lea rcx, [rsp + 0x40]
call fcn.1400197d0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_XP]
movups xmmword [rcx], xmm0
mov eax, dword [0x14029ebf0]
mov dword [rcx + 0x10], eax
movzx eax, word [0x14029ebf4]
mov word [rcx + 0x14], ax
mov edx, 0x19
mov dword [rsp + 0x38], edi
lea rcx, [rsp + 0x30]
call fcn.140019a30
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0x19]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400e0e18
lea rcx, [rsp + 0x30]
call fcn.1400197d0
movups xmm0, xmmword [str.Professional_x64_Edition]
mov rbx, qword [rsp + 0x30]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029ecb8]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [0x14029ecc8]
movups xmmword [rbx + 0x20], xmm0
movzx eax, word [0x14029ecd8]
mov word [rbx + 0x30], ax
jmp 0x1400e11a6
lea rax, str.Windows_Server_2003
cmp qword [rsp + 0x40], rax
je 0x1400e11a6
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0x14
je 0x1400e0e85
mov edx, 0x14
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0x14]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e0e9a
lea rcx, [rsp + 0x40]
call fcn.1400197d0
movups xmm0, xmmword [str.Windows_Server_2003]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14029ecf0]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14029ed00]
movsd qword [rax + 0x20], xmm0
jmp 0x1400e11a6
lea rax, str.Windows_XP
cmp qword [rsp + 0x40], rax
je 0x1400e0f32
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xb
je 0x1400e0efa
mov edx, 0xb
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xb]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e0f0f
lea rcx, [rsp + 0x40]
call fcn.1400197d0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_XP]
movups xmmword [rcx], xmm0
mov eax, dword [0x14029ebf0]
mov dword [rcx + 0x10], eax
movzx eax, word [0x14029ebf4]
mov word [rcx + 0x14], ax
mov r13d, 0x200
lea rcx, [rsp + 0x30]
mov edx, 0xd
test word [rbp + 0x128], r13w
je 0x1400e0f98
call fcn.140019a30
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400e0f6c
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Home_Edition]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x14029ec08]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x14029ec10]
mov word [rbx + 0x18], ax
jmp 0x1400e11a6
mov dword [rsp + 0x38], edi
call fcn.140019a30
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400e108f
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Professional]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x14029eb88]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x14029eb90]
mov word [rbx + 0x18], ax
jmp 0x1400e11a6
lea rax, str.Windows_2000
cmp qword [rsp + 0x40], rax
je 0x1400e105c
mov ecx, dword [rsp + 0x4c]
mov edx, edi
mov dword [rsp + 0x48], edx
cmp ecx, 0xd
je 0x1400e1020
mov edx, 0xd
lea rcx, [rsp + 0x40]
call fcn.140019a30
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x48], eax
cmp eax, ecx
jle 0x1400e1035
lea rcx, [rsp + 0x40]
call fcn.1400197d0
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [str.Windows_2000]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x14029eb68]
movsd qword [rcx + 0x10], xmm1
movzx eax, word [0x14029eb70]
mov word [rcx + 0x18], ax
cmp byte [rbp + 0x12a], 1
lea rcx, [rsp + 0x30]
jne 0x1400e10bb
mov edx, 0xd
call fcn.140019a30
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0xd]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400e108f
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Professional]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x14029eb88]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x14029eb90]
mov word [rbx + 0x18], ax
jmp 0x1400e11a6
movzx eax, byte [rbp + 0x128]
test al, al
jns 0x1400e1113
mov edx, 0x12
call fcn.140019a30
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0x12]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400e10eb
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Datacenter_Server]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029eba8]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x14029ebb8]
mov dword [rbx + 0x20], eax
jmp 0x1400e11a6
test al, 2
je 0x1400e1158
mov edx, 0x10
call fcn.140019a30
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 0x10]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400e113c
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Advanced_Server]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029ebd0]
movups xmmword [rbx + 0x10], xmm1
jmp 0x1400e11a6
mov edx, 7
mov dword [rsp + 0x38], edi
call fcn.140019a30
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 7]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400e1181
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movsd xmm0, qword [str.Server]
movsd qword [rbx], xmm0
mov eax, dword [0x14028f2d8]
mov dword [rbx + 8], eax
movzx eax, word [0x14028f2dc]
mov word [rbx + 0xc], ax
cmp dword [rbp + 0x14], 6
jb case.0x1400e121a.18
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 0x1400e1b02
mov edx, dword [rbp + 0x18]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov ecx, dword [rbp + 0x14]
xor r8d, r8d
call qword [case.0x140041db8.0]
mov eax, dword [rsp + 0x68]
dec eax
cmp eax, 0x2f
ja case.0x1400e121a.18
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0xe1d18]
mov ecx, dword [rdx + rax*4 + 0xe1cd0]
add rcx, rdx
jmp rcx
lea rax, str.Ultimate_Edition
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x11
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e1251
mov edx, 0x11
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e126d
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Ultimate_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029efe0]
movups xmmword [rbx + 0x10], xmm1
movzx eax, word [0x14029eff0]
mov word [rbx + 0x20], ax
jmp case.0x1400e121a.18
lea rax, str.Professional
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0xd
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e12c7
mov edx, 0xd
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e12e3
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Professional]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x14029eb88]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [0x14029eb90]
mov word [rbx + 0x18], ax
jmp case.0x1400e121a.18
lea rax, str.Home_Premium_Edition
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x15
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e133f
mov edx, 0x15
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e135b
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Home_Premium_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029f008]
movups xmmword [rbx + 0x10], xmm1
movsd xmm0, qword [0x14029f018]
movsd qword [rbx + 0x20], xmm0
movzx eax, word [0x14029f020]
mov word [rbx + 0x28], ax
jmp case.0x1400e121a.18
lea rax, str.Home_Basic_Edition
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e13c2
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e13de
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Home_Basic_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029f038]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x14029f048]
mov dword [rbx + 0x20], eax
movzx eax, word [0x14029f04c]
mov word [rbx + 0x24], ax
jmp case.0x1400e121a.18
lea rax, str.Enterprise_Edition
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e1441
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e145d
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Enterprise_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029f060]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x14029f070]
mov dword [rbx + 0x20], eax
movzx eax, word [0x14029f074]
mov word [rbx + 0x24], ax
jmp case.0x1400e121a.18
lea rax, str.Business_Edition
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x11
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e14c0
mov edx, 0x11
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e14dc
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Business_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029f088]
movups xmmword [rbx + 0x10], xmm1
movzx eax, word [0x14029f098]
mov word [rbx + 0x20], ax
jmp case.0x1400e121a.18
lea rax, str.Starter_Edition
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x10
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e1536
mov edx, 0x10
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e1552
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Starter_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029f0b0]
movups xmmword [rbx + 0x10], xmm1
jmp case.0x1400e121a.18
lea rax, str.Cluster_Server_Edition
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x17
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e15a1
mov edx, 0x17
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e15bd
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Cluster_Server_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029f0d0]
movups xmmword [rbx + 0x10], xmm1
movsd xmm0, qword [0x14029f0e0]
movsd qword [rbx + 0x20], xmm0
mov eax, dword [0x14029f0e8]
mov dword [rbx + 0x28], eax
movzx eax, word [0x14029f0ec]
mov word [rbx + 0x2c], ax
jmp case.0x1400e121a.18
lea rax, str.Datacenter_Edition
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e162d
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e1649
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Datacenter_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029f100]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x14029f110]
mov dword [rbx + 0x20], eax
movzx eax, word [0x14029f114]
mov word [rbx + 0x24], ax
jmp case.0x1400e121a.18
lea rax, str.Datacenter_Edition__core_installation_
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x27
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e16ac
mov edx, 0x27
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e16c8
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Datacenter_Edition__core_installation_]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x14029f130]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x14029f140]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x14029f150]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x14029f160]
movsd qword [rbx + 0x40], xmm0
mov eax, dword [0x14029f168]
mov dword [rbx + 0x48], eax
movzx eax, word [0x14029f16c]
mov word [rbx + 0x4c], ax
jmp case.0x1400e121a.18
lea rax, str.Enterprise_Edition__core_installation_
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x27
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e174e
mov edx, 0x27
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e176a
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Enterprise_Edition__core_installation_]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x14029f180]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x14029f190]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x14029f1a0]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x14029f1b0]
movsd qword [rbx + 0x40], xmm0
mov eax, dword [0x14029f1b8]
mov dword [rbx + 0x48], eax
movzx eax, word [0x14029f1bc]
mov word [rbx + 0x4c], ax
jmp case.0x1400e121a.18
lea rax, str.Enterprise_Edition_for_Itanium_based_Systems
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x2d
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e17f0
mov edx, 0x2d
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e180c
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Enterprise_Edition_for_Itanium_based_Systems]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x14029f1d0]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x14029f1e0]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x14029f1f0]
movups xmmword [rbx + 0x30], xmm1
movaps xmm0, xmmword [0x14029f200]
movups xmmword [rbx + 0x40], xmm0
movsd xmm1, qword [0x14029f210]
movsd qword [rbx + 0x50], xmm1
movzx eax, word [0x14029f218]
mov word [rbx + 0x58], ax
jmp case.0x1400e121a.18
lea rax, str.Small_Business_Server
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x16
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e1894
mov edx, 0x16
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e18b0
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Small_Business_Server]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029f230]
movups xmmword [rbx + 0x10], xmm1
movsd xmm0, qword [0x14029f240]
movsd qword [rbx + 0x20], xmm0
mov eax, dword [0x14029f248]
mov dword [rbx + 0x28], eax
jmp case.0x1400e121a.18
lea rax, str.Small_Business_Server_Premium_Edition
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x26
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e1915
mov edx, 0x26
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e1931
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Small_Business_Server_Premium_Edition]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x14029f260]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x14029f270]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x14029f280]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x14029f290]
movsd qword [rbx + 0x40], xmm0
mov eax, dword [0x14029f298]
mov dword [rbx + 0x48], eax
jmp case.0x1400e121a.18
lea rax, str.Standard_Edition
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x11
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e19ac
mov edx, 0x11
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e19c8
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Standard_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029f2b0]
movups xmmword [rbx + 0x10], xmm1
movzx eax, word [0x14029f2c0]
mov word [rbx + 0x20], ax
jmp case.0x1400e121a.18
lea rax, str.Standard_Edition__core_installation_
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x25
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e1a22
mov edx, 0x25
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e1a3e
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movaps xmm0, xmmword [str.Standard_Edition__core_installation_]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x14029f2e0]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x14029f2f0]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x14029f300]
movups xmmword [rbx + 0x30], xmm1
movsd xmm0, qword [0x14029f310]
movsd qword [rbx + 0x40], xmm0
movzx eax, word [0x14029f318]
mov word [rbx + 0x48], ax
jmp case.0x1400e121a.18
lea rax, str.Web_Server_Edition
cmp rbx, rax
je case.0x1400e121a.18
cmp dword [rsp + 0x3c], 0x13
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e1abb
mov edx, 0x13
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e1ad7
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str.Web_Server_Edition]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14029f330]
movups xmmword [rbx + 0x10], xmm1
mov eax, dword [0x14029f340]
mov dword [rbx + 0x20], eax
movzx eax, word [0x14029f344]
mov word [rbx + 0x24], ax
jmp case.0x1400e121a.18
lea rax, str._type_unknown_
cmp rbx, rax
je 0x1400e1b7a
cmp dword [rsp + 0x3c], 0xf
mov edx, edi
mov dword [rsp + 0x38], edx
je 0x1400e1b33
mov edx, 0xf
lea rcx, [rsp + 0x30]
call fcn.140019a30
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 0x1400e1b4f
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
movups xmm0, xmmword [str._type_unknown_]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x14029f358]
movsd qword [rbx + 0x10], xmm1
mov eax, dword [0x14029f360]
mov dword [rbx + 0x18], eax
movzx eax, word [0x14029f364]
mov word [rbx + 0x1c], ax
or esi, 2
mov dword [rsp + 0x60], esi
mov r13, qword [rsp + 0x250]
lea rax, [rbp + 0x24]
cmp rbx, rax
je 0x1400e1c09
cmp word [rbp + 0x24], di
je 0x1400e1bb0
lea rax, [rbp + 0x24]
mov rsi, 0xffffffffffffffff
inc rsi
cmp word [rax + rsi*2], di
jne 0x1400e1ba3
inc esi
jmp 0x1400e1bb2
mov esi, edi
mov dword [rsp + 0x38], edi
cmp dword [rsp + 0x3c], esi
je 0x1400e1bd1
mov edx, esi
lea rcx, [rsp + 0x30]
call fcn.140019a30
mov edi, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea eax, [rdi + rsi]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400e1bef
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.1400197d0
mov rbx, qword [rsp + 0x30]
test esi, esi
je 0x1400e1c05
movsxd r8, esi
lea rdx, [rbp + 0x24]
add r8, r8
mov rcx, rbx
call fcn.140260aa0
mov esi, dword [rsp + 0x60]
cmp dword [rsp + 0x48], 0
mov rcx, r12
mov rdi, qword [rsp + 0x260]
cmovne rcx, qword [rsp + 0x40]
sub r15, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
mov word [r15 + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400e1c30
cmp dword [rsp + 0x38], 0
mov r15, qword [rsp + 0x240]
cmovne r12, rbx
sub r14, r12
nop word [rax + rax]
movzx eax, word [r12]
mov word [r14 + r12], ax
lea r12, [r12 + 2]
test ax, ax
jne 0x1400e1c60
mov r14, qword [rsp + 0x248]
mov r12, qword [rsp + 0x258]
test rbx, rbx
je 0x1400e1c91
mov rcx, rbx
call fcn.1400556b0
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x288]
test rcx, rcx
je 0x1400e1ca8
call fcn.1400556b0
mov eax, esi
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.14025eac0
add rsp, 0x268
pop rsi
pop rbp
ret
mov esi, 4
jmp 0x1400e1c09