Function at 0x14001ecd0
Capabilities:
Check os version
Get file version info

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1400f5608]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rdi, rdx
mov qword [rbp - 0x51], rdx
xor r12d, r12d
mov qword [rbp - 0x41], r12
movdqa xmm7, xmmword [0x1400c2570]
movdqu xmmword [rbp - 0x31], xmm7
mov byte [rbp - 0x41], r12b
mov esi, r12d
mov qword [rbp - 0x21], r12
mov word [rbp - 0x19], r12w
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x71], xmm0
mov qword [rbp - 0x61], r12
lea r8, [rbp - 0x49]
lea rdx, str.kernel32.dll
lea ecx, [r12 + 2]
call sub.VERSION.dll_GetFileVersionInfoSizeExW
test eax, eax
je 0x14001ef9d
mov edx, eax
mov rcx, qword [rbp - 0x69]
mov r9, rcx
mov r8, qword [rbp - 0x71]
sub r9, r8
cmp rdx, r9
jae 0x14001ed77
lea rcx, [r8 + rdx]
mov qword [rbp - 0x69], rcx
jmp 0x14001edb4
jbe 0x14001edb4
mov rax, qword [rbp - 0x61]
sub rax, r8
cmp rdx, rax
jbe 0x14001ed98
lea r8, [rbp - 0x79]
lea rcx, [rbp - 0x71]
call fcn.14001de20
mov rcx, qword [rbp - 0x69]
jmp 0x14001edb0
sub rdx, r9
lea rbx, [rcx + rdx]
mov r8, rdx
xor edx, edx
call fcn.14008dc60
mov rcx, rbx
mov qword [rbp - 0x69], rbx
mov r8, qword [rbp - 0x71]
sub rcx, r8
je 0x14001f0a1
mov qword [rsp + 0x20], r8
mov r9d, ecx
xor r8d, r8d
lea rdx, str.kernel32.dll
lea ecx, [r8 + 2]
call sub.VERSION.dll_GetFileVersionInfoExW
test eax, eax
je 0x14001ef9d
mov qword [rbp - 0x51], r12
mov dword [rbp - 0x75], r12d
lea r9, [rbp - 0x75]
lea r8, [rbp - 0x51]
lea rdx, [0x1400c2f00]
mov rcx, qword [rbp - 0x71]
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x14001ef9d
mov rax, qword [rbp - 0x51]
test rax, rax
je 0x14001ef9d
cmp dword [rbp - 0x75], 0x34
jb 0x14001ef9d
mov r14d, dword [rax + 8]
movzx ebx, r14w
shr r14d, 0x10
mov word [rbp - 0x1d], r14w
mov word [rbp - 0x1b], bx
movzx r15d, word [rax + 0xe]
mov word [rbp - 0x19], r15w
mov edx, ebx
lea rax, [rbp - 0x59]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetProductInfo]
test eax, eax
je 0x14001eed1
mov edx, dword [rbp - 0x59]
lea rcx, [rbp - 0x11]
call fcn.14001f0b0
lea rcx, [rbp - 0x41]
cmp rcx, rax
je 0x14001ee90
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], shutdown
mov byte [rax], 0
jmp 0x14001ee94
movups xmm6, xmmword [rbp - 0x41]
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x14001eed5
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001eeca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f0a7
call fcn.14008b4c8
jmp 0x14001eed5
movups xmm6, xmmword [rbp - 0x41]
cmp r14w, 0xa
jne 0x14001eee3
mov esi, 1
jmp 0x14001ef15
cmp r14w, 6
jne 0x14001ef12
test bx, bx
jne 0x14001eef6
mov esi, 5
jmp 0x14001ef15
cmp ebx, 1
jne 0x14001ef00
lea esi, [rbx + 3]
jmp 0x14001ef15
cmp ebx, 2
jne 0x14001ef09
mov esi, ebx
jmp 0x14001ef15
cmp ebx, 3
jne 0x14001ef15
mov esi, ebx
jmp 0x14001ef15
mov esi, r12d
movups xmmword [rdi], xmm6
movups xmmword [rdi + 0x10], xmm7
mov dword [rdi + 0x20], esi
mov word [rdi + 0x24], r14w
mov word [rdi + 0x26], bx
mov word [rdi + 0x28], r15w
mov rcx, qword [rbp - 0x71]
test rcx, rcx
je 0x14001ef68
mov rdx, qword [rbp - 0x61]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ef62
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f09b
call fcn.14008b4c8
nop
mov rax, rdi
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.14008bad0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov edx, 0x7530
lea rcx, [0x1400fa6d8]
call fcn.14002abe0
test al, al
je 0x14001f043
call fcn.14002b900
mov rbx, rax
lea rdx, str.Failed_to_get_OS_version
mov rcx, rax
call fcn.14000e1c0
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x11]
call fcn.140016b10
nop
lea rax, str.struct_System::OsVersion___cdecl_System::InfoImpl::getOsVersion_void_
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xde
lea r9, str.C:BuildAgentworkdbddd2e9dd455b4f_src_systeminfo_impl.cpp
lea r8, [rbp - 0x11]
mov edx, 0x7530
lea rcx, [0x1400fa6d8]
call fcn.14002ba00
nop
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x14001f043
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f03e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f095
call fcn.14008b4c8
movups xmm0, xmmword [rbp - 0x41]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm7
mov qword [rdi + 0x20], r12
mov word [rdi + 0x28], r12w
mov rcx, qword [rbp - 0x71]
test rcx, rcx
je 0x14001ef68
mov rdx, qword [rbp - 0x61]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ef62
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f09b
jmp 0x14001ef62
call fcn.140091b3c
nop
call fcn.140091b3c
nop
call fcn.14001e800
int3
call fcn.140091b3c
int3