Function at 0x14000a534
Capabilities:
Check os version

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1d8
movaps xmmword [rsp + 0x1c0], xmm6
mov r15, r9
mov r12, r8
mov r13, rdx
mov rbx, rcx
lea r8, [rsp + 0x1a0]
mov qword [r8], r12
mov qword [r8 + 8], r9
lea rax, [0x1413118eb]
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], 0xe
lea rsi, [rsp + 0xb8]
mov r9d, 2
mov rcx, rsi
call fcn.140009192
movzx eax, word [rsi + 0x10]
test ax, ax
je 0x14000a5bf
mov word [rbx + 0xd0], ax
movaps xmm6, xmmword [rsp + 0x1c0]
add rsp, 0x1d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xc0]
lea r9, [0x1413118fc]
lea r14, [rsp + 0xd0]
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.14000b5c4
cmp word [r14 + 8], 0
je 0x14000a6a3
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x20]
mov r14, qword [rax + 0x30]
mov qword [rsp + 0x50], r14
lea rcx, [0x141338138]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
lea rcx, [rsp + 0x68]
mov qword [rcx], r14
lea rdx, [0x141331f7b]
mov r8d, 0x29
call fcn.14000952b
test ax, ax
jne 0x14000a66c
lea r8, [rsp + 0x50]
mov rcx, rdi
mov rdx, rsi
call fcn.140009580
test ax, ax
jne 0x14000a66c
lea rcx, [rsp + 0x78]
mov qword [rcx], r14
lea rdx, [0x141331fa7]
mov r8d, 1
call fcn.14000952b
lea rcx, [0x141338138]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov r8d, 0xd8
mov rcx, rbx
xor edx, edx
movaps xmm6, xmmword [rsp + 0x1c0]
add rsp, 0x1d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400036f7
mov r14, qword [rsp + 0xd0]
lea rbp, [rsp + 0xe0]
mov r9d, 0x3b9aca00
mov rcx, rbp
mov rdx, r14
mov r8, r13
call fcn.14000b73f
movzx ebp, word [rbp + 0x10]
test bp, bp
je 0x14000a6e4
mov rcx, r14
call sub.ntdll.dll_NtClose
mov word [rbx + 0xd0], bp
jmp 0x14000a5a3
mov r8, qword [rsp + 0xe0]
mov r9, qword [rsp + 0xe8]
lea rbp, [rsp + 0x138]
mov rcx, rbp
mov rdx, r13
call fcn.140007da9
cmp byte [rbp + 0x60], 0
je 0x14000a822
mov qword [rsp + 0x60], r14
mov r14, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x170]
mov qword [rsp + 0x20], 2
lea r9, [0x1413118e8]
lea r13, [rsp + 0x128]
mov rcx, r13
mov rdx, r14
mov r8, rbp
call fcn.14000de5d
mov al, byte [r13 + 8]
mov byte [rsp + 0x40], al
test al, al
mov rax, qword [r13]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rbp
cmove rax, rbp
lea rcx, [rsp + 0x78]
mov qword [rcx], r14
mov qword [rcx + 8], rax
movups xmm6, xmmword [0x141331a90]
movups xmmword [rcx + 0x10], xmm6
mov byte [rcx + 0x20], 0x2e
call fcn.14000ae46
mov r8, rdx
lea r13, [rsp + 0xf8]
mov rcx, r13
mov rdx, rax
call fcn.1400102c0
cmp word [r13 + 8], 0
je 0x14000a8af
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x20]
mov r15, qword [rax + 0x30]
mov qword [rsp + 0x50], r15
lea rcx, [0x141338138]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
lea rcx, [rsp + 0x68]
mov qword [rcx], r15
lea rdx, [0x141331fd4]
mov r8d, 0x28
call fcn.14000952b
test ax, ax
mov r14, qword [rsp + 0x60]
jne 0x14000a896
lea r8, [rsp + 0x50]
mov rcx, rdi
mov rdx, rsi
call fcn.140009580
test ax, ax
jne 0x14000a896
lea rcx, [rsp + 0x78]
mov qword [rcx], r15
lea rdx, [0x141331fff]
jmp 0x14000a88b
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x20]
mov r15, qword [rax + 0x30]
mov qword [rsp + 0x50], r15
lea rcx, [0x141338138]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
lea rcx, [rsp + 0x68]
mov qword [rcx], r15
lea rdx, [0x141331fa9]
mov r8d, 0x26
call fcn.14000952b
test ax, ax
jne 0x14000a896
lea r8, [rsp + 0x50]
mov rcx, rdi
mov rdx, rsi
call fcn.140009580
test ax, ax
jne 0x14000a896
lea rcx, [rsp + 0x78]
mov qword [rcx], r15
lea rdx, [0x141331fd2]
mov r8d, 1
call fcn.14000952b
lea rcx, [0x141338138]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rcx, r14
call sub.ntdll.dll_NtClose
jmp 0x14000a678
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0x78]
call fcn.14000ae46
test rax, rax
je 0x14000a7aa
mov r8, rdx
lea r13, [rsp + 0x108]
mov rcx, r13
mov rdx, rax
call fcn.1400102c0
cmp word [r13 + 8], 0
jne 0x14000a7aa
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0x78]
call fcn.14000ae46
test rax, rax
je 0x14000a7aa
mov r8, rdx
lea r13, [rsp + 0x118]
mov rcx, r13
mov rdx, rax
call fcn.1400102c0
cmp word [r13 + 8], 0
jne 0x14000a7aa
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0x78]
call fcn.14000ae46
test rax, rax
jne 0x14000a7aa
cmp byte [rsp + 0x40], 0
je 0x14000aa79
mov rcx, qword [rsp + 0x38]
lea rdx, [r14 + rcx]
mov rax, qword [rsp + 0x48]
sub rax, rcx
cmp byte [r14 + rcx], 0x2d
jne 0x14000ab2b
mov byte [rsp + 0x20], 0x2b
lea r14, [rsp + 0x50]
mov rcx, r14
mov r13, rdx
mov rbp, rax
mov r8, rax
xor r9d, r9d
call fcn.14001008c
mov al, byte [r14 + 8]
mov byte [rsp + 0x37], al
test al, al
mov rax, qword [r14]
mov rcx, rax
cmove rcx, rbp
dec rcx
lea rdx, [rax + r13]
inc rdx
mov qword [rsp + 0x40], rdx
inc rax
inc r13
sub rbp, rax
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x78]
mov rax, r13
mov qword [rsp + 0x38], r13
mov qword [rbp], r13
mov r13, rcx
mov qword [rbp + 8], rcx
lea rax, [rsp + 0x88]
movups xmmword [rax], xmm6
mov byte [rbp + 0x20], 0x2e
mov rcx, rbp
call fcn.14000ae46
test rax, rax
je 0x14000abbf
mov r8, rdx
test rdx, rdx
je 0x14000a7aa
xor ecx, ecx
cmp r8, rcx
je 0x14000aa48
mov dl, byte [rax + rcx]
lea r9d, [rdx - 0x30]
inc rcx
cmp r9b, 0xa
jb 0x14000aa18
mov r9d, edx
and r9b, 0xdf
add r9b, 0xbf
cmp r9b, 0x1a
jb 0x14000aa18
cmp dl, 0x2d
je 0x14000aa18
jmp 0x14000a7aa
xor ecx, ecx
cmp r8, rcx
je 0x14000aa5f
mov dl, byte [rax + rcx]
add dl, 0xd0
inc rcx
cmp dl, 0xa
jb 0x14000aa4a
jmp 0x14000a9f9
lea rcx, [rsp + 0x68]
mov rdx, rax
call fcn.1400102c0
cmp word [rsp + 0x70], 0
je 0x14000a9f9
jmp 0x14000a7aa
xor eax, eax
xor r8d, r8d
xor r13d, r13d
xor edx, edx
and word [rbx + 0xd0], 0
mov byte [rbx + 0xc8], 1
mov qword [rbx], rdi
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r15
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x28], r15
lea rdi, [rbx + 0x30]
lea rsi, [rsp + 0x138]
mov ecx, 0xc
rep movsq qword [rdi], qword [rsi]
mov rcx, qword [rsp + 0xb0]
mov qword [rbx + 0x90], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rbx + 0x98], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rbx + 0xa0], rcx
mov qword [rbx + 0xa8], rdx
mov qword [rbx + 0xb0], r13
mov qword [rbx + 0xb8], r8
mov qword [rbx + 0xc0], rax
mov rcx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x1c0]
add rsp, 0x1d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sub.ntdll.dll_NtClose
inc rdx
dec rax
xor r13d, r13d
xor ecx, ecx
mov qword [rsp + 0x38], rcx
lea rbp, [rsp + 0x78]
mov qword [rsp + 0x40], rdx
mov qword [rbp], rdx
mov qword [rsp + 0x48], rax
mov qword [rbp + 8], rax
lea rax, [rsp + 0x88]
movups xmmword [rax], xmm6
mov byte [rbp + 0x20], 0x2e
mov rcx, rbp
call fcn.14000ae46
test rax, rax
je 0x14000abab
test rdx, rdx
je 0x14000a7aa
xor ecx, ecx
cmp rdx, rcx
je 0x14000ab61
mov r8b, byte [rax + rcx]
lea r9d, [r8 - 0x30]
inc rcx
cmp r9b, 0xa
jb 0x14000ab79
mov r9d, r8d
and r9b, 0xdf
add r9b, 0xbf
cmp r9b, 0x1a
jb 0x14000ab79
cmp r8b, 0x2d
je 0x14000ab79
jmp 0x14000a7aa
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
jmp 0x14000aa83
cmp byte [rsp + 0x37], 0
je 0x14000abd5
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
jmp 0x14000ab3b
xor eax, eax
xor r8d, r8d
mov rdx, qword [rsp + 0x38]
jmp 0x14000aa83