Function at 0x140020d40
Capabilities:
Check os version

Disassembly:
sub rsp, 0x238
mov rax, qword [0x140065050]
xor rax, rsp
mov qword [rsp + 0x220], rax
cmp dword [0x14006747c], 0
jne 0x140021034
mov dword [rsp + 0xf0], 0xffffffff
mov dword [rsp + 0xe8], 0xffffffff
mov dword [rsp + 0xe4], 0xffffffff
mov dword [rsp + 0xe0], 0x114
mov dword [rsp + 0x40], 0xffffffff
mov dword [rsp + 0x38], 0xffffffff
mov dword [rsp + 0x34], 0xffffffff
mov dword [rsp + 0x30], 0x114
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x140020e3b
mov r8d, 0x80
lea rdx, [0x140051e20]
lea rcx, [0x140051e30]
call fcn.140020ca0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.The_GetVersionExW_Fail:_d_n
call fcn.140020ca0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x140020e3b
mov r8d, 0x84
lea rdx, [0x140051e60]
lea rcx, [0x140051e70]
call fcn.140020ca0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.The_GetVersionExA_Fail:_d_n
call fcn.140020ca0
cmp dword [rsp + 0xf0], 0xffffffff
jne 0x140020e52
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x200], eax
jmp 0x140020e60
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x200], eax
mov eax, dword [rsp + 0x200]
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0xe8], 0xffffffff
jne 0x140020e85
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x204], eax
jmp 0x140020e93
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x204], eax
mov eax, dword [rsp + 0x204]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0xe4], 0xffffffff
jne 0x140020eb5
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x208], eax
jmp 0x140020ec3
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x208], eax
mov eax, dword [rsp + 0x208]
mov dword [rsp + 0xd0], eax
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x20c], eax
cmp dword [rsp + 0x20c], 1
je 0x140020ef8
cmp dword [rsp + 0x20c], 2
je 0x140020f4a
jmp 0x140021008
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0x210], eax
cmp dword [rsp + 0x210], 0
je 0x140020f23
cmp dword [rsp + 0x210], 0xa
je 0x140020f2f
cmp dword [rsp + 0x210], 0x5a
je 0x140020f3b
jmp 0x140020f45
mov dword [0x14006747c], 1
jmp 0x140020f45
mov dword [0x14006747c], 2
jmp 0x140020f45
mov dword [0x14006747c], 3
jmp 0x140021034
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x214], eax
mov eax, dword [rsp + 0x214]
sub eax, 1
mov dword [rsp + 0x214], eax
cmp dword [rsp + 0x214], 5
ja case.default.0x140020f8f
mov eax, dword [rsp + 0x214]
lea rcx, [0x140002000]
mov eax, dword [rcx + rax*4 + 0x1f054]
add rax, rcx
jmp rax
jmp 0x140021006
mov dword [0x14006747c], 4
jmp 0x140021006
mov dword [0x14006747c], 5
jmp 0x140021006
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0x218], eax
cmp dword [rsp + 0x218], 0
je 0x140020fcc
cmp dword [rsp + 0x218], 1
je 0x140020fd8
jmp 0x140020fe4
mov dword [0x14006747c], 6
jmp 0x140020fee
mov dword [0x14006747c], 7
jmp 0x140020fee
mov dword [0x14006747c], 7
jmp 0x140021006
mov dword [0x14006747c], 8
jmp 0x140021006
mov dword [0x14006747c], 8
jmp 0x140021034
mov r8d, 0xce
lea rdx, str..StdAfx.cpp
lea rcx, [0x140051eb0]
call fcn.140020ca0
mov edx, dword [rsp + 0xd4]
lea rcx, str.The_OS_Ver_d_n
call fcn.140020ca0
mov eax, dword [0x14006747c]
mov rcx, qword [rsp + 0x220]
xor rcx, rsp
call fcn.1400317b0
add rsp, 0x238
ret