Function at 0x140007da9
Capabilities:
Check os version

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3a8
movaps xmmword [rsp + 0x390], xmm6
mov rdi, rdx
mov rsi, rcx
xorps xmm6, xmm6
movups xmmword [rsp + 0x118], xmm6
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x128], xmm0
movups xmmword [rsp + 0x158], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x110], rax
and qword [rsp + 0x138], 0
mov qword [rsp + 0x148], r8
mov qword [rsp + 0x150], r9
and word [rsp + 0x16c], 0
mov byte [rsp + 0x16e], 1
mov rcx, qword [rdx]
mov rax, qword [rdx + 8]
mov rbx, qword [rsp + 0x3e8]
mov edx, 0x20
mov r8b, 3
mov r9, rbx
call qword [rax]
test rax, rax
je 0x140007f20
mov r14, rax
mov qword [rsp + 0xf0], rbx
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x310], xmm0
movaps xmmword [rsp + 0x320], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm0
mov qword [rsp + 0x100], rax
lea rax, [0x141331ae8]
mov qword [rsp + 0x108], rax
movups xmm0, xmmword [0x141311a08]
movaps xmmword [rsp + 0x30], xmm0
mov rax, qword [0x141311a18]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x110]
mov rax, qword [rdx + 0x40]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x38], 1
movzx eax, word [0x141331dc4]
mov word [rsp + 0x42], ax
lea r15, [rsp + 0x330]
mov rcx, r15
call fcn.1400111e0
movzx ebp, word [r15 + 0x18]
test bp, bp
jne 0x140007ef3
mov bp, 0x3f
cmp byte [rsp + 0x340], 0
je 0x140008095
mov rcx, r14
call fcn.14000a45b
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 0x20], rdx
mov r8d, 0x20
mov rdx, r14
mov r9b, 3
call qword [rax + 0x10]
jmp 0x140007f24
mov bp, 1
lea rcx, [rsp + 0x110]
call fcn.14000df53
test bp, bp
je 0x140008016
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x20]
mov rdi, qword [rax + 0x30]
lea rcx, [0x141338138]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
lea rcx, [rsp + 0x220]
mov qword [rcx], rdi
lea rdx, [0x141332260]
mov r8d, 0x24
call fcn.14000952b
test ax, ax
jne 0x140007fe9
lea rcx, [rsp + 0x240]
mov qword [rcx], rdi
lea rdx, [0x141332289]
mov r8d, 6
call fcn.14000952b
test ax, ax
jne 0x140007fe9
lea rcx, [rsp + 0x110]
mov qword [rcx], rdi
movsx rax, bp
shl rax, 4
lea r8, [0x141335280]
mov rdx, qword [rax + r8]
mov r8, qword [rax + r8 + 8]
call fcn.14000952b
test ax, ax
jne 0x140007fe9
lea rcx, [rsp + 0x260]
mov qword [rcx], rdi
lea rdx, [0x141332287]
mov r8d, 1
call fcn.14000952b
lea rcx, [0x141338138]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
xorps xmm0, xmm0
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x40], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
and qword [rsi + 0x60], 0
jmp 0x140008079
mov rax, qword [rsp + 0xe0]
mov qword [rsi], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rdi
mov rax, qword [rsp + 0xd8]
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], r12
mov rax, qword [rsp + 0xd0]
mov qword [rsi + 0x28], rax
mov qword [rsi + 0x30], r15
mov rax, qword [rsp + 0xc8]
mov qword [rsi + 0x38], rax
mov qword [rsi + 0x40], r14
mov rax, qword [rsp + 0xc0]
mov qword [rsi + 0x48], rax
mov qword [rsi + 0x50], rbx
mov qword [rsi + 0x58], r13
mov byte [rsi + 0x60], 1
movaps xmm6, xmmword [rsp + 0x390]
add rsp, 0x3a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r15, [rsp + 0x110]
lea rbx, [rsp + 0x100]
xorps xmm6, xmm6
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x200]
mov rdx, r15
mov r8, rbx
xor r9d, r9d
call fcn.140012630
movzx ebp, word [rsp + 0x218]
test bp, bp
jne 0x140007ef3
mov r13, r15
movups xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x70], xmm0
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 1
mov rbp, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
and eax, 0x1f
cmp eax, 0xa
je 0x14000814f
cmp eax, 0x10
jne 0x140008774
mov edx, 8
lea rcx, [0x141332060]
mov r8, rbp
mov r9, r15
call fcn.140009430
test al, 1
je 0x140008205
mov r12, rbx
mov rcx, rbx
lea rdx, [rsp + 0x70]
call fcn.1400128c4
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
test byte [rsp + 0x64], 1
mov r15, r13
je 0x1400081ae
movzx eax, byte [rsp + 0x40]
test eax, eax
je 0x140008427
cmp eax, 2
mov r12, rbx
jne 0x1400087de
lea rcx, [rsp + 0x170]
mov rdx, r12
mov r8, r15
lea r9, [rsp + 0x30]
call fcn.1400128f6
movzx ebp, word [rsp + 0x180]
test bp, bp
jne 0x140007ef3
mov rbx, r12
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0xe8], rax
mov al, 1
mov dword [rsp + 0x64], eax
jmp 0x1400080d8
mov edx, 0xb
lea rcx, [0x141332068]
mov r8, rbp
mov r9, r15
call fcn.140009430
test al, 1
je 0x1400082bb
mov r12, rbx
mov rcx, rbx
lea rdx, [rsp + 0x70]
call fcn.1400128c4
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
test byte [rsp + 0x60], 1
mov r15, r13
je 0x140008264
movzx eax, byte [rsp + 0x40]
test eax, eax
je 0x140008508
cmp eax, 2
mov r12, rbx
jne 0x1400087de
lea rcx, [rsp + 0x188]
mov rdx, r12
mov r8, r15
lea r9, [rsp + 0x30]
call fcn.1400128f6
movzx ebp, word [rsp + 0x198]
test bp, bp
jne 0x140007ef3
mov rbx, r12
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0xd8], rax
mov al, 1
mov dword [rsp + 0x60], eax
jmp 0x1400080d8
mov edx, 0x13
lea rcx, [0x141332073]
mov r8, rbp
mov r9, r15
call fcn.140009430
test al, 1
je 0x140008371
mov r12, rbx
mov rcx, rbx
lea rdx, [rsp + 0x70]
call fcn.1400128c4
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
test byte [rsp + 0x5c], 1
mov r15, r13
je 0x14000831a
movzx eax, byte [rsp + 0x40]
test eax, eax
je 0x1400085e4
cmp eax, 2
mov r12, rbx
jne 0x1400087de
lea rcx, [rsp + 0x1a0]
mov rdx, r12
mov r8, r15
lea r9, [rsp + 0x30]
call fcn.140013db0
movzx ebp, word [rsp + 0x1b0]
test bp, bp
jne 0x140007ef3
mov rbx, r12
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0xd0], rax
mov al, 1
mov dword [rsp + 0x5c], eax
jmp 0x1400080d8
mov edx, 0xb
lea rcx, [0x141332086]
mov r8, rbp
mov r9, r15
call fcn.140009430
test al, 1
je 0x140008452
mov r12, rbx
mov rcx, rbx
lea rdx, [rsp + 0x70]
call fcn.1400128c4
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
test byte [rsp + 0x58], 1
mov r15, r13
je 0x1400083d0
movzx eax, byte [rsp + 0x40]
test eax, eax
je 0x1400086d6
cmp eax, 2
mov r12, rbx
jne 0x1400087de
lea rcx, [rsp + 0x1b8]
mov rdx, r12
mov r8, r15
lea r9, [rsp + 0x30]
call fcn.1400128f6
movzx ebp, word [rsp + 0x1c8]
test bp, bp
jne 0x140007ef3
mov rbx, r12
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0xc8], rax
mov al, 1
mov dword [rsp + 0x58], eax
jmp 0x1400080d8
lea rcx, [rsp + 0x280]
mov rdx, rbx
mov r8, r15
lea r9, [rsp + 0x30]
call fcn.1400128f6
movzx ebp, word [rsp + 0x290]
mov al, 1
mov dword [rsp + 0x64], eax
jmp 0x140008766
mov edx, 7
lea rcx, [0x141332091]
mov r8, rbp
mov r9, r15
call fcn.140009430
test al, 1
je 0x140008533
mov r12, rbx
mov rcx, rbx
lea rdx, [rsp + 0x70]
call fcn.1400128c4
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
test byte [rsp + 0x54], 1
mov r15, r13
je 0x1400084b1
movzx eax, byte [rsp + 0x40]
test eax, eax
je 0x1400086fe
cmp eax, 2
mov r12, rbx
jne 0x1400087de
lea rcx, [rsp + 0x1d0]
mov rdx, r12
mov r8, r15
lea r9, [rsp + 0x30]
call fcn.1400128f6
movzx ebp, word [rsp + 0x1e0]
test bp, bp
jne 0x140007ef3
mov rbx, r12
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0xc0], rax
mov al, 1
mov dword [rsp + 0x54], eax
jmp 0x1400080d8
lea rcx, [rsp + 0x298]
mov rdx, rbx
mov r8, r15
lea r9, [rsp + 0x30]
call fcn.1400128f6
movzx ebp, word [rsp + 0x2a8]
mov al, 1
mov dword [rsp + 0x60], eax
jmp 0x140008766
mov edx, 0xc
lea rcx, [0x141332098]
mov r8, rbp
mov r9, r15
call fcn.140009430
mov ebp, eax
mov rcx, rbx
lea rdx, [rsp + 0x70]
call fcn.1400128c4
test bpl, 1
je 0x14000860f
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
test byte [rsp + 0x50], 1
mov r15, r13
je 0x140008590
movzx eax, byte [rsp + 0x40]
test eax, eax
je 0x140008726
cmp eax, 2
jne 0x1400087de
lea rcx, [rsp + 0x1e8]
mov rdx, rbx
mov r8, r15
lea r9, [rsp + 0x30]
call fcn.1400128f6
movzx ebp, word [rsp + 0x1f8]
test bp, bp
jne 0x140007ef3
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x90], rax
mov al, 1
mov dword [rsp + 0x50], eax
jmp 0x1400080d8
lea rcx, [rsp + 0x2b0]
mov rdx, rbx
mov r8, r15
lea r9, [rsp + 0x30]
call fcn.140013db0
movzx ebp, word [rsp + 0x2c0]
mov al, 1
mov dword [rsp + 0x5c], eax
jmp 0x140008766
cmp byte [rsp + 0x41], 0
je 0x1400087e7
mov r15, r13
lea rcx, [rsp + 0x68]
mov rdx, r13
call fcn.14001406c
movzx ebp, word [rsp + 0x68]
test bp, bp
jne 0x140008766
movzx eax, byte [rsp + 0x6a]
mov ecx, 0x70
bt ecx, eax
jb 0x14000874e
mov ecx, 5
bt ecx, eax
jae 0x14000869e
mov r15, qword [rsp + 0x138]
lea rcx, [rsp + 0x240]
mov rdx, r13
call fcn.1400111e0
movzx ebp, word [rsp + 0x258]
test bp, bp
jne 0x140008696
movzx eax, byte [rsp + 0x250]
or eax, 2
cmp eax, 3
jne 0x14000865d
cmp qword [rsp + 0x138], r15
jne 0x14000865d
xor ebp, ebp
mov r15, r13
jmp 0x140008766
lea rcx, [rsp + 0x220]
mov rdx, r15
call fcn.1400111e0
movzx ebp, word [rsp + 0x238]
test bp, bp
jne 0x140008766
movzx eax, byte [rsp + 0x230]
mov ecx, 0xf900
bt ecx, eax
jb 0x14000869e
jmp 0x1400080d8
lea rcx, [rsp + 0x2c8]
mov rdx, rbx
mov r8, r15
lea r9, [rsp + 0x30]
call fcn.1400128f6
movzx ebp, word [rsp + 0x2d8]
mov al, 1
mov dword [rsp + 0x58], eax
jmp 0x140008766
lea rcx, [rsp + 0x2e0]
mov rdx, rbx
mov r8, r15
lea r9, [rsp + 0x30]
call fcn.1400128f6
movzx ebp, word [rsp + 0x2f0]
mov al, 1
mov dword [rsp + 0x54], eax
jmp 0x140008766
lea rcx, [rsp + 0x2f8]
mov rdx, rbx
mov r8, r15
lea r9, [rsp + 0x30]
call fcn.1400128f6
movzx ebp, word [rsp + 0x308]
mov al, 1
mov dword [rsp + 0x50], eax
jmp 0x140008766
lea rcx, [rsp + 0x260]
mov rdx, r15
call fcn.1400111e0
movzx ebp, word [rsp + 0x278]
test bp, bp
je 0x1400080d8
jmp 0x140007ef3
mov bp, 0x3f
cmp eax, 1
jne 0x140007ef3
lea r15, [rsp + 0x350]
lea rdx, [rsp + 0x110]
mov rcx, r15
call fcn.1400111e0
movzx ebp, word [r15 + 0x18]
test bp, bp
jne 0x140007ef3
xor ebp, ebp
mov rdi, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x98]
mov r14, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x90]
jmp 0x140007f24
mov bp, 0x42
jmp 0x140007ef3
mov bp, 0x43
jmp 0x140007ef3