Function at 0x140003960
Capabilities:
Check os version

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x128]
sub rsp, 0x200
mov rax, qword [0x14000c008]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov r13, rcx
mov dword [rsp + 0x40], 0x94
xor ebx, ebx
lea rcx, [rsp + 0x40]
mov edi, ebx
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x1400039bf
mov edi, 0x4b4
jmp 0x140003be1
mov eax, dword [rsp + 0x50]
mov ecx, 2
mov r11d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
sub eax, 1
je 0x140003a3c
sub eax, 1
je 0x1400039e6
mov edi, 0x4ca
jmp 0x140003be1
mov esi, 1
mov word [0x14000de78], cx
movzx eax, cx
mov dword [0x14000c1ac], esi
mov dword [0x14000c1a8], esi
lea ecx, [rsi + 2]
cmp r8d, ecx
ja 0x140003a2a
mov eax, esi
mov word [0x14000de78], ax
jb 0x140003a1c
jne 0x140003a57
cmp r11d, 0x33
jae 0x140003a57
mov dword [0x14000c1ac], ebx
mov dword [0x14000c1a8], ebx
jmp 0x140003a57
cmp r8d, 5
jb 0x140003a57
movzx eax, cx
mov word [0x14000de78], cx
jmp 0x140003a57
mov esi, 1
mov word [0x14000de78], bx
mov dword [0x14000c1ac], esi
movzx eax, bx
mov dword [0x14000c1a8], esi
cmp dword [0x14000cd14], ebx
jne 0x140003c8a
test r13, r13
je 0x140003c8a
movzx r14d, word [rsp + 0x4c]
lea r12, [r13 + 0x40]
neg ax
mov dword [rsp + 0x30], ebx
mov ecx, ebx
sbb rax, rax
and rax, 0xffffffffffffffc4
add r12, rax
or r15d, 0xffffffff
movsxd r10, ecx
lea r9, [r10 + r10*2]
cmp r8d, dword [r12 + r9*8]
jae 0x140003a9f
mov edx, r15d
jmp 0x140003ab1
jbe 0x140003aa5
mov edx, esi
jmp 0x140003ab1
cmp r11d, dword [r12 + r9*8 + 4]
jb 0x140003a9a
mov edx, ebx
seta dl
cmp r8d, dword [r12 + r9*8 + 0xc]
jae 0x140003abd
mov eax, r15d
jmp 0x140003acf
jbe 0x140003ac3
mov eax, esi
jmp 0x140003acf
cmp r11d, dword [r12 + r9*8 + 0x10]
jb 0x140003ab8
mov eax, ebx
seta al
test edx, edx
js 0x140003b82
test eax, eax
jg 0x140003b82
test edx, edx
jne 0x140003b01
test eax, eax
movzx eax, r14w
jne 0x140003af4
cmp eax, dword [r12 + r9*8 + 8]
jb 0x140003b18
jmp 0x140003b0d
cmp eax, dword [r12 + r9*8 + 8]
jae 0x140003b9f
jmp 0x140003b18
test eax, eax
jne 0x140003b9f
movzx eax, r14w
cmp eax, dword [r12 + r9*8 + 0x14]
jbe 0x140003b9f
test ecx, ecx
je 0x140003b86
mov edi, 0x54c
mov r9, rbx
mov r15, rbx
mov r14d, ebx
cmp edi, 0x54d
jne 0x140003b51
mov edx, dword [r13 + 0x80]
lea r9, [rbp - 0x20]
movsxd rax, ecx
add rdx, 0x84
imul r12, rax, 0x3c
add r12, r13
add r12, rdx
test r12, r12
je 0x140003c06
mov eax, dword [r12 + 0x34]
lea r15, [r13 + 0x84]
add r15, rax
mov eax, dword [r12 + 0x30]
test sil, al
je 0x140003bf8
mov r14d, 0x104
jmp 0x140003c06
cmp ecx, esi
je 0x140003b96
add ecx, esi
mov dword [rsp + 0x30], ecx
cmp ecx, 2
jge 0x140003b9b
jmp 0x140003a8d
mov edi, 0x54c
test edi, edi
jne 0x140003bcb
cmp dword [r13 + 0x7c], ebx
je 0x140003c8a
lea r9, [rsp + 0x30]
mov rcx, r13
lea rdx, [rbp - 0x20]
call fcn.1400025d4
test eax, eax
jne 0x140003c8a
mov ecx, dword [rsp + 0x30]
mov edi, 0x54d
lea eax, [rdi - 0x54c]
cmp eax, esi
jbe 0x140003b21
test edi, edi
je 0x140003c8c
xor r9d, r9d
mov dword [rsp + 0x28], ebx
xor r8d, r8d
mov dword [rsp + 0x20], FDIDestroy
jmp 0x140003c81
and al, 2
neg al
sbb r14d, r14d
and r14d, 0x101
test byte [0x14000cd18], sil
jne 0x140003c6d
test r15, r15
je 0x140003c6d
cmp byte [r15], bl
je 0x140003c6d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
call fcn.140007730
test eax, eax
je 0x140003c38
call fcn.140007670
test eax, eax
mov eax, 0x180030
jne 0x140003c3d
mov eax, 0x30
or eax, r14d
lea r8, [0x14000d578]
mov r9d, eax
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
test r14b, 4
je 0x140003c60
cmp eax, 6
jmp 0x140003c67
test sil, r14b
je 0x140003c8a
cmp eax, esi
jne 0x140003c8a
mov edi, ebx
jmp 0x140003c8a
mov eax, 0x30
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
lea r8, [0x14000d578]
mov edx, edi
xor ecx, ecx
call fcn.140004a30
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.140007c60
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret