Function at 0x14019db30
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x468
movaps xmmword [rsp + 0x450], xmm13
movaps xmmword [rsp + 0x440], xmm12
movaps xmmword [rsp + 0x430], xmm11
movaps xmmword [rsp + 0x420], xmm10
movaps xmmword [rsp + 0x410], xmm9
movaps xmmword [rsp + 0x400], xmm8
movaps xmmword [rsp + 0x3f0], xmm7
movaps xmmword [rsp + 0x3e0], xmm6
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0x3d8], rax
xorps xmm0, xmm0
movss xmm1, dword [r8 + 0xc]
mulss xmm1, xmm0
mulss xmm1, dword [r8 + 0x10]
mulss xmm1, dword [r8 + 0x14]
ucomiss xmm1, xmm1
jp 0x14019f3b1
mov r14, r8
mulss xmm0, dword [r8]
mulss xmm0, dword [r8 + 4]
mulss xmm0, dword [r8 + 8]
ucomiss xmm0, xmm0
jp 0x14019f3b1
mov eax, dword [r14 + 0x18]
not eax
test eax, 0x7f800000
je 0x14019f3b1
mov r13, rdx
mov rsi, rcx
mov rax, qword [rcx + 0x110]
mov qword [rsp + 0x2e0], rax
movups xmm0, xmmword [rcx + 0xf0]
movups xmm1, xmmword [rcx + 0x100]
movaps xmmword [rsp + 0x2d0], xmm1
movaps xmmword [rsp + 0x2c0], xmm0
call fcn.140024370
movss xmm9, dword [rsi + 0x110]
movups xmm11, xmmword [rsi + 0xf0]
movups xmm10, xmmword [rsi + 0x100]
movss xmm0, dword [rax + 0x20]
movups xmm1, xmmword [rax]
movups xmm2, xmmword [rax + 0x10]
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xff
movaps xmm4, xmm1
shufps xmm4, xmm1, 0x55
movaps xmm5, xmm1
unpckhpd xmm5, xmm1
movss dword [rsi + 0x30], xmm1
movss dword [rsi + 0x34], xmm3
mov dword [rsi + 0x38], 0
movaps xmm3, xmm2
unpckhpd xmm3, xmm2
movss dword [rsi + 0x3c], xmm3
movss dword [rsi + 0x40], xmm4
movss dword [rsi + 0x44], xmm2
mov dword [rsi + 0x48], 0
movaps xmm3, xmm2
shufps xmm3, xmm2, 0xff
movss dword [rsi + 0x4c], xmm3
movaps xmm12, xmmword [0x14059a0f0]
movups xmmword [rsi + 0x50], xmm12
movss dword [rsi + 0x60], xmm5
movaps xmm3, xmm2
shufps xmm3, xmm2, 0x55
movss dword [rsi + 0x64], xmm3
mov dword [rsi + 0x68], 0
movss dword [rsi + 0x6c], xmm0
movups xmmword [rsi + 0xf0], xmm1
movups xmmword [rsi + 0x100], xmm2
movss dword [rsi + 0x110], xmm0
mov dword [rsi + 0x114], 0x80
mov byte [rsi + 0x118], 1
mov qword [rsp + 0x1e0], r13
lea rax, [rsp + 0x2c0]
mov qword [rsp + 0x1e8], rax
mov eax, dword [0x1406aa388]
mov ecx, dword [0x1406affd8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x30]
jg 0x14019f6ac
lea r12, [rsp + 0x1f0]
lea r8, [0x1406aa348]
mov bpl, 1
mov rcx, r12
mov rdx, r13
mov r9b, 1
call fcn.140087460
movsd xmm0, qword [r14]
andps xmm0, xmmword [0x140599bf0]
cmpnleps xmm0, xmmword [0x1405a9000]
unpcklps xmm0, xmm0
movmskpd eax, xmm0
test eax, eax
setne bl
mov r15d, dword [r14 + 0x24]
test r15b, 8
jne 0x14019dd79
mov dword [rsp + 0x50], 0
jmp 0x14019dd87
mov rcx, r13
call fcn.14008b7f0
xor al, 1
mov dword [rsp + 0x50], eax
lea rax, [r14 + 0xc]
test bl, bl
jne 0x14019dd9c
movzx ebp, byte [r13 + 0xe]
and bpl, 4
shr bpl, 2
mov edx, dword [r14 + 0x24]
mov ecx, dword [r14 + 8]
mov dword [rsp + 0x108], ecx
mov rcx, qword [r14]
mov qword [rsp + 0x100], rcx
mov ecx, dword [rax + 8]
mov dword [rsp + 0xf8], ecx
mov rax, qword [rax]
mov qword [rsp + 0xf0], rax
mov dword [rsp + 0x54], edx
test dl, 4
jne 0x14019ddf2
lea rcx, [rsp + 0x2c0]
lea rdx, [rsp + 0xf0]
mov r8, rdx
mov r9d, 1
call fcn.140021da0
and r15d, 1
movss xmm6, dword [r14 + 0x18]
cmp dword [r14 + 0x1c], 0x1000000
jb 0x14019e3e6
mov eax, ebp
xor al, 1
or al, byte [rsp + 0x50]
jne 0x14019df45
mov byte [rsp + 0x20], r15b
lea rcx, [rsp + 0x2f0]
lea r8, [rsp + 0x2c0]
lea r9, [rsp + 0x100]
mov rdx, r13
call fcn.14029cad0
cmp qword [rsp + 0x2f0], 0
je 0x14019df45
mov dword [rsp + 0x4c], r15d
mov qword [rsp + 0x58], r13
lea rbx, [rsp + 0x348]
mov rcx, rbx
call fcn.14000eda0
mov edx, dword [r14 + 0x1c]
lea rcx, [rsp + 0x120]
mov r8d, 0xd
call fcn.14009efe0
mov r15, qword [rsp + 0x120]
lea r12, [rsp + 0xe0]
mov rcx, r12
call fcn.14029cf40
lea r13, [rsp + 0xe8]
mov rcx, r15
mov rdx, r13
mov r8, r12
call fcn.14009f200
mov rcx, rbx
mov rdx, r13
call fcn.14000f3b0
mov rcx, qword [rsp + 0x120]
test rcx, rcx
je 0x14019decf
lock dec dword [rcx + 8]
jne 0x14019decf
mov rax, qword [rcx]
call qword [rax + 8]
lea rbx, [rsp + 0xd8]
mov rcx, rbx
mov edx, 0xd
call fcn.140088be0
mov rdx, qword [rsp + 0x2f0]
mov rax, qword [rsi]
mov byte [rsp + 0x20], 1
lea r15, [rsp + 0x348]
mov rcx, rsi
mov r8, rbx
mov r9, r15
call qword [rax + 0x120]
mov rcx, r15
call fcn.14000f060
mov rcx, qword [rsp + 0x2f0]
mov dil, 1
test rcx, rcx
lea r12, [rsp + 0x1f0]
je 0x14019e8db
lock dec dword [rcx]
mov r13, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x4c]
jne 0x14019df47
call fcn.140172fb0
jmp 0x14019df47
xor edi, edi
test dil, dil
setne al
or al, byte [rsp + 0x50]
jne 0x14019e3dd
movss xmm0, dword [rsp + 0x108]
movss dword [rsp + 0x90], xmm0
mov byte [rsp + 0x94], r15b
mov eax, dword [rsp + 0x2e4]
mov ecx, eax
and ecx, 0xc0
cmp ecx, 0x80
jne 0x14019df9f
lea rcx, [rsp + 0x2c0]
call fcn.14001fff0
movzx eax, al
mov dword [rsp + 0x2e4], eax
test al, 8
mov dword [rsp + 0x4c], r15d
je 0x14019dfb0
xorps xmm0, xmm0
xorps xmm1, xmm1
jmp 0x14019dfc2
movss xmm0, dword [rsp + 0x2c8]
movss xmm1, dword [rsp + 0x2d4]
movss dword [rsp + 0x98], xmm0
movss dword [rsp + 0x9c], xmm1
mov edi, dword [r14 + 0x1c]
lea rax, [0x1405b6e90]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], rsi
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x120], rax
xorps xmm7, xmm7
movups xmmword [rsp + 0x128], xmm7
mov qword [rsp + 0x138], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x350], 0
mov dword [rsp + 0x348], 0
mov rcx, r12
call fcn.14016b1f0
mov r15d, eax
shl r15d, 2
test r15d, r15d
mov qword [rsp + 0x58], r13
js 0x14019e08f
mov ebx, r15d
add r15d, 0x18
cmp r15d, 0x81
jl 0x14019e171
mov ecx, r15d
mov edx, 1
call fcn.140044090
mov r12, rax
jmp 0x14019e183
mov rbx, qword [rsp + 0x1e0]
mov r15, qword [rsp + 0x1e8]
movss xmm0, dword [rsp + 0x90]
movlps qword [rsp + 0x70], xmm7
movss dword [rsp + 0x78], xmm0
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0x310], rax
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movaps xmmword [rsp + 0x300], xmm1
movaps xmmword [rsp + 0x2f0], xmm0
mov eax, dword [r15 + 0x24]
mov ecx, eax
and ecx, 0xc0
cmp ecx, 0x80
jne 0x14019e0fb
mov rcx, r15
call fcn.14001fff0
movzx eax, al
mov dword [r15 + 0x24], eax
test al, 8
jne 0x14019e120
mov dword [rsp + 0x2f8], 0
mov dword [rsp + 0x314], 0x80
mov dword [rsp + 0x304], 0
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x130], rax
movzx eax, byte [rsp + 0x94]
mov byte [rsp + 0x20], al
lea rcx, [rsp + 0x148]
lea r8, [rsp + 0x2f0]
lea r9, [rsp + 0x70]
mov rdx, rbx
call fcn.14029cad0
mov rbx, qword [rsp + 0x148]
test rbx, rbx
jne 0x14019e20d
xor edi, edi
jmp 0x14019ec0c
xor r12d, r12d
test r15d, r15d
lea rax, [rsp + 0x358]
cmovg r12, rax
mov qword [rsp + 0x350], r12
mov dword [rsp + 0x348], r15d
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov qword [r12 + 0x10], 0
mov rdx, qword [rsp + 0x350]
add rdx, 0x18
lea rcx, [rsp + 0x1f0]
call fcn.14016b2c0
lea rdx, [0x1406ab668]
movabs r8, 0x2020776f64616873
mov rcx, r12
mov r9, rbx
call fcn.140029660
lea rdx, [0x14019f780]
lea r8, [rsp + 0x120]
mov rcx, r12
call fcn.14002a200
mov rbx, qword [rsp + 0x128]
test rbx, rbx
je 0x14019e8ea
mov qword [rsp + 0x128], 0
lea r15, [rsp + 0x2f0]
mov rcx, r15
call fcn.14000eda0
lea rcx, [rsp + 0x70]
mov edx, edi
mov r8d, 0xd
call fcn.14009efe0
mov r12, qword [rsp + 0x70]
lea r13, [rsp + 0x118]
mov rcx, r13
call fcn.14029cf40
lea rdi, [rsp + 0x148]
mov rcx, r12
mov rdx, rdi
mov r8, r13
call fcn.14009f200
mov rcx, r15
mov rdx, rdi
call fcn.14000f3b0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14019e27b
lock dec dword [rcx + 8]
jne 0x14019e27b
mov rax, qword [rcx]
call qword [rax + 8]
mov r15, qword [rsp + 0x1e8]
mov eax, dword [r15 + 0x24]
mov ecx, eax
and ecx, 0xc0
cmp ecx, 0x80
jne 0x14019e2a6
mov rcx, r15
call fcn.14001fff0
movzx eax, al
mov dword [r15 + 0x24], eax
movss xmm0, dword [rsp + 0x130]
movss xmm1, dword [rsp + 0x134]
shr al, 3
and al, 1
mov byte [rsp + 0x154], al
movss dword [rsp + 0x110], xmm1
movss dword [rsp + 0x88], xmm0
mov dword [rsp + 0x158], 0xd
mov qword [rsp + 0x70], rbx
mov rcx, qword [rsp + 0x1d8]
test rcx, rcx
mov r13, qword [rsp + 0x58]
je 0x14019f712
mov rax, qword [rcx]
lea rdx, [rsp + 0x154]
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x110]
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x88]
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x158]
lea rdi, [rsp + 0x2f0]
mov r9, rdi
call qword [rax + 0x10]
mov rcx, rdi
call fcn.14000f060
lock dec dword [rbx]
mov dil, 1
mov r15d, dword [rsp + 0x4c]
jne 0x14019e35e
mov rcx, rbx
call fcn.140172fb0
cmp dword [rsp + 0x348], 0x81
jl 0x14019e378
mov rcx, qword [rsp + 0x350]
call fcn.14000b650
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x14019e391
lock dec dword [rcx + 8]
jne 0x14019e391
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x128]
test rcx, rcx
lea r12, [rsp + 0x1f0]
je 0x14019e3b0
lock dec dword [rcx]
jne 0x14019e3b0
call fcn.140172fb0
mov rcx, qword [rsp + 0x1d8]
test rcx, rcx
je 0x14019e3dd
lea rax, [rsp + 0x1a0]
cmp rcx, rax
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
mov qword [rsp + 0x1d8], 0
test dil, dil
je 0x14019e6a9
cmp dword [r14 + 0x20], 0x1000000
jb 0x14019f24a
xor bpl, 1
or bpl, byte [rsp + 0x50]
jne 0x14019e545
mov eax, dword [rsp + 0x54]
and eax, 4
shr eax, 2
mov byte [rsp + 0x30], r15b
movss dword [rsp + 0x28], xmm6
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0x20], rcx
mov byte [rsp + 0x38], al
lea rcx, [rsp + 0x2f0]
lea r8, [rsp + 0x2c0]
lea r9, [rsp + 0x100]
mov rdx, r13
call fcn.14029cc90
cmp qword [rsp + 0x2f0], 0
je 0x14019e545
mov dword [rsp + 0x4c], r15d
mov rbp, r12
lea rdi, [rsp + 0x348]
mov rcx, rdi
call fcn.14000eda0
mov edx, dword [r14 + 0x20]
lea rcx, [rsp + 0x120]
mov r8d, 0xd
call fcn.14009efe0
mov rbx, qword [rsp + 0x120]
lea r15, [rsp + 0xc0]
mov rcx, r15
call fcn.14029cf40
lea r12, [rsp + 0xc8]
mov rcx, rbx
mov rdx, r12
mov r8, r15
call fcn.14009f200
mov rcx, rdi
mov rdx, r12
call fcn.14000f3b0
mov rcx, qword [rsp + 0x120]
test rcx, rcx
je 0x14019e4d9
lock dec dword [rcx + 8]
jne 0x14019e4d9
mov rax, qword [rcx]
call qword [rax + 8]
lea rdi, [rsp + 0xb8]
mov rcx, rdi
mov edx, 0xd
call fcn.140088be0
mov rdx, qword [rsp + 0x2f0]
mov rax, qword [rsi]
mov byte [rsp + 0x20], 1
lea rbx, [rsp + 0x348]
mov rcx, rsi
mov r8, rdi
mov r9, rbx
call qword [rax + 0x120]
mov rcx, rbx
call fcn.14000f060
mov rcx, qword [rsp + 0x2f0]
mov dil, 1
test rcx, rcx
je 0x14019e905
lock dec dword [rcx]
mov r12, rbp
mov r15d, dword [rsp + 0x4c]
jne 0x14019e547
call fcn.140172fb0
jmp 0x14019e547
xor edi, edi
test dil, dil
setne al
mov ecx, dword [rsp + 0x50]
or cl, al
jne 0x14019f015
movss xmm0, dword [rsp + 0x108]
movss dword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xa4], rax
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0xac], eax
movss dword [rsp + 0xb0], xmm6
mov rcx, r13
call fcn.14008be10
movss xmm0, dword [rax + 4]
movss xmm1, dword [rax + 0xc]
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm1
addsd xmm1, xmm0
movsd xmm7, qword [0x1406908e8]
mulsd xmm1, xmm7
cvtsd2ss xmm8, xmm1
mov rcx, r13
call fcn.14008be10
movss xmm0, dword [rax]
movss xmm1, dword [rax + 8]
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm1
addsd xmm1, xmm0
mulsd xmm1, xmm7
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movd eax, xmm0
movd ecx, xmm8
shl rcx, 0x20
or rax, rcx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x98], rax
lea rcx, [rsp + 0x2c0]
lea rdx, [rsp + 0x88]
mov r8, rdx
mov r9d, 1
call fcn.140021da0
test byte [r14 + 0x24], 4
movss xmm0, dword [rsp + 0xf4]
movss xmm1, dword [rsp + 0xf8]
jne 0x14019e7d4
subss xmm0, dword [rsp + 0x8c]
movss xmm2, dword [rsp + 0xf0]
subss xmm2, dword [rsp + 0x88]
movss xmm3, dword [rsp + 0x108]
movaps xmm4, xmm1
subss xmm4, xmm3
unpcklps xmm1, xmm3
shufps xmm4, xmm4, 0
divps xmm1, xmm4
movaps xmm7, xmmword [0x1405a25b0]
minps xmm7, xmm1
movss xmm1, dword [0x1406908dc]
maxps xmm7, xmm1
movaps xmm1, xmm7
shufps xmm1, xmm7, 0x55
xorps xmm1, xmmword [0x140599730]
mulss xmm0, xmm1
mulss xmm1, xmm2
jmp 0x14019e819
lea rdi, [rsp + 0x2f0]
mov rcx, rdi
call fcn.14008afc0
lea rdx, [rsp + 0x2c0]
mov rcx, r13
mov r8, rdi
mov r9d, 1
call fcn.14008ff40
or byte [rsp + 0x2fe], 4
movss xmm0, dword [rsp + 0x108]
mulss xmm0, dword [0x1405a2594]
movss xmm1, dword [0x1405a2598]
mulss xmm1, xmm0
movss xmm7, dword [0x1405a259c]
minss xmm7, xmm1
xorps xmm1, xmm1
maxss xmm1, xmm0
addss xmm1, dword [0x1406908dc]
movss xmm0, dword [0x14059b040]
movaps xmm8, xmm7
mulss xmm8, xmm0
mulss xmm8, xmm1
subss xmm7, xmm8
mulss xmm7, xmm0
mov ebx, r15d
lea r15, [rsp + 0x348]
mov rcx, r15
call fcn.14000eda0
mov edx, dword [r14 + 0x1c]
mov rcx, r15
call fcn.14000f5f0
mov rcx, r15
movaps xmm1, xmm7
call fcn.14000f810
mov rcx, r15
mov dl, 2
call fcn.14000f5b0
movaps xmm0, xmm8
call fcn.14029cf90
lea rdi, [rsp + 0xd0]
mov rcx, rdi
xor edx, edx
movaps xmm2, xmm0
xor r9d, r9d
call fcn.1402a1c70
mov rcx, r15
mov rdx, rdi
call fcn.14000f450
mov rax, qword [rsi]
mov rcx, rsi
lea rdi, [rsp + 0x2f0]
mov rdx, rdi
mov r8, r15
xor r9d, r9d
call qword [rax + 0x108]
mov rcx, r15
mov r15d, ebx
call fcn.14000f060
mov rcx, rdi
call fcn.14008b0b0
cmp dword [r14 + 0x20], 0x1000000
jae 0x14019e3f4
jmp 0x14019f24a
movss xmm2, dword [rsp + 0x108]
movaps xmm3, xmm2
divss xmm3, xmm1
movss xmm4, dword [0x1405a25a0]
minss xmm4, xmm3
xorps xmm1, xmm1
maxss xmm4, xmm1
xorps xmm4, xmmword [0x140599730]
movaps xmm7, xmmword [0x140690910]
unpcklps xmm7, xmm2
mulss xmm0, xmm4
movss xmm1, dword [rsp + 0xf0]
mulss xmm1, xmm4
movd eax, xmm1
movd ecx, xmm0
shl rcx, 0x20
or rax, rcx
mov qword [rsp + 0x90], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
mov rcx, r13
call fcn.14008be10
lea rcx, [rsp + 0x2c0]
lea rdx, [rsp + 0x70]
mov r8, rax
mov r9d, 1
call fcn.140023470
test r15d, r15d
jne 0x14019e8c0
movss xmm0, dword [rsp + 0x90]
movaps xmm1, xmmword [0x140599730]
xorps xmm1, xmm0
maxss xmm1, xmm0
movss xmm2, dword [rsp + 0x78]
subss xmm2, dword [rsp + 0x70]
mulss xmm2, dword [0x14059b040]
ucomiss xmm1, xmm2
ja 0x14019e8c0
movss xmm1, dword [rsp + 0x94]
movaps xmm2, xmmword [0x140599730]
xorps xmm2, xmm1
maxss xmm2, xmm1
movss xmm3, dword [rsp + 0x7c]
subss xmm3, dword [rsp + 0x74]
mulss xmm3, dword [0x14059b040]
ucomiss xmm2, xmm3
jbe 0x14019e912
test byte [rsp + 0x54], 4
je 0x14019ec6e
mov dword [rsp + 0xb4], 4
jmp 0x14019ec79
mov r13, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x4c]
jmp 0x14019df47
mov r13, qword [rsp + 0x138]
test r13, r13
je 0x14019e92d
mov qword [rsp + 0x138], 0
jmp 0x14019e952
mov r12, rbp
mov r15d, dword [rsp + 0x4c]
jmp 0x14019e547
test byte [rsp + 0x54], 4
je 0x14019ec27
mov dword [rsp + 0xb4], 3
jmp 0x14019ec79
mov ecx, 0x2a0
call fcn.140560580
mov r13, rax
mov r8d, 0x2a0
mov rcx, rax
xor edx, edx
call fcn.140562a70
mov rcx, r13
call fcn.14019f920
mov r15, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x1e8]
movss xmm0, dword [rsp + 0x90]
xorps xmm1, xmm1
movlps qword [rsp + 0x70], xmm1
movss dword [rsp + 0x78], xmm0
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x310], rax
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0x300], xmm1
movaps xmmword [rsp + 0x2f0], xmm0
mov eax, dword [rbx + 0x24]
mov ecx, eax
and ecx, 0xc0
cmp ecx, 0x80
jne 0x14019e9bd
mov rcx, rbx
call fcn.14001fff0
movzx eax, al
mov dword [rbx + 0x24], eax
test al, 8
jne 0x14019e9e2
mov dword [rsp + 0x2f8], 0
mov dword [rsp + 0x314], 0x80
mov dword [rsp + 0x304], 0
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x130], rax
movzx eax, byte [rsp + 0x94]
mov byte [rsp + 0x20], al
lea rcx, [rsp + 0x148]
lea r8, [rsp + 0x2f0]
lea r9, [rsp + 0x70]
mov rdx, r15
call fcn.14029cad0
cmp qword [rsp + 0x148], 0
je 0x14019ebf4
mov dword [rsp + 0x64], edi
lea rdi, [r13 + 0x10]
mov r15d, dword [r13 + 0x110]
cmp r15d, 3
jg 0x14019ea4c
lea eax, [r15 + 1]
mov dword [r13 + 0x110], eax
jmp 0x14019eaab
mov r15d, dword [r13 + 0x120]
mov eax, dword [r13 + 0x124]
movzx ecx, r15w
imul ecx, ecx, 0x7689
shr r15, 0x10
add r15d, ecx
mov dword [r13 + 0x120], r15d
movzx ecx, ax
imul ecx, ecx, 0x4650
shr rax, 0x10
add ecx, eax
mov dword [r13 + 0x124], ecx
shr r15d, 0x10
add r15d, eax
and r15d, 3
mov rax, r15
shl rax, 6
mov rcx, qword [rdi + rax + 0x10]
call fcn.140172ab0
sub qword [r13 + 0x118], rax
lea rcx, [rsp + 0x148]
movsxd r15, r15d
shl r15, 6
movups xmm0, xmmword [rsp + 0x90]
movups xmmword [rdi + r15], xmm0
lea rax, [rdi + r15]
add rax, 0x10
cmp rax, rcx
je 0x14019eaf9
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x14019eae4
lock inc dword [rdx]
mov rcx, qword [rax]
mov qword [rax], rdx
test rcx, rcx
je 0x14019eaf9
lock dec dword [rcx]
jne 0x14019eaf9
call fcn.140172fb0
mov rax, qword [rbx + 0x20]
mov qword [rdi + r15 + 0x38], rax
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + r15 + 0x28], xmm1
movups xmmword [rdi + r15 + 0x18], xmm0
mov rcx, qword [rsp + 0x148]
call fcn.140172ab0
add qword [r13 + 0x118], rax
mov rbx, qword [rsp + 0x148]
test rbx, rbx
je 0x14019ebf4
mov ecx, 0x28
call fcn.140560580
mov rdi, rax
lea rax, [0x1405b6e30]
mov qword [rdi], rax
mov qword [rdi + 0x20], r13
mov eax, dword [r12]
shl eax, 2
movsxd rcx, eax
call fcn.14056080c
mov qword [rdi + 0x18], rax
mov ecx, dword [r12]
shl ecx, 2
movsxd r8, ecx
mov rcx, rax
mov rdx, r12
call fcn.140562340
mov ecx, 0x20
call fcn.140560580
mov r13, rax
mov rcx, rax
call fcn.140027310
lea rax, [0x1405b6e70]
mov qword [r13], rax
mov eax, dword [r12]
shl eax, 2
movsxd r15, eax
mov rcx, r15
call fcn.14056080c
mov qword [r13 + 0x18], rax
mov rcx, rax
mov rdx, r12
mov r8, r15
call fcn.140562340
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rax]
mov qword [rsp + 0x2f0], r13
lea rdx, [rsp + 0x2f0]
call fcn.1401948e0
mov rcx, rdi
xor edx, edx
call fcn.14002a2e0
mov edi, dword [rsp + 0x64]
jmp 0x14019e20d
lock dec dword [r13 + 8]
jne 0x14019ec05
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 8]
xor edi, edi
mov r13, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x4c]
cmp dword [rsp + 0x348], 0x81
jge 0x14019e36b
jmp 0x14019e378
movaps xmm8, xmm7
shufps xmm8, xmm7, 0x55
mulss xmm8, xmm6
call fcn.1400b75a0
mulss xmm0, xmm7
addss xmm0, xmm7
ucomiss xmm8, xmm0
jbe 0x14019ec55
mov dword [rsp + 0xb4], 2
jmp 0x14019ec79
mov rcx, r13
call fcn.14008b7f0
test al, al
je 0x14019ec6e
mov dword [rsp + 0xb4], 1
jmp 0x14019ec79
mov dword [rsp + 0xb4], 0
movups xmm0, xmmword [rsp + 0x2c8]
movsd xmm1, qword [rsp + 0x90]
movss xmm2, dword [rsp + 0x2d4]
unpcklps xmm0, xmm2
addps xmm0, xmm1
movlps qword [rsp + 0x90], xmm0
mov r15d, dword [r14 + 0x20]
lea rax, [0x1405b6e90]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], rsi
lea rax, [rsp + 0x160]
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x120], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x128], xmm0
mov qword [rsp + 0x138], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x350], 0
mov dword [rsp + 0x348], 0
mov rbp, r12
mov rcx, r12
call fcn.14016b1f0
mov r12d, eax
shl r12d, 2
test r12d, r12d
mov qword [rsp + 0x58], r13
js 0x14019ed5d
mov dword [rsp + 0x50], r15d
mov ebx, r12d
add r12d, 0x18
cmp r12d, 0x81
jl 0x14019eda5
mov ecx, r12d
mov edx, 1
call fcn.140044090
mov r15, rax
jmp 0x14019edb7
lea rax, [rsp + 0x130]
mov r8, qword [rsp + 0x1e0]
mov r9, qword [rsp + 0x1e8]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x2f0]
call fcn.1401a0250
mov rbx, qword [rsp + 0x2f0]
test rbx, rbx
jne 0x14019ee3f
jmp 0x14019f694
xor r15d, r15d
test r12d, r12d
lea rax, [rsp + 0x358]
cmovg r15, rax
mov qword [rsp + 0x350], r15
mov dword [rsp + 0x348], r12d
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
mov rdx, qword [rsp + 0x350]
add rdx, 0x18
mov rcx, rbp
call fcn.14016b2c0
lea rdx, [0x1406ab668]
movabs r8, 0x2020776f64616873
mov rcx, r15
mov r9, rbx
call fcn.140029660
lea rdx, [0x14019ff80]
lea r8, [rsp + 0x120]
mov rcx, r15
call fcn.14002a200
mov rbx, qword [rsp + 0x128]
test rbx, rbx
je 0x14019f41b
mov qword [rsp + 0x128], 0
mov r15d, dword [rsp + 0x50]
lea rdi, [rsp + 0x2f0]
mov rcx, rdi
call fcn.14000eda0
lea rcx, [rsp + 0x148]
mov edx, r15d
mov r8d, 0xd
call fcn.14009efe0
mov r15, qword [rsp + 0x148]
lea r12, [rsp + 0x110]
mov rcx, r12
call fcn.14029cf40
lea r13, [rsp + 0x118]
mov rcx, r15
mov rdx, r13
mov r8, r12
call fcn.14009f200
mov rcx, rdi
mov rdx, r13
call fcn.14000f3b0
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x14019eeb7
lock dec dword [rcx + 8]
jne 0x14019eeb7
mov rax, qword [rcx]
call qword [rax + 8]
mov r15, qword [rsp + 0x1e8]
mov eax, dword [r15 + 0x24]
mov ecx, eax
and ecx, 0xc0
cmp ecx, 0x80
jne 0x14019eee2
mov rcx, r15
call fcn.14001fff0
movzx eax, al
mov dword [r15 + 0x24], eax
movss xmm0, dword [rsp + 0x130]
movss xmm1, dword [rsp + 0x134]
shr al, 3
and al, 1
mov byte [rsp + 0x15f], al
movss dword [rsp + 0x158], xmm1
movss dword [rsp + 0x154], xmm0
mov dword [rsp + 0x150], 0xd
mov qword [rsp + 0x148], rbx
mov rcx, qword [rsp + 0x198]
test rcx, rcx
je 0x14019f712
mov rax, qword [rcx]
lea rdx, [rsp + 0x15f]
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x158]
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x154]
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x148]
lea r8, [rsp + 0x150]
lea rdi, [rsp + 0x2f0]
mov r9, rdi
call qword [rax + 0x10]
mov rcx, rdi
call fcn.14000f060
lock dec dword [rbx]
mov dil, 1
jne 0x14019ef96
mov rcx, rbx
call fcn.140172fb0
cmp dword [rsp + 0x348], 0x81
jl 0x14019efb0
mov rcx, qword [rsp + 0x350]
call fcn.14000b650
mov rcx, qword [rsp + 0x138]
test rcx, rcx
mov r13, qword [rsp + 0x58]
je 0x14019efce
lock dec dword [rcx + 8]
jne 0x14019efce
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x128]
test rcx, rcx
mov r12, rbp
je 0x14019efe8
lock dec dword [rcx]
jne 0x14019efe8
call fcn.140172fb0
mov rcx, qword [rsp + 0x198]
test rcx, rcx
je 0x14019f015
lea rax, [rsp + 0x160]
cmp rcx, rax
setne dl
mov rax, qword [rcx]
call qword [rax + 0x20]
mov qword [rsp + 0x198], 0
test dil, dil
jne 0x14019f24a
mov edi, dword [rsp + 0x54]
and edi, 4
shr edi, 2
movss xmm0, dword [0x1406908dc]
movaps xmmword [rsp + 0x2f0], xmm0
movaps xmmword [rsp + 0x300], xmm0
movabs rax, 0x103f800000
mov qword [rsp + 0x310], rax
mov rcx, r13
call fcn.14008be10
lea rcx, [rsp + 0x120]
mov qword [rsp + 0x38], rcx
lea rcx, [rsp + 0x2f0]
mov qword [rsp + 0x30], rcx
mov byte [rsp + 0x28], dil
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xf0]
lea r8, [rsp + 0x2c0]
lea r9, [rsp + 0x100]
movaps xmm1, xmm6
call fcn.140298800
test al, al
je 0x14019f24a
movss xmm6, dword [rsi + 0x110]
movss xmm0, dword [rsp + 0x310]
mov dword [rsi + 0x38], 0
mov dword [rsi + 0x48], 0
movups xmmword [rsi + 0x50], xmm12
mov dword [rsi + 0x68], 0
movss dword [rsi + 0x6c], xmm0
movss dword [rsi + 0x110], xmm0
mov dword [rsi + 0x114], 0x80
mov byte [rsi + 0x118], 1
movaps xmm0, xmmword [rsp + 0x2f0]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xec
movlps qword [rsi + 0x30], xmm1
movups xmm7, xmmword [rsi + 0xf0]
movups xmm8, xmmword [rsi + 0x100]
movups xmmword [rsi + 0xf0], xmm0
movaps xmm13, xmm7
shufps xmm13, xmm7, 0xff
movaps xmm1, xmmword [rsp + 0x300]
movaps xmm2, xmm1
shufps xmm2, xmm0, 0xe5
shufps xmm2, xmm0, 0xe2
shufps xmm0, xmm1, 0xe5
shufps xmm0, xmm1, 0xe2
movlps qword [rsi + 0x3c], xmm0
movss dword [rsi + 0x44], xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xff
movss dword [rsi + 0x4c], xmm0
movlps qword [rsi + 0x60], xmm2
movups xmmword [rsi + 0x100], xmm1
lea rbx, [rsp + 0x348]
mov rcx, rbx
call fcn.14000eda0
mov edx, dword [r14 + 0x20]
mov rcx, rbx
call fcn.14000f5f0
movss xmm0, dword [rsp + 0x120]
call fcn.14029cf90
lea rdi, [rsp + 0x68]
mov rcx, rdi
xor edx, edx
movaps xmm2, xmm0
xor r9d, r9d
call fcn.1402a1c70
mov rcx, rbx
mov rdx, rdi
call fcn.14000f450
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, r13
mov r8, rbx
xor r9d, r9d
call qword [rax + 0x108]
mov rcx, rbx
call fcn.14000f060
movss dword [rsi + 0x30], xmm7
movss dword [rsi + 0x34], xmm13
mov dword [rsi + 0x38], 0
movaps xmm0, xmm7
shufps xmm0, xmm8, 0xe5
shufps xmm0, xmm8, 0xe2
movlps qword [rsi + 0x3c], xmm0
movss dword [rsi + 0x44], xmm8
mov dword [rsi + 0x48], 0
movaps xmm0, xmm8
shufps xmm0, xmm8, 0xff
movss dword [rsi + 0x4c], xmm0
movups xmmword [rsi + 0x50], xmm12
movaps xmm0, xmm8
shufps xmm0, xmm7, 0xe5
shufps xmm0, xmm7, 0xe2
movlps qword [rsi + 0x60], xmm0
mov dword [rsi + 0x68], 0
movss dword [rsi + 0x6c], xmm6
movups xmmword [rsi + 0xf0], xmm7
movups xmmword [rsi + 0x100], xmm8
movss dword [rsi + 0x110], xmm6
mov dword [rsi + 0x114], 0x80
mov byte [rsi + 0x118], 1
mov eax, dword [rsp + 0x290]
test eax, eax
je 0x14019f27e
cmp eax, 9
jl 0x14019f267
mov rcx, qword [rsp + 0x298]
call fcn.14000b650
mov qword [rsp + 0x298], 0
mov dword [rsp + 0x290], 0
cmp byte [rsp + 0x288], 0
je 0x14019f295
lea rcx, [rsp + 0x278]
call fcn.14008b0b0
mov eax, dword [rsp + 0x250]
test eax, eax
je 0x14019f2c9
cmp eax, 5
jl 0x14019f2b2
mov rcx, qword [rsp + 0x258]
call fcn.14000b650
mov qword [rsp + 0x258], 0
mov dword [rsp + 0x250], 0
mov rcx, qword [rsp + 0x240]
test rcx, rcx
je 0x14019f2e2
lock dec dword [rcx + 8]
jne 0x14019f2e2
mov rax, qword [rcx]
call qword [rax + 8]
cmp byte [rsp + 0x228], 4
jne 0x14019f307
movzx eax, byte [rsp + 0x1fe]
shr al, 1
and al, 1
mov byte [rsp + 0x22b], al
mov rcx, r12
call fcn.14008b0b0
movss dword [rsi + 0x30], xmm11
movaps xmm0, xmm11
shufps xmm0, xmm11, 0xff
movss dword [rsi + 0x34], xmm0
mov dword [rsi + 0x38], 0
movaps xmm0, xmm10
unpckhpd xmm0, xmm10
movss dword [rsi + 0x3c], xmm0
movaps xmm0, xmm11
shufps xmm0, xmm11, 0x55
movss dword [rsi + 0x40], xmm0
movss dword [rsi + 0x44], xmm10
mov dword [rsi + 0x48], 0
movaps xmm0, xmm10
shufps xmm0, xmm10, 0xff
movss dword [rsi + 0x4c], xmm0
movups xmmword [rsi + 0x50], xmm12
movaps xmm0, xmm11
unpckhpd xmm0, xmm11
movss dword [rsi + 0x60], xmm0
movaps xmm0, xmm10
shufps xmm0, xmm10, 0x55
movss dword [rsi + 0x64], xmm0
mov dword [rsi + 0x68], 0
movss dword [rsi + 0x6c], xmm9
movups xmmword [rsi + 0xf0], xmm11
movups xmmword [rsi + 0x100], xmm10
movss dword [rsi + 0x110], xmm9
mov dword [rsi + 0x114], 0x80
mov byte [rsi + 0x118], 1
mov rcx, qword [rsp + 0x3d8]
xor rcx, rsp
call fcn.1405602f0
movaps xmm6, xmmword [rsp + 0x3e0]
movaps xmm7, xmmword [rsp + 0x3f0]
movaps xmm8, xmmword [rsp + 0x400]
movaps xmm9, xmmword [rsp + 0x410]
movaps xmm10, xmmword [rsp + 0x420]
movaps xmm11, xmmword [rsp + 0x430]
movaps xmm12, xmmword [rsp + 0x440]
movaps xmm13, xmmword [rsp + 0x450]
add rsp, 0x468
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r12, qword [rsp + 0x138]
test r12, r12
je 0x14019f436
mov qword [rsp + 0x138], 0
jmp 0x14019f45b
mov ecx, 0x2a0
call fcn.140560580
mov r12, rax
mov r8d, 0x2a0
mov rcx, rax
xor edx, edx
call fcn.140562a70
mov rcx, r12
call fcn.14019f920
lea rax, [rsp + 0x130]
mov r8, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x1e8]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x2f0]
mov r9, rbx
call fcn.1401a0250
cmp qword [rsp + 0x2f0], 0
je 0x14019f682
lea rdi, [r12 + 0x128]
mov r13d, dword [r12 + 0x288]
cmp r13d, 3
jg 0x14019f4c3
lea eax, [r13 + 1]
mov dword [r12 + 0x288], eax
jmp 0x14019f524
mov r13d, dword [r12 + 0x298]
mov eax, dword [r12 + 0x29c]
movzx ecx, r13w
imul ecx, ecx, 0x7689
shr r13, 0x10
add r13d, ecx
mov dword [r12 + 0x298], r13d
movzx ecx, ax
imul ecx, ecx, 0x4650
shr rax, 0x10
add ecx, eax
mov dword [r12 + 0x29c], ecx
shr r13d, 0x10
add r13d, eax
and r13d, 3
imul rax, r13, 0x58
mov rcx, qword [rdi + rax + 0x28]
call fcn.140172ab0
sub qword [r12 + 0x290], rax
movsxd rax, r13d
imul r13, rax, 0x58
mov rax, qword [rsp + 0xb0]
mov qword [rdi + r13 + 0x20], rax
movups xmm0, xmmword [rsp + 0x90]
movups xmm1, xmmword [rsp + 0xa0]
movups xmmword [rdi + r13 + 0x10], xmm1
movups xmmword [rdi + r13], xmm0
lea rax, [rdi + r13]
add rax, 0x28
lea rcx, [rsp + 0x2f0]
cmp rax, rcx
je 0x14019f58d
mov rdx, qword [rsp + 0x2f0]
test rdx, rdx
je 0x14019f578
lock inc dword [rdx]
mov rcx, qword [rax]
mov qword [rax], rdx
test rcx, rcx
je 0x14019f58d
lock dec dword [rcx]
jne 0x14019f58d
call fcn.140172fb0
mov rax, qword [rbx + 0x20]
mov qword [rdi + r13 + 0x50], rax
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + r13 + 0x40], xmm1
movups xmmword [rdi + r13 + 0x30], xmm0
mov rcx, qword [rsp + 0x2f0]
call fcn.140172ab0
add qword [r12 + 0x290], rax
mov rbx, qword [rsp + 0x2f0]
test rbx, rbx
je 0x14019f682
mov ecx, 0x28
call fcn.140560580
mov r13, rax
lea rax, [0x1405b6e30]
mov qword [r13], rax
mov qword [r13 + 0x20], r12
mov eax, dword [r15]
shl eax, 2
movsxd rcx, eax
call fcn.14056080c
mov qword [r13 + 0x18], rax
mov ecx, dword [r15]
shl ecx, 2
movsxd r8, ecx
mov rcx, rax
mov rdx, r15
call fcn.140562340
mov ecx, 0x20
call fcn.140560580
mov rdi, rax
mov rcx, rax
call fcn.140027310
lea rax, [0x1405b6e70]
mov qword [rdi], rax
mov eax, dword [r15]
shl eax, 2
movsxd r12, eax
mov rcx, r12
call fcn.14056080c
mov qword [rdi + 0x18], rax
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140562340
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rax]
mov qword [rsp + 0x2f0], rdi
lea rdx, [rsp + 0x2f0]
call fcn.1401948e0
mov rcx, r13
xor edx, edx
call fcn.14002a2e0
jmp 0x14019ee3a
lock dec dword [r12 + 8]
jne 0x14019f694
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
xor edi, edi
cmp dword [rsp + 0x348], 0x81
jge 0x14019efa3
jmp 0x14019efb0
lea rcx, [0x1406aa388]
call fcn.140560470
cmp dword [0x1406aa388], 0xffffffff
jne 0x14019dd25
lea rcx, [0x1406aa348]
mov edx, 1
call fcn.140089ad0
mov qword [0x1406aa370], 0
xorps xmm0, xmm0
movups xmmword [0x1406aa358], xmm0
mov dword [0x1406aa368], 0
lea rcx, [0x14019f720]
call fcn.1405607f4
lea rcx, [0x1406aa388]
call fcn.140560410
jmp 0x14019dd25
call fcn.14055e0e4
int3