Function at 0x140003e38
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 [0x14000e040]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov r12, rcx
xor edx, edx
lea rcx, [rsp + 0x44]
mov r8d, 0x90
call sub.msvcrt.dll_memset
xor ebx, ebx
mov dword [rsp + 0x40], 0x94
lea rcx, [rsp + 0x40]
mov esi, ebx
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
nop dword [rax + rax]
test eax, eax
jne 0x140003eac
mov esi, 0x4b4
jmp 0x140003ecf
mov eax, dword [rsp + 0x50]
mov r13d, 2
mov r11d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
sub eax, 1
je 0x140003f42
cmp eax, 1
je 0x140003ee6
mov esi, 0x4ca
xor r9d, r9d
mov dword [rsp + 0x28], ebx
xor r8d, r8d
mov dword [rsp + 0x20], FDICopy
jmp 0x140004151
mov r14d, 1
movzx eax, r13w
mov dword [0x14000e22c], r14d
mov dword [0x14000e228], r14d
mov word [0x14000fef8], ax
lea ecx, [r14 + 2]
cmp r8d, ecx
ja 0x140003f30
mov eax, r14d
mov word [0x14000fef8], ax
jb 0x140003f22
jne 0x140003f60
cmp r11d, 0x33
jae 0x140003f60
mov dword [0x14000e22c], ebx
mov dword [0x14000e228], ebx
jmp 0x140003f60
cmp r8d, 5
jb 0x140003f60
movzx eax, cx
mov word [0x14000fef8], cx
jmp 0x140003f60
mov r14d, 1
mov word [0x14000fef8], bx
mov dword [0x14000e22c], r14d
movzx eax, bx
mov dword [0x14000e228], r14d
cmp dword [0x14000ed94], ebx
jne 0x14000415a
test r12, r12
je 0x14000415a
movzx edi, 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 0x140003fac
mov ecx, r15d
jmp 0x140003fc6
jbe 0x140003fb3
mov ecx, r14d
jmp 0x140003fc6
movsxd rax, ecx
lea rcx, [rax + rax*2]
cmp r11d, dword [rdx + rcx*8 + 4]
jb 0x140003fa7
mov ecx, ebx
seta cl
cmp r8d, dword [rdx + r9*8 + 0xc]
jae 0x140003fd2
mov eax, r15d
jmp 0x140003fe5
jbe 0x140003fd9
mov eax, r14d
jmp 0x140003fe5
cmp r11d, dword [rdx + r9*8 + 0x10]
jb 0x140003fcd
mov eax, ebx
seta al
test ecx, ecx
js 0x140004051
test eax, eax
jg 0x140004051
test ecx, ecx
jne 0x14000400e
test eax, eax
jne 0x140004005
mov eax, edi
cmp edi, dword [rdx + r9*8 + 8]
jb 0x140004019
cmp eax, dword [rdx + r9*8 + 0x14]
jmp 0x140004017
cmp edi, dword [rdx + r9*8 + 8]
jae 0x14000406d
jmp 0x140004019
test eax, eax
jne 0x14000406d
cmp edi, dword [rdx + r9*8 + 0x14]
jbe 0x14000406d
test r10d, r10d
je 0x140004056
mov r9, rbx
mov esi, 0x54c
mov r15, rbx
mov edi, ebx
test rdx, rdx
je 0x1400040ca
mov r15d, dword [rdx + 0x34]
mov eax, dword [rdx + 0x30]
add r15, 0x84
add r15, r12
test r14b, al
je 0x1400040bd
mov edi, 0x104
jmp 0x1400040ca
cmp r10d, r14d
je 0x14000401e
inc r10d
mov dword [rsp + 0x30], r10d
mov eax, r10d
mov ecx, r10d
cmp r10d, r13d
jl 0x140003f9b
cmp dword [r12 + 0x7c], ebx
je 0x14000415a
lea r9, [rsp + 0x30]
mov rcx, r12
lea rdx, [rbp - 0x20]
call fcn.140002328
test eax, eax
jne 0x14000415a
movsxd rax, dword [rsp + 0x30]
lea r9, [rbp - 0x20]
mov edx, dword [r12 + 0x80]
mov esi, 0x54d
imul rax, rax, 0x3c
add rdx, 0x84
add rax, r12
add rdx, rax
jmp 0x140004026
and al, r13b
neg al
sbb edi, edi
and edi, 0x101
test byte [0x14000ed98], r14b
jne 0x14000413d
test r15, r15
je 0x14000413d
cmp byte [r15], bl
je 0x14000413d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
nop dword [rax + rax]
call fcn.140008cc0
test eax, eax
je 0x140004102
call fcn.140008be4
test eax, eax
mov eax, 0x180030
jne 0x140004107
mov eax, 0x30
or eax, edi
lea r8, [0x14000f5f8]
mov r9d, eax
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
nop dword [rax + rax]
test dil, 4
je 0x14000412f
cmp eax, 6
jmp 0x140004137
test r14b, dil
je 0x14000415a
cmp eax, r14d
jne 0x14000415a
mov esi, ebx
jmp 0x14000415a
mov eax, 0x30
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
lea r8, [0x14000f5f8]
mov edx, esi
xor ecx, ecx
call fcn.140006228
test esi, esi
sete bl
mov eax, ebx
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.140008f50
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