Function at 0x1400015e0
Capabilities:
Check os version

Disassembly:
push rbp
mov eax, 0x8160
call fcn.1400aab80
sub rsp, 0x8160
lea rbp, [rsp + 0x20]
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x8150], rcx
mov rax, qword [0x1400e0a40]
xor rax, rbp
mov qword [rbp + 0x8138], rax
lea rax, [rbp + 0x8098]
mov edx, 0
mov ecx, 0x94
mov qword [rbp + 0x88], rcx
mov rcx, rax
mov rax, qword [rbp + 0x88]
mov r8, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x8098], 0x94
lea rax, [rbp + 0x8098]
mov rdx, qword [sym.imp.KERNEL32.dll_GetVersionExA]
mov rcx, rax
call rdx
mov dword [rbp], eax
mov eax, dword [rbp]
test eax, eax
jne 0x140001731
mov rax, qword [rbp + 0x8150]
lea rdx, str.sprvfexCheckOsver
lea rcx, str.GetVersionEx
mov qword [rbp + 0x90], rcx
mov rcx, rax
mov rax, qword [rbp + 0x90]
mov r8, rax
call fcn.140033033
mov dword [rbp + 4], eax
mov rax, qword [rbp + 0x8150]
lea rdx, str.Exectask:_could_not_retrieve_OS_Version
mov rcx, rax
call fcn.14002d658
mov dword [rbp + 8], eax
mov eax, dword [rbp + 8]
test eax, eax
je 0x140001700
lea rax, str.sprvfexCheckOsRelease:_unable_to_wrap_log_message_n
mov rcx, rax
call fcn.140001114
mov dword [rbp + 0x10], eax
mov eax, 1
mov dword [rbp + 0x54], eax
mov rax, qword [rbp + 0x8138]
mov qword [rbp + 0x8138], 0
xor rax, rbp
mov rcx, rax
call fcn.1400aab50
mov eax, dword [rbp + 0x54]
lea rsp, [rbp + 0x8140]
pop rbp
ret
mov eax, 1
mov dword [rbp + 0x58], eax
mov rax, qword [rbp + 0x8138]
mov qword [rbp + 0x8138], 0
xor rax, rbp
mov rcx, rax
call fcn.1400aab50
mov eax, dword [rbp + 0x58]
lea rsp, [rbp + 0x8140]
pop rbp
ret
lea rax, [rbp + 0x98]
lea rdx, str.Unknown
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
mov qword [rbp + 0x80], rax
mov eax, dword [rbp + 0x80a8]
mov dword [rbp + 0xc], eax
mov eax, dword [rbp + 0xc]
cmp eax, 2
je 0x14000177b
mov eax, dword [rbp + 0xc]
cmp eax, 1
je 0x140001895
mov eax, dword [rbp + 0xc]
test eax, eax
je 0x140001915
jmp 0x14000192e
mov eax, dword [rbp + 0x809c]
cmp eax, 6
jne 0x1400017db
mov eax, dword [rbp + 0x80a0]
cmp eax, 1
jne 0x1400017af
lea rax, [rbp + 0x98]
lea rdx, str.Windows_Server_2008_R2
mov rcx, rax
call fcn.1400012e0
mov dword [rbp + 0x14], eax
jmp 0x14000192e
mov eax, dword [rbp + 0x80a0]
test eax, eax
jne 0x14000192e
lea rax, [rbp + 0x98]
lea rdx, str.Windows_Server_2008
mov rcx, rax
call fcn.1400012e0
mov dword [rbp + 0x20], eax
jmp 0x14000192e
mov eax, dword [rbp + 0x809c]
cmp eax, 5
jne 0x140001868
mov eax, dword [rbp + 0x80a0]
cmp eax, 2
jne 0x140001813
lea rax, [rbp + 0x98]
lea rdx, str.Windows_Server_2003
mov rcx, rax
call fcn.1400012e0
mov dword [rbp + 0x24], eax
jmp 0x14000192e
mov eax, dword [rbp + 0x80a0]
cmp eax, 1
jne 0x14000183c
lea rax, [rbp + 0x98]
lea rdx, str.Windows_XP
mov rcx, rax
call fcn.1400012e0
mov dword [rbp + 0x30], eax
jmp 0x14000192e
mov eax, dword [rbp + 0x80a0]
test eax, eax
jne 0x14000192e
lea rax, [rbp + 0x98]
lea rdx, str.Windows_2000
mov rcx, rax
call fcn.1400012e0
mov dword [rbp + 0x40], eax
jmp 0x14000192e
mov eax, dword [rbp + 0x809c]
cmp eax, 4
ja 0x14000192e
lea rax, [rbp + 0x98]
lea rdx, str.Windows_NT
mov rcx, rax
call fcn.1400012e0
mov dword [rbp + 0x28], eax
jmp 0x14000192e
mov eax, dword [rbp + 0x809c]
cmp eax, 4
jne 0x14000192e
mov eax, dword [rbp + 0x80a0]
test eax, eax
jne 0x1400018c9
lea rax, [rbp + 0x98]
lea rdx, str.Windows_95
mov rcx, rax
call fcn.1400012e0
mov dword [rbp + 0x2c], eax
jmp 0x14000192e
mov eax, dword [rbp + 0x80a0]
cmp eax, 0xa
jne 0x1400018ef
lea rax, [rbp + 0x98]
lea rdx, str.Windows_98
mov rcx, rax
call fcn.1400012e0
mov dword [rbp + 0x34], eax
jmp 0x14000192e
mov eax, dword [rbp + 0x80a0]
cmp eax, 0x5a
jne 0x14000192e
lea rax, [rbp + 0x98]
lea rdx, str.Windows_Millennium
mov rcx, rax
call fcn.1400012e0
mov dword [rbp + 0x44], eax
jmp 0x14000192e
lea rax, [rbp + 0x98]
lea rdx, str.Win32s
mov rcx, rax
call fcn.1400012e0
mov dword [rbp + 0x1c], eax
mov rax, qword [rbp + 0x8150]
mov edx, 0
mov rcx, rax
call fcn.14002483b
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x18]
test eax, eax
je 0x14000198f
lea rax, str.sprvfexCheckOsRelease:_unable_to_wrap_vres_n
mov rcx, rax
call fcn.140001114
mov dword [rbp + 0x38], eax
mov eax, 1
mov dword [rbp + 0x5c], eax
mov rax, qword [rbp + 0x8138]
mov qword [rbp + 0x8138], 0
xor rax, rbp
mov rcx, rax
call fcn.1400aab50
mov eax, dword [rbp + 0x5c]
lea rsp, [rbp + 0x8140]
pop rbp
ret
mov rax, qword [rbp + 0x8150]
lea rdx, [rbp + 0x98]
mov rcx, rax
call fcn.140024a10
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x3c]
test eax, eax
je 0x1400019f2
lea rax, str.sprvfexCheckOsRelease:_unable_to_wrap_val_message_n
mov rcx, rax
call fcn.140001114
mov dword [rbp + 0x48], eax
mov eax, 1
mov dword [rbp + 0x60], eax
mov rax, qword [rbp + 0x8138]
mov qword [rbp + 0x8138], 0
xor rax, rbp
mov rcx, rax
call fcn.1400aab50
mov eax, dword [rbp + 0x60]
lea rsp, [rbp + 0x8140]
pop rbp
ret
mov rax, qword [rbp + 0x8150]
lea rdx, str.Exectask:_OS_version_retrieval_was_successful
mov rcx, rax
call fcn.14002d658
mov dword [rbp + 0x4c], eax
mov eax, dword [rbp + 0x4c]
test eax, eax
je 0x140001a55
lea rax, str.sprvfexCheckOsRelease:_unable_to_wrap_log_message_n
mov rcx, rax
call fcn.140001114
mov dword [rbp + 0x50], eax
mov eax, 1
mov dword [rbp + 0x64], eax
mov rax, qword [rbp + 0x8138]
mov qword [rbp + 0x8138], 0
xor rax, rbp
mov rcx, rax
call fcn.1400aab50
mov eax, dword [rbp + 0x64]
lea rsp, [rbp + 0x8140]
pop rbp
ret
mov eax, 0
mov dword [rbp + 0x68], eax
mov rax, qword [rbp + 0x8138]
mov qword [rbp + 0x8138], 0
xor rax, rbp
mov rcx, rax
call fcn.1400aab50
mov eax, dword [rbp + 0x68]
lea rsp, [rbp + 0x8140]
pop rbp
ret