Function at 0x140039cc0
Capabilities:
Check os version
Get common file path
Get system information on windows

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1540]
mov eax, 0x1640
call fcn.14022a960
sub rsp, rax
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x1670], rbx
mov qword [rsp + 0x1680], rsi
mov qword [rsp + 0x1688], rdi
mov rax, qword [0x14035c8c0]
xor rax, rsp
mov qword [rbp + 0x1530], rax
mov rbx, rdx
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
xor edx, edx
mov r8d, 0x11c
lea rcx, [rbp - 0x40]
call fcn.14022ebc0
mov dword [rbp - 0x40], 0x11c
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x14003bb77
xor r15d, r15d
cmp dword [rbp - 0x3c], 6
jb 0x140039dc9
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x48], r15d
mov edx, 0x1450
lea rcx, [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x140039dc9
lea r9, [rbp + 0xe0]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x44]
call fcn.1400375c0
test al, al
je 0x140039dc9
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
cmp dword [rbp - 0x3c], ecx
jne 0x140039dbc
cmp dword [rbp - 0x38], eax
je 0x140039dc9
mov dword [rbp - 0x3c], ecx
mov dword [rbp - 0x38], eax
mov eax, dword [rsp + 0x48]
mov dword [rbp - 0x34], eax
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.GetNativeSystemInfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rsp + 0x50]
test rax, rax
je 0x140039df4
call rax
jmp 0x140039dfa
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [rbp - 0x30], 2
jne 0x14003bb77
cmp dword [rbp - 0x3c], 4
jbe 0x14003bb77
mov edx, 0x100
mov rcx, rbx
lea r8, str.Microsoft
sub r8, rbx
lea rax, [rdx + 0x7ffffefe]
test rax, rax
je 0x140039e43
movzx eax, word [rcx + r8]
test ax, ax
je 0x140039e43
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140039e20
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
lea r12, vtable.srl::Exists.0
lea r13, vtable.srl::GroupID.0
mov rax, qword [rsp + 0x50]
cmp ax, 6
jne 0x140039ee9
mov edx, 0x11660
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
xor r9d, r9d
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x78]
call fcn.140058450
nop
lea rax, vtable.srl::Value.0
mov qword [rsp + 0x30], rax
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x116c0
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp 0x140039f5f
cmp ax, 9
jne 0x140039f5f
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11660
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x116c1
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
xor sil, sil
xor r14b, r14b
xor dil, dil
cmp dword [rbp - 0x3c], 0xa
jne 0x14003a02e
mov ecx, 0x100
mov rax, rbx
nop word [rax + rax]
cmp word [rax], 0
je 0x140039f90
add rax, 2
sub rcx, 1
jne 0x140039f80
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je 0x140039ff6
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x140039fe7
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Windows_10
sub r9, rcx
test rax, rax
je 0x140039fe7
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x140039fe7
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x140039fc6
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1175c
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
cmp dword [rbp - 0x3c], 6
jne case.0x14003a6ed.5
cmp dword [rbp - 0x38], 0
jne 0x14003a1c0
mov ecx, 0x100
mov rax, rbx
cmp byte [rbp + 0xda], 1
jne 0x14003a110
cmp word [rax], 0
je 0x14003a067
add rax, 2
sub rcx, 1
jne 0x14003a057
test rcx, rcx
je 0x14003a076
mov eax, 0x100
sub rax, rcx
jmp 0x14003a079
mov rax, r15
test rcx, rcx
je 0x14003a0d0
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003a0c1
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_Vista
sub r9, rcx
nop
test rax, rax
je 0x14003a0c1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003a0c1
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003a0a0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11653
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
mov sil, 1
jmp 0x14003a1c0
cmp word [rax], 0
je 0x14003a120
add rax, 2
sub rcx, 1
jne 0x14003a110
test rcx, rcx
je 0x14003a12f
mov eax, 0x100
sub rax, rcx
jmp 0x14003a132
mov rax, r15
test rcx, rcx
je 0x14003a188
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003a179
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_Server_2008
sub r9, rcx
test rax, rax
je 0x14003a179
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003a179
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003a158
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11729
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
cmp dword [rbp - 0x38], 1
jne 0x14003a348
mov ecx, 0x100
mov rax, rbx
cmp byte [rbp + 0xda], 1
jne 0x14003a298
nop
cmp word [rax], 0
je 0x14003a1f0
add rax, 2
sub rcx, 1
jne 0x14003a1e0
test rcx, rcx
je 0x14003a1ff
mov eax, 0x100
sub rax, rcx
jmp 0x14003a202
mov rax, r15
test rcx, rcx
je 0x14003a258
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003a249
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_7
sub r9, rcx
test rax, rax
je 0x14003a249
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003a249
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003a228
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x116b6
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
mov r14b, 1
jmp 0x14003a348
cmp word [rax], 0
je 0x14003a2a8
add rax, 2
sub rcx, 1
jne 0x14003a298
test rcx, rcx
je 0x14003a2b7
mov eax, 0x100
sub rax, rcx
jmp 0x14003a2ba
mov rax, r15
test rcx, rcx
je 0x14003a310
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003a301
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_Server_2008_R2
sub r9, rcx
test rax, rax
je 0x14003a301
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003a301
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003a2e0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1172a
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
cmp dword [rbp - 0x38], 2
jne 0x14003a508
mov ecx, 0x100
mov rax, rbx
cmp byte [rbp + 0xda], 1
jne 0x14003a458
cmp word [rax], 0
je 0x14003a377
add rax, 2
sub rcx, 1
jne 0x14003a367
test rcx, rcx
je 0x14003a386
mov eax, 0x100
sub rax, rcx
jmp 0x14003a389
mov rax, r15
test rcx, rcx
je 0x14003a3e0
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003a3d1
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_8
sub r9, rcx
nop
test rax, rax
je 0x14003a3d1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003a3d1
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003a3b0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1173c
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11745
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
mov dil, 1
jmp 0x14003a508
cmp word [rax], 0
je 0x14003a468
add rax, 2
sub rcx, 1
jne 0x14003a458
test rcx, rcx
je 0x14003a477
mov eax, 0x100
sub rax, rcx
jmp 0x14003a47a
mov rax, r15
test rcx, rcx
je 0x14003a4d0
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003a4c1
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_Server_2012
sub r9, rcx
test rax, rax
je 0x14003a4c1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003a4c1
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003a4a0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1173d
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
cmp dword [rbp - 0x38], 3
jne 0x14003a690
mov ecx, 0x100
mov rax, rbx
cmp byte [rbp + 0xda], 1
jne 0x14003a5e0
cmp word [rax], 0
je 0x14003a537
add rax, 2
sub rcx, 1
jne 0x14003a527
test rcx, rcx
je 0x14003a546
mov eax, 0x100
sub rax, rcx
jmp 0x14003a549
mov rax, r15
test rcx, rcx
je 0x14003a5a0
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003a591
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_8.1
sub r9, rcx
nop
test rax, rax
je 0x14003a591
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003a591
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003a570
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1174e
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp 0x14003a690
cmp word [rax], 0
je 0x14003a5f0
add rax, 2
sub rcx, 1
jne 0x14003a5e0
test rcx, rcx
je 0x14003a5ff
mov eax, 0x100
sub rax, rcx
jmp 0x14003a602
mov rax, r15
test rcx, rcx
je 0x14003a658
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003a649
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_Server_2012_R2
sub r9, rcx
test rax, rax
je 0x14003a649
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003a649
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003a628
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1174f
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
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]
lea rcx, [rsp + 0x4c]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rbp - 0x38]
mov ecx, dword [rbp - 0x3c]
call rax
mov eax, dword [rsp + 0x4c]
dec eax
cmp eax, 0x2f
ja case.0x14003a6ed.5
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x3bbf8]
mov ecx, dword [rdx + rax*4 + 0x3bbac]
add rcx, rdx
jmp rcx
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003a707
add rax, 2
sub rcx, 1
jne 0x14003a6f7
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je 0x14003a770
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003a761
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Professional_Edition
sub r9, rcx
nop dword [rax]
test rax, rax
je 0x14003a761
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003a761
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003a740
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
test r14b, r14b
je 0x14003a7b2
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11738
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
test dil, dil
je case.0x14003a6ed.5
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11746
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 0
mov edx, 0x11745
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003a848
add rax, 2
sub rcx, 1
jne 0x14003a838
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je 0x14003a8b0
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003a8a1
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Ultimate_Edition
sub r9, rcx
nop
test rax, rax
je 0x14003a8a1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003a8a1
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003a880
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
test sil, sil
je 0x14003a8f2
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1166b
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
test r14b, r14b
je case.0x14003a6ed.5
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11735
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003a950
add rax, 2
sub rcx, 1
jne 0x14003a940
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je 0x14003a9b6
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003a9a7
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Home_Premium_Edition
sub r9, rcx
test rax, rax
je 0x14003a9a7
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003a9a7
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003a986
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
test sil, sil
je 0x14003a9f8
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1166a
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
test r14b, r14b
je case.0x14003a6ed.5
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11739
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003aa56
add rax, 2
sub rcx, 1
jne 0x14003aa46
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je 0x14003aac0
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003aab1
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Home_Basic_Edition
sub r9, rcx
nop dword [rax]
test rax, rax
je 0x14003aab1
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003aab1
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003aa90
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
test sil, sil
je 0x14003ab02
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11669
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
test r14b, r14b
je case.0x14003a6ed.5
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1173a
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003ab60
add rax, 2
sub rcx, 1
jne 0x14003ab50
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je 0x14003abc6
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003abb7
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Enterprise_Edition
sub r9, rcx
test rax, rax
je 0x14003abb7
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003abb7
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003ab96
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
test sil, sil
je 0x14003ac08
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11668
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
test r14b, r14b
je 0x14003ac4a
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11737
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
test dil, dil
je case.0x14003a6ed.5
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11747
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 0
mov edx, 0x11745
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003ace0
add rax, 2
sub rcx, 1
jne 0x14003acd0
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je 0x14003ad46
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003ad37
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Business_Edition
sub r9, rcx
test rax, rax
je 0x14003ad37
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003ad37
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003ad16
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
test sil, sil
je case.0x14003a6ed.5
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11667
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003ada4
add rax, 2
sub rcx, 1
jne 0x14003ad94
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je 0x14003ae10
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003ae01
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Starter_Edition
sub r9, rcx
nop word [rax + rax]
test rax, rax
je 0x14003ae01
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003ae01
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003ade0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
test r14b, r14b
je case.0x14003a6ed.5
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1173b
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp case.0x14003a6ed.5
mov ecx, 0x100
mov rax, rbx
nop
cmp word [rax], 0
je 0x14003ae70
add rax, 2
sub rcx, 1
jne 0x14003ae60
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je case.0x14003a6ed.5
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003b411
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Cluster_Server_Edition
sub r9, rcx
nop
test rax, rax
je 0x14003b411
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003b411
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003aeb0
jmp 0x14003b411
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003aef6
add rax, 2
sub rcx, 1
jne 0x14003aee6
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je case.0x14003a6ed.5
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003b411
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Datacenter_Edition
sub r9, rcx
test rax, rax
je 0x14003b411
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003b411
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003af34
jmp 0x14003b411
mov ecx, 0x100
mov rax, rbx
nop word [rax + rax]
cmp word [rax], 0
je 0x14003af80
add rax, 2
sub rcx, 1
jne 0x14003af70
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je case.0x14003a6ed.5
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003b411
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Datacenter_Edition__core_installation_
sub r9, rcx
nop
test rax, rax
je 0x14003b411
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003b411
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003afc0
jmp 0x14003b411
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003b006
add rax, 2
sub rcx, 1
jne 0x14003aff6
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je case.0x14003a6ed.5
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003b411
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Enterprise_Edition
sub r9, rcx
test rax, rax
je 0x14003b411
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003b411
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b044
jmp 0x14003b411
mov ecx, 0x100
mov rax, rbx
nop word [rax + rax]
cmp word [rax], 0
je 0x14003b090
add rax, 2
sub rcx, 1
jne 0x14003b080
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je case.0x14003a6ed.5
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003b411
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Enterprise_Edition__core_installation_
sub r9, rcx
nop
test rax, rax
je 0x14003b411
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003b411
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b0d0
jmp 0x14003b411
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003b116
add rax, 2
sub rcx, 1
jne 0x14003b106
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je case.0x14003a6ed.5
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003b411
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Enterprise_Edition_for_Itanium_based_Systems
sub r9, rcx
test rax, rax
je 0x14003b411
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003b411
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b154
jmp 0x14003b411
mov ecx, 0x100
mov rax, rbx
nop word [rax + rax]
cmp word [rax], 0
je 0x14003b1a0
add rax, 2
sub rcx, 1
jne 0x14003b190
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je case.0x14003a6ed.5
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003b411
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Small_Business_Server
sub r9, rcx
nop
test rax, rax
je 0x14003b411
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003b411
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b1e0
jmp 0x14003b411
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003b226
add rax, 2
sub rcx, 1
jne 0x14003b216
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je case.0x14003a6ed.5
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003b411
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Small_Business_Server_Premium_Edition
sub r9, rcx
test rax, rax
je 0x14003b411
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003b411
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b264
jmp 0x14003b411
mov ecx, 0x100
mov rax, rbx
nop word [rax + rax]
cmp word [rax], 0
je 0x14003b2b0
add rax, 2
sub rcx, 1
jne 0x14003b2a0
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je case.0x14003a6ed.5
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003b411
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Standard_Edition
sub r9, rcx
nop
test rax, rax
je 0x14003b411
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003b411
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b2f0
jmp 0x14003b411
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003b336
add rax, 2
sub rcx, 1
jne 0x14003b326
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je case.0x14003a6ed.5
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003b411
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Standard_Edition__core_installation_
sub r9, rcx
test rax, rax
je 0x14003b411
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003b411
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b374
jmp 0x14003b411
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003b3b7
add rax, 2
sub rcx, 1
jne 0x14003b3a7
mov eax, 0x100
sub rax, rcx
mov r8, r15
test rcx, rcx
cmovne r8, rax
je case.0x14003a6ed.5
mov edx, 0x100
sub rdx, r8
lea rcx, [rbx + r8*2]
je 0x14003b411
lea rax, [r8 + 0x7ffffeff]
add rax, rdx
lea r9, str.Web_Server_Edition
sub r9, rcx
nop dword [rax]
test rax, rax
je 0x14003b411
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003b411
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b3f0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
cmp dword [rbp - 0x3c], 5
jne 0x14003bad2
mov eax, dword [rbp - 0x38]
cmp eax, 2
jne 0x14003b9ae
lea ecx, [rax + 0x57]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x14003b505
mov ecx, 0x100
mov rax, rbx
nop
cmp word [rax], 0
je 0x14003b460
add rax, 2
sub rcx, 1
jne 0x14003b450
test rcx, rcx
je 0x14003b46f
mov eax, 0x100
sub rax, rcx
jmp 0x14003b472
mov rax, r15
test rcx, rcx
je 0x14003b4c8
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003b4b9
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_Server_2003_R2_
sub r9, rcx
test rax, rax
je 0x14003b4b9
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003b4b9
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b498
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1165f
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp 0x14003b840
mov ecx, 0x2000
movzx eax, word [rbp + 0xd8]
cmp ax, cx
jne 0x14003b5dd
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003b532
add rax, 2
sub rcx, 1
jne 0x14003b522
test rcx, rcx
je 0x14003b541
mov eax, 0x100
sub rax, rcx
jmp 0x14003b544
mov rax, r15
test rcx, rcx
je 0x14003b5a0
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003b591
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_Storage_Server_2003
sub r9, rcx
nop word [rax + rax]
test rax, rax
je 0x14003b591
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003b591
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b570
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1165f
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp 0x14003b840
mov ecx, 0x8000
cmp ax, cx
jne 0x14003b6ad
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003b603
add rax, 2
sub rcx, 1
jne 0x14003b5f3
test rcx, rcx
je 0x14003b612
mov eax, 0x100
sub rax, rcx
jmp 0x14003b615
mov rax, r15
test rcx, rcx
je 0x14003b670
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003b661
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_Home_Server
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x14003b661
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003b661
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b640
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x11744
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp 0x14003b840
cmp byte [rbp + 0xda], 1
jne 0x14003b785
cmp word [rsp + 0x50], 9
jne 0x14003b785
mov ecx, 0x100
mov rax, rbx
nop
cmp word [rax], 0
je 0x14003b6e0
add rax, 2
sub rcx, 1
jne 0x14003b6d0
test rcx, rcx
je 0x14003b6ef
mov eax, 0x100
sub rax, rcx
jmp 0x14003b6f2
mov rax, r15
test rcx, rcx
je 0x14003b748
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003b739
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_XP_Professional_x64_Edition
sub r9, rcx
test rax, rax
je 0x14003b739
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x14003b739
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b718
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1166c
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
jmp 0x14003b840
mov ecx, 0x100
mov rax, rbx
nop dword [rax]
cmp word [rax], 0
je 0x14003b7a0
add rax, 2
sub rcx, 1
jne 0x14003b790
test rcx, rcx
je 0x14003b7af
mov eax, 0x100
sub rax, rcx
jmp 0x14003b7b2
mov rax, r15
test rcx, rcx
je 0x14003b808
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003b7f9
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Windows_Server_2003_
sub r9, rcx
test rax, rax
je 0x14003b7f9
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003b7f9
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b7d8
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1165f
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
cmp byte [rbp + 0xda], 1
je 0x14003b9a1
mov rax, qword [rsp + 0x50]
cmp ax, 6
jne 0x14003b909
movzx eax, byte [rbp + 0xd8]
test al, al
jns 0x14003b8f5
mov ecx, 0x100
mov rax, rbx
cmp word [rax], 0
je 0x14003b883
add rax, 2
sub rcx, 1
jne 0x14003b873
test rcx, rcx
je 0x14003b892
mov eax, 0x100
sub rax, rcx
jmp 0x14003b895
mov rax, r15
test rcx, rcx
je 0x14003b9a1
mov edx, 0x100
sub rdx, rax
lea rcx, [rbx + rax*2]
je 0x14003b8e1
add rax, 0x7ffffeff
add rax, rdx
lea r9, str.Datacenter_Edition_for_Itanium_based_Systems
sub r9, rcx
nop
test rax, rax
je 0x14003b8e1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x14003b8e1
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x14003b8c0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
jmp 0x14003b9a1
test al, 2
je 0x14003b9a1
lea r8, str.Enterprise_Edition_for_Itanium_based_Systems
jmp 0x14003b994
cmp ax, 9
jne 0x14003b941
movzx eax, byte [rbp + 0xd8]
test al, al
jns 0x14003b923
lea r8, str.Datacenter_x64_Edition
jmp 0x14003b994
mov edx, 0x100
mov rcx, rbx
test al, 2
je 0x14003b938
lea r8, str.Enterprise_x64_Edition
jmp 0x14003b99c
lea r8, str.Standard_x64_Edition
jmp 0x14003b99c
movzx ecx, word [rbp + 0xd8]
mov eax, 0x4000
test ax, cx
je 0x14003b95b
lea r8, str.Compute_Cluster_Edition
jmp 0x14003b994
movzx eax, byte [rbp + 0xd8]
test al, al
jns 0x14003b96f
lea r8, str.Datacenter_Edition
jmp 0x14003b994
test al, 2
je 0x14003b97c
lea r8, str.Enterprise_Edition
jmp 0x14003b994
mov eax, 0x400
test ax, cx
lea r8, str.Web_Edition
jne 0x14003b994
lea r8, str.Standard_Edition
mov edx, 0x100
mov rcx, rbx
call fcn.140039b20
cmp dword [rbp - 0x3c], 5
jne 0x14003bad2
mov eax, dword [rbp - 0x38]
cmp eax, 1
jne 0x14003ba39
lea r8, str.Windows_XP
mov edx, 0x100
mov rcx, rbx
call fcn.140039b20
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1166c
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
mov eax, 0x200
mov edx, 0x100
mov rcx, rbx
test word [rbp + 0xd8], ax
lea r8, str.Home_Edition
jne 0x14003ba27
lea r8, str.Professional
call fcn.140039b20
cmp dword [rbp - 0x3c], 5
jne 0x14003bad2
mov eax, dword [rbp - 0x38]
test eax, eax
jne 0x14003bad2
lea r8, str.Windows_2000
mov edx, 0x100
mov rcx, rbx
call fcn.140039b20
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x38], 1
mov edx, 0x1165e
lea rcx, [rbp - 0x78]
call fcn.140023a00
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140058450
nop
mov qword [rbp - 0x78], r13
lea rcx, [rbp - 0x70]
call fcn.140009824
nop
cmp byte [rbp + 0xda], 1
jne 0x14003ba9f
lea r8, str.Professional
jmp 0x14003bac5
movzx eax, byte [rbp + 0xd8]
test al, al
jns 0x14003bab3
lea r8, str.Datacenter_Server
jmp 0x14003bac5
test al, 2
lea r8, str.Advanced_Server
jne 0x14003bac5
lea r8, str.Server
mov edx, 0x100
mov rcx, rbx
call fcn.140039b20
lea rcx, [rbp - 0x2c]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14003bae0
test rax, rax
je 0x14003bb14
lea r8, [0x1402ec2ac]
mov edx, 0x100
mov rcx, rbx
call fcn.140039b20
lea r8, [rbp - 0x2c]
mov edx, 0x100
mov rcx, rbx
call fcn.140039b20
mov r9d, dword [rbp - 0x34]
lea r8, str.__build__d_
mov edx, 0x50
lea rcx, [rbp + 0xe0]
call fcn.140039c00
lea r8, [rbp + 0xe0]
mov edx, 0x100
mov rcx, rbx
call fcn.140039b20
cmp dword [rbp - 0x3c], 6
jb 0x14003bb77
mov rax, qword [rsp + 0x50]
cmp ax, 9
jne 0x14003bb5e
lea r8, str.__64_bit
jmp 0x14003bb6a
test ax, ax
jne 0x14003bb77
lea r8, str.__32_bit
mov edx, 0x100
mov rcx, rbx
call fcn.140039b20
mov eax, 1
mov rcx, qword [rbp + 0x1530]
xor rcx, rsp
call fcn.140229da0
lea r11, [rsp + 0x1640]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret