Function at 0x140003dd0
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x100]
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 0x140003e2d
mov edi, 0x4b4
jmp 0x140003e4e
mov eax, dword [rsp + 0x50]
mov ecx, 2
mov esi, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x44]
sub eax, 1
je 0x140003ebf
cmp eax, 1
je 0x140003e65
mov edi, 0x4ca
xor r9d, r9d
mov dword [rsp + 0x28], ebx
xor r8d, r8d
mov dword [rsp + 0x20], FDIDestroy
jmp 0x1400040be
mov r14d, 1
mov word [0x14000de78], cx
movzx eax, cx
mov dword [0x14000c1ac], r14d
mov dword [0x14000c1a8], r14d
lea ecx, [r14 + 2]
cmp r9d, ecx
ja 0x140003ead
mov eax, r14d
mov word [0x14000de78], ax
jb 0x140003e9f
jne 0x140003edd
cmp esi, 0x33
jae 0x140003edd
mov dword [0x14000c1ac], ebx
mov dword [0x14000c1a8], ebx
jmp 0x140003edd
cmp r9d, 5
jb 0x140003edd
movzx eax, cx
mov word [0x14000de78], cx
jmp 0x140003edd
mov r14d, 1
mov word [0x14000de78], bx
mov dword [0x14000c1ac], r14d
movzx eax, bx
mov dword [0x14000c1a8], r14d
cmp dword [0x14000cd14], ebx
jne 0x1400040c7
test r12, r12
je 0x1400040c7
movzx r15d, word [rsp + 0x4c]
lea rcx, [r12 + 0x40]
neg ax
mov dword [rsp + 0x30], ebx
mov r10d, ebx
sbb rax, rax
and rax, 0xffffffffffffffc4
add rcx, rax
movsxd r11, r10d
lea rdx, [r11 + r11*2]
cmp r9d, dword [rcx + rdx*8]
jae 0x140003f24
or r8d, 0xffffffff
jmp 0x140003f38
jbe 0x140003f2b
mov r8d, r14d
jmp 0x140003f38
cmp esi, dword [rcx + rdx*8 + 4]
jb 0x140003f1e
mov r8d, ebx
seta r8b
cmp r9d, dword [rcx + rdx*8 + 0xc]
jae 0x140003f44
or eax, 0xffffffff
jmp 0x140003f56
jbe 0x140003f4b
mov eax, r14d
jmp 0x140003f56
cmp esi, dword [rcx + rdx*8 + 0x10]
jb 0x140003f3f
mov eax, ebx
seta al
test r8d, r8d
js 0x140003fc4
test eax, eax
jg 0x140003fc4
test r8d, r8d
jne 0x140003f81
test eax, eax
jne 0x140003f78
mov eax, r15d
cmp r15d, dword [rcx + rdx*8 + 8]
jb 0x140003f8c
cmp eax, dword [rcx + rdx*8 + 0x14]
jmp 0x140003f8a
cmp r15d, dword [rcx + rdx*8 + 8]
jae 0x140003fdb
jmp 0x140003f8c
test eax, eax
jne 0x140003fdb
cmp r15d, dword [rcx + rdx*8 + 0x14]
jbe 0x140003fdb
test r10d, r10d
je 0x140003fc9
mov r9, rbx
mov edi, 0x54c
mov r15, rbx
mov esi, ebx
test rcx, rcx
je 0x140004037
mov eax, dword [rcx + 0x34]
lea r15, [r12 + 0x84]
add r15, rax
mov eax, dword [rcx + 0x30]
test r14b, al
je 0x14000402b
mov esi, 0x104
jmp 0x140004037
cmp r10d, r14d
je 0x140003f91
inc r10d
mov dword [rsp + 0x30], r10d
cmp r10d, 2
jl 0x140003f11
cmp dword [r12 + 0x7c], ebx
je 0x1400040c7
lea r9, [rsp + 0x30]
mov rcx, r12
lea rdx, [rbp - 0x20]
call fcn.1400022f0
test eax, eax
jne 0x1400040c7
movsxd rax, dword [rsp + 0x30]
lea r9, [rbp - 0x20]
mov edx, dword [r12 + 0x80]
mov edi, 0x54d
imul rcx, rax, 0x3c
add rcx, 0x84
add rcx, r12
add rcx, rdx
jmp 0x140003f99
and al, 2
neg al
sbb esi, esi
and esi, 0x101
test byte [0x14000cd18], r14b
jne 0x1400040aa
test r15, r15
je 0x1400040aa
cmp byte [r15], bl
je 0x1400040aa
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
nop dword [rax + rax]
call fcn.140008b64
test eax, eax
je 0x14000406f
call fcn.140008a94
test eax, eax
mov eax, 0x180030
jne 0x140004074
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 0x14000409c
cmp eax, 6
jmp 0x1400040a4
test r14b, sil
je 0x1400040c7
cmp eax, r14d
jne 0x1400040c7
mov edi, ebx
jmp 0x1400040c7
mov eax, 0x30
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
lea r8, [0x14000d578]
mov edx, edi
xor ecx, ecx
call fcn.1400061b8
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 rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret