Function at 0x140003da8
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 [0x140009110]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov r13, rcx
lea rcx, [rsp + 0x40]
xor ebx, ebx
mov edi, ebx
mov dword [rsp + 0x40], 0x94
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x140003e04
mov edi, 0x4b4
jmp 0x140003e24
mov eax, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
mov ecx, 2
dec eax
je 0x140003e91
dec eax
je 0x140003e3b
mov edi, 0x4ca
mov dword [rsp + 0x28], ebx
xor r9d, r9d
mov dword [rsp + 0x20], 0x10
xor r8d, r8d
jmp 0x140004086
mov esi, 1
movzx eax, cx
mov word [0x14000b074], cx
lea ecx, [rsi + 2]
mov dword [0x140009244], esi
mov dword [0x14000922c], esi
cmp r8d, ecx
ja 0x140003e7f
mov eax, esi
mov word [0x14000b074], ax
jb 0x140003e71
jne 0x140003eac
cmp r11d, 0x33
jae 0x140003eac
mov dword [0x140009244], ebx
mov dword [0x14000922c], ebx
jmp 0x140003eac
cmp r8d, 5
jb 0x140003eac
movzx eax, cx
mov word [0x14000b074], cx
jmp 0x140003eac
mov esi, 1
movzx eax, bx
mov word [0x14000b074], bx
mov dword [0x140009244], esi
mov dword [0x14000922c], esi
cmp dword [0x140009df4], ebx
jne 0x14000408f
test r13, r13
je 0x14000408f
lea r15, [r13 + 0x40]
test ax, ax
je 0x140003ece
lea r15, [r13 + 4]
movzx r14d, word [rsp + 0x4c]
mov ecx, ebx
mov dword [rsp + 0x30], ebx
or r12d, reloc.msvcrt.dll___C_specific_handler
movsxd r10, ecx
lea r9, [r10 + r10*2]
cmp r8d, dword [r15 + r9*8]
jae 0x140003ef0
mov edx, r12d
jmp 0x140003f02
jbe 0x140003ef6
mov edx, esi
jmp 0x140003f02
cmp r11d, dword [r15 + r9*8 + 4]
jb 0x140003eeb
mov edx, ebx
seta dl
cmp r8d, dword [r15 + r9*8 + 0xc]
jae 0x140003f0e
mov eax, r12d
jmp 0x140003f20
jbe 0x140003f14
mov eax, esi
jmp 0x140003f20
cmp r11d, dword [r15 + r9*8 + 0x10]
jb 0x140003f09
mov eax, ebx
seta al
test edx, edx
js 0x140003fbe
test eax, eax
jg 0x140003fbe
test edx, edx
jne 0x140003f52
test eax, eax
movzx eax, r14w
jne 0x140003f45
cmp eax, dword [r15 + r9*8 + 8]
jb 0x140003f61
jmp 0x140003f5a
cmp eax, dword [r15 + r9*8 + 8]
jae 0x140003fd1
jmp 0x140003f61
test eax, eax
jne 0x140003fd1
movzx eax, r14w
cmp eax, dword [r15 + r9*8 + 0x14]
jbe 0x140003fd1
test ecx, ecx
je 0x140003fc2
mov edi, 0x54c
mov r9, rbx
mov r12, rbx
mov r14d, ebx
cmp edi, 0x54d
jne 0x140003f9a
movsxd r15, ecx
mov ecx, dword [r13 + 0x80]
lea r9, [rbp - 0x20]
imul r15, r15, 0x3c
add r15, r13
add rcx, 0x84
add r15, rcx
test r15, r15
je 0x140004010
mov eax, dword [r15 + 0x34]
lea r12, [r13 + 0x84]
add r12, rax
mov eax, dword [r15 + 0x30]
test sil, al
je 0x140004002
mov r14d, 0x104
jmp 0x140004010
cmp ecx, esi
je 0x140003f65
add ecx, esi
mov dword [rsp + 0x30], ecx
cmp ecx, 2
jl 0x140003ede
cmp dword [r13 + 0x7c], ebx
je 0x14000408f
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x20]
mov rcx, r13
call fcn.1400029f0
test eax, eax
jne 0x14000408f
mov ecx, dword [rsp + 0x30]
mov edi, 0x54d
jmp 0x140003f6a
and al, 2
neg al
sbb r14d, r14d
and r14d, 0x101
test byte [0x140009df8], sil
jne 0x140004073
cmp byte [r12], bl
je 0x140004073
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
call fcn.140007b78
test eax, eax
je 0x14000403f
call fcn.140007ab4
mov r9d, 0x180000
test eax, eax
jne 0x140004042
mov r9d, ebx
or r9d, r14d
lea r8, [0x14000a778]
mov rdx, r12
or r9d, 0x30
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
test r14b, 4
je 0x140004066
cmp eax, 6
jmp 0x14000406d
test sil, r14b
je 0x14000408f
cmp eax, esi
jne 0x14000408f
mov edi, ebx
jmp 0x14000408f
mov dword [rsp + 0x28], ebx
lea r8, [0x14000a778]
mov dword [rsp + 0x20], 0x30
mov edx, edi
xor ecx, ecx
call fcn.140004e14
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1400080a0
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