Function at 0x1400097d0
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
mov rax, qword [0x140194020]
xor rax, rsp
mov qword [rbp + 0x190], rax
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
xor edx, edx
mov r8d, 0x11c
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
call fcn.140019870
lea rcx, [rsp + 0x20]
call fcn.140009da0
test al, al
je 0x140009cd2
call fcn.140009d00
movzx esi, al
mov eax, dword [rsp + 0x30]
sub eax, 1
je 0x140009ca4
cmp eax, 1
jne 0x140009cd2
lea rcx, [0x1400453e0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140009cd2
lea rdx, str.GetNativeSystemInfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140009886
lea rcx, [rbp + 0x40]
call rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
movzx edi, byte [rbp + 0x3a]
xor ebx, ebx
test rax, rax
je 0x140009985
lea rdx, str.RtlVerifyVersionInfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
test rax, rax
je 0x140009985
xor edx, edx
lea rcx, [rbp + 0x7c]
mov r8d, 0x110
call fcn.140019870
mov r8b, 1
mov dword [rbp + 0x70], 0x11c
lea edx, [rbx + 2]
mov qword [rbp + 0x74], 0xa
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov r8b, 1
lea edx, [rbx + 1]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov r8, rax
lea edx, [rbx + 3]
lea rcx, [rbp + 0x70]
call r14
test eax, eax
js 0x140009985
cmp dil, 1
jne 0x14000994b
cmp sil, dil
jne 0x140009931
cmp dword [rsp + 0x2c], 0x55f0
mov eax, 0xc37a
mov ecx, 0xc381
cmovae eax, ecx
jmp 0x140009cd4
cmp dword [rsp + 0x2c], 0x55f0
mov eax, 0xc379
mov ecx, 0xc380
cmovae eax, ecx
jmp 0x140009cd4
cmp sil, 1
jne 0x140009985
mov ecx, dword [rsp + 0x2c]
cmp ecx, 0x4f3d
jb 0x140009967
mov eax, 0xc37f
jmp 0x140009cd4
add ecx, 0xffffbb29
mov eax, 0xc37b
cmp ecx, 0xa65
mov edx, 0xc37e
cmovbe eax, edx
jmp 0x140009cd4
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r15d, 6
test rax, rax
je 0x140009a34
lea rdx, str.RtlVerifyVersionInfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
test rax, rax
je 0x140009a34
xor edx, edx
lea rcx, [rbp + 0x7c]
mov r8d, 0x110
call fcn.140019870
mov r8b, 1
mov dword [rbp + 0x70], 0x11c
lea edx, [r15 - 4]
mov dword [rbp + 0x74], r15d
xor ecx, ecx
mov dword [rbp + 0x78], 3
call qword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov r8b, 1
lea edx, [r15 - 5]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov r8, rax
lea edx, [r15 - 3]
lea rcx, [rbp + 0x70]
call r14
test eax, eax
js 0x140009a34
cmp dil, 1
jne 0x140009a24
cmp sil, dil
sete bl
lea eax, [rbx + 0xc376]
jmp 0x140009cd4
cmp sil, 1
jne 0x140009a34
mov eax, 0xc378
jmp 0x140009cd4
mov eax, dword [rsp + 0x24]
cmp eax, r15d
jne 0x140009afe
mov eax, dword [rsp + 0x28]
cmp eax, 2
jne 0x140009a73
cmp dil, 1
jne 0x140009a61
cmp sil, dil
sete bl
lea eax, [rbx + 0xc372]
jmp 0x140009cd4
cmp sil, 1
sete bl
lea eax, [rbx + 0xc374]
jmp 0x140009cd4
cmp eax, 1
jne 0x140009aa0
cmp dil, al
jne 0x140009a8e
cmp sil, al
sete bl
lea eax, [rbx + 0xc370]
jmp 0x140009cd4
cmp sil, 1
sete bl
lea eax, [rbx + 0xc36e]
jmp 0x140009cd4
test eax, eax
jne 0x140009cd2
movzx eax, word [rbp + 0x40]
cmp dil, 1
jne 0x140009ad8
cmp ax, 8
je 0x140009ace
cmp ax, 5
jbe 0x140009ace
cmp ax, 0xb
jae 0x140009ace
mov eax, 0xc36a
jmp 0x140009cd4
mov eax, 0xc351
jmp 0x140009cd4
cmp ax, 8
je 0x140009af4
cmp ax, 5
jbe 0x140009af4
cmp ax, 0xb
jae 0x140009af4
mov eax, 0xc36d
jmp 0x140009cd4
mov eax, 0xc352
jmp 0x140009cd4
cmp eax, 5
jne 0x140009c64
mov eax, dword [rsp + 0x28]
cmp eax, 2
jne 0x140009be1
lea eax, [rdi - 2]
cmp al, 1
ja 0x140009bad
movzx ecx, word [rbp + 0x40]
cmp r15w, cx
jne 0x140009b49
movzx eax, word [rbp + 0x38]
test al, al
jns 0x140009b3b
mov eax, 0xc353
jmp 0x140009cd4
test al, 2
je 0x140009bad
mov eax, 0xc354
jmp 0x140009cd4
mov eax, 9
cmp ax, cx
movzx eax, word [rbp + 0x38]
jne 0x140009b79
test al, al
jns 0x140009b65
mov eax, 0xc355
jmp 0x140009cd4
not al
movzx eax, al
and eax, 2
or eax, 0x186ac
shr eax, 1
jmp 0x140009cd4
test al, al
jns 0x140009b87
mov eax, 0xc358
jmp 0x140009cd4
test al, 2
je 0x140009b95
mov eax, 0xc359
jmp 0x140009cd4
not ax
movzx eax, ax
and eax, 0x400
or eax, 0x30d6800
shr eax, 0xa
jmp 0x140009cd4
mov ecx, 0x59
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x140009bc6
mov eax, 0xc35c
jmp 0x140009cd4
cmp dil, 1
jne 0x140009bd7
mov eax, 9
cmp ax, word [rbp + 0x40]
je 0x140009bf6
mov eax, 0xc35e
jmp 0x140009cd4
cmp eax, 1
jne 0x140009c1b
cmp dil, al
jne 0x140009c00
mov eax, 9
cmp ax, word [rbp + 0x40]
jne 0x140009c00
mov eax, 0xc35d
jmp 0x140009cd4
movzx eax, word [rbp + 0x38]
mov ecx, 0x200
and ax, cx
neg ax
sbb eax, eax
add eax, 0xc360
jmp 0x140009cd4
test eax, eax
jne 0x140009cd2
cmp dil, 1
jne 0x140009c33
mov eax, 0xc363
jmp 0x140009cd4
sub dil, 2
cmp dil, 1
ja 0x140009cd2
movzx eax, word [rbp + 0x38]
test al, al
jns 0x140009c53
mov eax, 0xc361
jmp 0x140009cd4
test al, 2
mov ecx, 0xc362
mov eax, 0xc36c
cmovne eax, ecx
jmp 0x140009cd4
cmp eax, 4
jne 0x140009c91
cmp dword [rsp + 0x28], ebx
jne 0x140009cd2
sub dil, 2
cmp dil, 1
jbe 0x140009c80
mov eax, 0xc364
jmp 0x140009cd4
movzx eax, byte [rbp + 0x38]
and al, 2
neg al
sbb eax, eax
add eax, 0xc366
jmp 0x140009cd4
cmp eax, 3
jne 0x140009cd2
cmp dword [rsp + 0x28], 0x33
jne 0x140009cd2
mov eax, 0xc36b
jmp 0x140009cd4
cmp dword [rsp + 0x24], 4
jne 0x140009cd2
mov eax, dword [rsp + 0x28]
test eax, eax
jne 0x140009cba
mov eax, 0xc367
jmp 0x140009cd4
cmp eax, 0xa
jne 0x140009cc6
mov eax, 0xc368
jmp 0x140009cd4
cmp eax, 0x5a
jne 0x140009cd2
mov eax, 0xc369
jmp 0x140009cd4
xor eax, eax
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.140016d70
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret