Function at 0x140003df0
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 r12, rcx
mov dword [rsp + 0x40], 0x94
xor ebx, ebx
lea rcx, [rsp + 0x40]
mov edi, ebx
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
nop dword [rax + rax]
test eax, eax
jne 0x140003e52
mov edi, 0x4b4
jmp 0x140003e75
mov eax, dword [rsp + 0x50]
mov r13d, 2
mov r11d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
sub eax, 1
je 0x140003ee8
cmp eax, 1
je 0x140003e8c
mov edi, 0x4ca
xor r9d, r9d
mov dword [rsp + 0x28], ebx
xor r8d, r8d
mov dword [rsp + 0x20], FDIDestroy
jmp 0x1400040f7
mov r14d, 1
movzx eax, r13w
mov dword [0x14000c1ac], r14d
mov dword [0x14000c1a8], r14d
mov word [0x14000de78], ax
lea ecx, [r14 + 2]
cmp r8d, ecx
ja 0x140003ed6
mov eax, r14d
mov word [0x14000de78], ax
jb 0x140003ec8
jne 0x140003f06
cmp r11d, 0x33
jae 0x140003f06
mov dword [0x14000c1ac], ebx
mov dword [0x14000c1a8], ebx
jmp 0x140003f06
cmp r8d, 5
jb 0x140003f06
movzx eax, cx
mov word [0x14000de78], cx
jmp 0x140003f06
mov r14d, 1
mov word [0x14000de78], bx
mov dword [0x14000c1ac], r14d
movzx eax, bx
mov dword [0x14000c1a8], r14d
cmp dword [0x14000cd14], ebx
jne 0x140004100
test r12, r12
je 0x140004100
movzx esi, word [rsp + 0x4c]
lea rdx, [r12 + 0x40]
neg ax
mov dword [rsp + 0x30], ebx
mov r10d, ebx
mov ecx, ebx
sbb rax, rax
and rax, 0xffffffffffffffc4
add rdx, rax
mov eax, ebx
or r15d, 0xffffffff
cdqe
lea r9, [rax + rax*2]
cmp r8d, dword [rdx + r9*8]
jae 0x140003f52
mov ecx, r15d
jmp 0x140003f6c
jbe 0x140003f59
mov ecx, r14d
jmp 0x140003f6c
movsxd rax, ecx
lea rcx, [rax + rax*2]
cmp r11d, dword [rdx + rcx*8 + 4]
jb 0x140003f4d
mov ecx, ebx
seta cl
cmp r8d, dword [rdx + r9*8 + 0xc]
jae 0x140003f78
mov eax, r15d
jmp 0x140003f8b
jbe 0x140003f7f
mov eax, r14d
jmp 0x140003f8b
cmp r11d, dword [rdx + r9*8 + 0x10]
jb 0x140003f73
mov eax, ebx
seta al
test ecx, ecx
js 0x140003ff7
test eax, eax
jg 0x140003ff7
test ecx, ecx
jne 0x140003fb4
test eax, eax
jne 0x140003fab
mov eax, esi
cmp esi, dword [rdx + r9*8 + 8]
jb 0x140003fbf
cmp eax, dword [rdx + r9*8 + 0x14]
jmp 0x140003fbd
cmp esi, dword [rdx + r9*8 + 8]
jae 0x140004013
jmp 0x140003fbf
test eax, eax
jne 0x140004013
cmp esi, dword [rdx + r9*8 + 0x14]
jbe 0x140004013
test r10d, r10d
je 0x140003ffc
mov r9, rbx
mov edi, 0x54c
mov r15, rbx
mov esi, ebx
test rdx, rdx
je 0x140004070
mov eax, dword [rdx + 0x34]
lea r15, [r12 + 0x84]
add r15, rax
mov eax, dword [rdx + 0x30]
test r14b, al
je 0x140004063
mov esi, 0x104
jmp 0x140004070
cmp r10d, r14d
je 0x140003fc4
inc r10d
mov dword [rsp + 0x30], r10d
mov eax, r10d
mov ecx, r10d
cmp r10d, r13d
jl 0x140003f41
cmp dword [r12 + 0x7c], ebx
je 0x140004100
lea r9, [rsp + 0x30]
mov rcx, r12
lea rdx, [rbp - 0x20]
call fcn.1400022f0
test eax, eax
jne 0x140004100
movsxd rax, dword [rsp + 0x30]
lea r9, [rbp - 0x20]
mov edx, dword [r12 + 0x80]
mov edi, 0x54d
imul rax, rax, 0x3c
add rdx, 0x84
add rax, r12
add rdx, rax
jmp 0x140003fcc
and al, r13b
neg al
sbb esi, esi
and esi, 0x101
test byte [0x14000cd18], r14b
jne 0x1400040e3
test r15, r15
je 0x1400040e3
cmp byte [r15], bl
je 0x1400040e3
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
nop dword [rax + rax]
call fcn.140008bb4
test eax, eax
je 0x1400040a8
call fcn.140008ae4
test eax, eax
mov eax, 0x180030
jne 0x1400040ad
mov eax, 0x30
or eax, esi
lea r8, [0x14000d578]
mov r9d, eax
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
nop dword [rax + rax]
test sil, 4
je 0x1400040d5
cmp eax, 6
jmp 0x1400040dd
test r14b, sil
je 0x140004100
cmp eax, r14d
jne 0x140004100
mov edi, ebx
jmp 0x140004100
mov eax, 0x30
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
lea r8, [0x14000d578]
mov edx, edi
xor ecx, ecx
call fcn.1400061e8
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1400013e0
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