Function at 0x140003d34
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 0x140003d91
mov edi, 0x4b4
jmp 0x140003db2
mov eax, dword [rsp + 0x50]
mov ecx, 2
mov esi, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x44]
sub eax, 1
je 0x140003e23
cmp eax, 1
je 0x140003dc9
mov edi, 0x4ca
xor r9d, r9d
mov dword [rsp + 0x28], ebx
xor r8d, r8d
mov dword [rsp + 0x20], FDIDestroy
jmp 0x140004022
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 0x140003e11
mov eax, r14d
mov word [0x14000de78], ax
jb 0x140003e03
jne 0x140003e41
cmp esi, 0x33
jae 0x140003e41
mov dword [0x14000c1ac], ebx
mov dword [0x14000c1a8], ebx
jmp 0x140003e41
cmp r9d, 5
jb 0x140003e41
movzx eax, cx
mov word [0x14000de78], cx
jmp 0x140003e41
mov r14d, 1
mov word [0x14000de78], bx
mov dword [0x14000c1ac], r14d
movzx eax, bx
mov dword [0x14000c1a8], r14d
cmp dword [0x14000cd14], ebx
jne 0x14000402b
test r12, r12
je 0x14000402b
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 0x140003e88
or r8d, 0xffffffff
jmp 0x140003e9c
jbe 0x140003e8f
mov r8d, r14d
jmp 0x140003e9c
cmp esi, dword [rcx + rdx*8 + 4]
jb 0x140003e82
mov r8d, ebx
seta r8b
cmp r9d, dword [rcx + rdx*8 + 0xc]
jae 0x140003ea8
or eax, 0xffffffff
jmp 0x140003eba
jbe 0x140003eaf
mov eax, r14d
jmp 0x140003eba
cmp esi, dword [rcx + rdx*8 + 0x10]
jb 0x140003ea3
mov eax, ebx
seta al
test r8d, r8d
js 0x140003f28
test eax, eax
jg 0x140003f28
test r8d, r8d
jne 0x140003ee5
test eax, eax
jne 0x140003edc
mov eax, r15d
cmp r15d, dword [rcx + rdx*8 + 8]
jb 0x140003ef0
cmp eax, dword [rcx + rdx*8 + 0x14]
jmp 0x140003eee
cmp r15d, dword [rcx + rdx*8 + 8]
jae 0x140003f3f
jmp 0x140003ef0
test eax, eax
jne 0x140003f3f
cmp r15d, dword [rcx + rdx*8 + 0x14]
jbe 0x140003f3f
test r10d, r10d
je 0x140003f2d
mov r9, rbx
mov edi, 0x54c
mov r15, rbx
mov esi, ebx
test rcx, rcx
je 0x140003f9b
mov eax, dword [rcx + 0x34]
lea r15, [r12 + 0x84]
add r15, rax
mov eax, dword [rcx + 0x30]
test r14b, al
je 0x140003f8f
mov esi, 0x104
jmp 0x140003f9b
cmp r10d, r14d
je 0x140003ef5
inc r10d
mov dword [rsp + 0x30], r10d
cmp r10d, 2
jl 0x140003e75
cmp dword [r12 + 0x7c], ebx
je 0x14000402b
lea r9, [rsp + 0x30]
mov rcx, r12
lea rdx, [rbp - 0x20]
call fcn.140002898
test eax, eax
jne 0x14000402b
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 0x140003efd
and al, 2
neg al
sbb esi, esi
and esi, 0x101
test byte [0x14000cd18], r14b
jne 0x14000400e
test r15, r15
je 0x14000400e
cmp byte [r15], bl
je 0x14000400e
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
nop dword [rax + rax]
call fcn.140008154
test eax, eax
je 0x140003fd3
call fcn.140008084
test eax, eax
mov eax, 0x180030
jne 0x140003fd8
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 0x140004000
cmp eax, 6
jmp 0x140004008
test r14b, sil
je 0x14000402b
cmp eax, r14d
jne 0x14000402b
mov edi, ebx
jmp 0x14000402b
mov eax, 0x30
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
lea r8, [0x14000d578]
mov edx, edi
xor ecx, ecx
call fcn.140004f2c
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1400086f0
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