Function at 0x140003a20
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 0x140003a7c
mov edi, 0x4b4
jmp 0x140003a9e
mov eax, dword [rsp + 0x50]
mov ecx, 2
mov r11d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
sub eax, 1
je 0x140003b0b
sub eax, 1
je 0x140003ab5
mov edi, 0x4ca
xor r9d, r9d
mov dword [rsp + 0x28], ebx
xor r8d, r8d
mov dword [rsp + 0x20], FDIDestroy
jmp 0x140003d05
mov esi, 1
mov word [0x14000de74], cx
movzx eax, cx
mov dword [0x14000c204], esi
mov dword [0x14000c1cc], esi
lea ecx, [rsi + 2]
cmp r8d, ecx
ja 0x140003af9
mov eax, esi
mov word [0x14000de74], ax
jb 0x140003aeb
jne 0x140003b26
cmp r11d, 0x33
jae 0x140003b26
mov dword [0x14000c204], ebx
mov dword [0x14000c1cc], ebx
jmp 0x140003b26
cmp r8d, 5
jb 0x140003b26
movzx eax, cx
mov word [0x14000de74], cx
jmp 0x140003b26
mov esi, 1
mov word [0x14000de74], bx
mov dword [0x14000c204], esi
movzx eax, bx
mov dword [0x14000c1cc], esi
cmp dword [0x14000cbf4], ebx
jne 0x140003d0e
test r13, r13
je 0x140003d0e
lea r15, [r13 + 0x40]
test ax, ax
je 0x140003b48
lea r15, [r13 + 4]
movzx r14d, word [rsp + 0x4c]
mov ecx, ebx
mov dword [rsp + 0x30], ebx
or r12d, 0xffffffff
movsxd r10, ecx
lea r9, [r10 + r10*2]
cmp r8d, dword [r15 + r9*8]
jae 0x140003b6a
mov edx, r12d
jmp 0x140003b7c
jbe 0x140003b70
mov edx, esi
jmp 0x140003b7c
cmp r11d, dword [r15 + r9*8 + 4]
jb 0x140003b65
mov edx, ebx
seta dl
cmp r8d, dword [r15 + r9*8 + 0xc]
jae 0x140003b88
mov eax, r12d
jmp 0x140003b9a
jbe 0x140003b8e
mov eax, esi
jmp 0x140003b9a
cmp r11d, dword [r15 + r9*8 + 0x10]
jb 0x140003b83
mov eax, ebx
seta al
test edx, edx
js 0x140003c38
test eax, eax
jg 0x140003c38
test edx, edx
jne 0x140003bcc
test eax, eax
movzx eax, r14w
jne 0x140003bbf
cmp eax, dword [r15 + r9*8 + 8]
jb 0x140003bdb
jmp 0x140003bd4
cmp eax, dword [r15 + r9*8 + 8]
jae 0x140003c4b
jmp 0x140003bdb
test eax, eax
jne 0x140003c4b
movzx eax, r14w
cmp eax, dword [r15 + r9*8 + 0x14]
jbe 0x140003c4b
test ecx, ecx
je 0x140003c3c
mov edi, 0x54c
mov r9, rbx
mov r12, rbx
mov r14d, ebx
cmp edi, 0x54d
jne 0x140003c14
mov edx, dword [r13 + 0x80]
lea r9, [rbp - 0x20]
movsxd rax, ecx
add rdx, 0x84
imul r15, rax, 0x3c
add r15, r13
add r15, rdx
test r15, r15
je 0x140003c8a
mov eax, dword [r15 + 0x34]
lea r12, [r13 + 0x84]
add r12, rax
mov eax, dword [r15 + 0x30]
test sil, al
je 0x140003c7c
mov r14d, 0x104
jmp 0x140003c8a
cmp ecx, esi
je 0x140003bdf
add ecx, esi
mov dword [rsp + 0x30], ecx
cmp ecx, 2
jl 0x140003b58
cmp dword [r13 + 0x7c], ebx
je 0x140003d0e
lea r9, [rsp + 0x30]
mov rcx, r13
lea rdx, [rbp - 0x20]
call fcn.140002614
test eax, eax
jne 0x140003d0e
mov edi, 0x54d
mov ecx, dword [rsp + 0x30]
jmp 0x140003be4
and al, 2
neg al
sbb r14d, r14d
and r14d, 0x101
test byte [0x14000cbf8], sil
jne 0x140003cf2
test r12, r12
je 0x140003cf2
cmp byte [r12], bl
je 0x140003cf2
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
call fcn.1400078c8
test eax, eax
je 0x140003cbe
call fcn.140007804
mov r9d, 0x180000
test eax, eax
jne 0x140003cc1
mov r9d, ebx
or r9d, r14d
lea r8, [0x14000d578]
or r9d, 0x30
mov rdx, r12
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
test r14b, 4
je 0x140003ce5
cmp eax, 6
jmp 0x140003cec
test sil, r14b
je 0x140003d0e
cmp eax, esi
jne 0x140003d0e
mov edi, ebx
jmp 0x140003d0e
mov dword [rsp + 0x28], ebx
lea r8, [0x14000d578]
mov dword [rsp + 0x20], 0x30
mov edx, edi
xor ecx, ecx
call fcn.140004b0c
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.140007e20
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