Function at 0x1400039f0
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 0x140003a4c
mov edi, 0x4b4
jmp 0x140003a6e
mov eax, dword [rsp + 0x50]
mov ecx, 2
mov r11d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
sub eax, 1
je 0x140003adb
sub eax, 1
je 0x140003a85
mov edi, 0x4ca
xor r9d, r9d
mov dword [rsp + 0x28], ebx
xor r8d, r8d
mov dword [rsp + 0x20], FDIDestroy
jmp 0x140003cd5
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 0x140003ac9
mov eax, esi
mov word [0x14000de78], ax
jb 0x140003abb
jne 0x140003af6
cmp r11d, 0x33
jae 0x140003af6
mov dword [0x14000c1ac], ebx
mov dword [0x14000c1a8], ebx
jmp 0x140003af6
cmp r8d, 5
jb 0x140003af6
movzx eax, cx
mov word [0x14000de78], cx
jmp 0x140003af6
mov esi, 1
mov word [0x14000de78], bx
mov dword [0x14000c1ac], esi
movzx eax, bx
mov dword [0x14000c1a8], esi
cmp dword [0x14000cd14], ebx
jne 0x140003cde
test r13, r13
je 0x140003cde
lea r15, [r13 + 0x40]
test ax, ax
je 0x140003b18
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 0x140003b3a
mov edx, r12d
jmp 0x140003b4c
jbe 0x140003b40
mov edx, esi
jmp 0x140003b4c
cmp r11d, dword [r15 + r9*8 + 4]
jb 0x140003b35
mov edx, ebx
seta dl
cmp r8d, dword [r15 + r9*8 + 0xc]
jae 0x140003b58
mov eax, r12d
jmp 0x140003b6a
jbe 0x140003b5e
mov eax, esi
jmp 0x140003b6a
cmp r11d, dword [r15 + r9*8 + 0x10]
jb 0x140003b53
mov eax, ebx
seta al
test edx, edx
js 0x140003c08
test eax, eax
jg 0x140003c08
test edx, edx
jne 0x140003b9c
test eax, eax
movzx eax, r14w
jne 0x140003b8f
cmp eax, dword [r15 + r9*8 + 8]
jb 0x140003bab
jmp 0x140003ba4
cmp eax, dword [r15 + r9*8 + 8]
jae 0x140003c1b
jmp 0x140003bab
test eax, eax
jne 0x140003c1b
movzx eax, r14w
cmp eax, dword [r15 + r9*8 + 0x14]
jbe 0x140003c1b
test ecx, ecx
je 0x140003c0c
mov edi, 0x54c
mov r9, rbx
mov r12, rbx
mov r14d, ebx
cmp edi, 0x54d
jne 0x140003be4
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 0x140003c5a
mov eax, dword [r15 + 0x34]
lea r12, [r13 + 0x84]
add r12, rax
mov eax, dword [r15 + 0x30]
test sil, al
je 0x140003c4c
mov r14d, 0x104
jmp 0x140003c5a
cmp ecx, esi
je 0x140003baf
add ecx, esi
mov dword [rsp + 0x30], ecx
cmp ecx, 2
jl 0x140003b28
cmp dword [r13 + 0x7c], ebx
je 0x140003cde
lea r9, [rsp + 0x30]
mov rcx, r13
lea rdx, [rbp - 0x20]
call fcn.140002604
test eax, eax
jne 0x140003cde
mov edi, 0x54d
mov ecx, dword [rsp + 0x30]
jmp 0x140003bb4
and al, 2
neg al
sbb r14d, r14d
and r14d, 0x101
test byte [0x14000cd18], sil
jne 0x140003cc2
test r12, r12
je 0x140003cc2
cmp byte [r12], bl
je 0x140003cc2
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
call fcn.140007838
test eax, eax
je 0x140003c8e
call fcn.140007774
mov r9d, 0x180000
test eax, eax
jne 0x140003c91
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 0x140003cb5
cmp eax, 6
jmp 0x140003cbc
test sil, r14b
je 0x140003cde
cmp eax, esi
jne 0x140003cde
mov edi, ebx
jmp 0x140003cde
mov dword [rsp + 0x28], ebx
lea r8, [0x14000d578]
mov dword [rsp + 0x20], 0x30
mov edx, edi
xor ecx, ecx
call fcn.140004ab0
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.140007d80
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