Function at 0x14007f7d0
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x170
mov rax, qword [0x1403aa6c8]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rdi, rcx
mov qword [rsp + 0x38], rcx
xor ebx, ebx
mov dword [rsp + 0x30], ebx
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x44]
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0x40], 0x114
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov qword [rdi + 0x18], send
mov qword [rdi + 0x10], rbx
mov byte [rdi], bl
mov dword [rsp + 0x30], 1
mov eax, dword [rsp + 0x44]
cmp eax, 0xa
jne 0x14007f884
mov rdx, qword [rdi + 0x18]
mov rax, rdx
sub rax, rbx
cmp rax, 2
jb 0x14007f878
lea rax, [rbx + 2]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14007f865
mov rax, qword [rdi]
mov edx, 0x3031
mov word [rax + rbx], dx
mov byte [rax + rbx + 2], 0
jmp 0x14007faa5
lea r9, [0x140240c80]
jmp 0x14007fa8c
cmp eax, 6
jne 0x14007f9e1
mov rdx, qword [rdi + 0x18]
mov eax, dword [rsp + 0x48]
cmp eax, 3
jne 0x14007f8f5
mov rax, rdx
sub rax, rbx
cmp rax, 3
jb 0x14007f8db
lea rax, [rbx + 3]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14007f8ba
mov rax, qword [rdi]
add rbx, rax
mov r8d, 3
lea rdx, [0x140240c84]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 3], 0
jmp 0x14007faa5
mov qword [rsp + 0x20], 3
lea r9, [0x140240c84]
mov edx, 3
jmp 0x14007fa9a
cmp eax, 2
jne 0x14007f93f
mov rax, rdx
sub rax, rbx
cmp rax, 1
jb 0x14007f925
lea rax, [rbx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14007f91a
mov rax, qword [rdi]
mov word [rax + rbx], 0x38
jmp 0x14007faa5
mov qword [rsp + 0x20], 1
lea r9, [0x140240c88]
mov edx, 1
jmp 0x14007fa9a
cmp eax, 1
mov rax, rdx
jne 0x14007f989
sub rax, rbx
cmp rax, 1
jb 0x14007f96f
lea rax, [rbx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14007f964
mov rax, qword [rdi]
mov word [rax + rbx], 0x37
jmp 0x14007faa5
mov qword [rsp + 0x20], 1
lea r9, [0x140240c8c]
mov edx, 1
jmp 0x14007fa9a
sub rax, rbx
cmp rax, 5
jb 0x14007f9c7
lea rax, [rbx + 5]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14007f9a6
mov rax, qword [rdi]
add rbx, rax
mov r8d, 5
lea rdx, str.vista
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 5], 0
jmp 0x14007faa5
mov qword [rsp + 0x20], 5
lea r9, str.vista
mov edx, 5
jmp 0x14007fa9a
cmp eax, 5
jne 0x14007faa5
mov eax, dword [rsp + 0x48]
cmp eax, 2
jne 0x14007fa4c
mov rdx, qword [rdi + 0x18]
mov rax, rdx
sub rax, rbx
cmp rax, 6
jb 0x14007fa35
lea rax, [rbx + 6]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14007fa17
mov rax, qword [rdi]
add rbx, rax
mov r8d, 6
lea rdx, str.XP_SP2
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 6], 0
jmp 0x14007faa5
mov qword [rsp + 0x20], 6
lea r9, str.XP_SP2
mov edx, 6
jmp 0x14007fa9a
cmp eax, 1
jne 0x14007faa5
mov rdx, qword [rdi + 0x18]
mov rax, rdx
sub rax, rbx
cmp rax, 2
jb 0x14007fa85
lea rax, [rbx + 2]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14007fa75
mov rax, qword [rdi]
mov edx, 0x5058
mov word [rax + rbx], dx
mov byte [rax + rbx + 2], 0
jmp 0x14007faa5
lea r9, [0x140240ca0]
mov qword [rsp + 0x20], 2
mov edx, 2
xor r8d, r8d
mov rcx, rdi
call fcn.140054780
mov rax, rdi
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140229810
mov rbx, qword [rsp + 0x188]
add rsp, 0x170
pop rdi
ret