Function at 0x1401a2e70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov rbx, qword [rcx + 0x70]
mov r15, qword [rcx + 8]
mov r11, qword [rsp + 0x100]
mov r13d, dword [rcx + 0x18]
mov rbp, r9
mov qword [rsp + 0x20], rbx
mov r9d, dword [rcx + 0x100]
mov rdi, rdx
mov edx, dword [rcx + 0x28]
mov rax, rbp
mov qword [rsp + 0xf0], r8
mov ebx, dword [rcx + 0x108]
sub rax, r15
lea r8d, [rax + r11]
mov r12d, dword [rcx + 0x114]
mov esi, dword [rcx + 0x110]
mov ecx, r13d
mov dword [rsp + 0x50], r9d
mov dword [rsp + 0x58], ebx
xor ebx, ebx
call fcn.1401b7130
mov r9d, dword [rsp + 0x50]
mov ecx, r13d
mov dword [rsp + 0x44], eax
mov eax, eax
add rax, r15
mov qword [rsp + 0x48], rax
lea rax, [rbp + r11]
mov qword [rsp + 0x30], rax
sub rax, 8
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 4]
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x48]
cmp rbp, rax
sete bl
add rbx, rbp
mov r11, rbx
sub r11, r15
mov r8d, r11d
call fcn.1401b7130
sub r11d, eax
cmp r12d, 1
jbe 0x14019fe3d
lea eax, [r12 + 1]
xor r12d, r12d
cmp esi, 6
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x2c]
je 0x14019f4d4
cmp esi, 7
je 0x14019f986
cmp esi, 5
je 0x14019f022
cmp r11d, eax
jb 0x14019ebed
xor edx, edx
mov r12d, eax
mov dword [rsp + 0x2c], edx
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14019ec00
mov esi, eax
xor eax, eax
mov dword [rsp + 0x40], eax
mov ecx, dword [rsp + 0x58]
mov eax, 0x20
sub eax, ecx
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x30]
sub rax, 0x20
mov qword [rsp + 0x68], rax
lea rax, [rbx + 0x80]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x50]
lea r10, [rbx + 1]
lea r9, [rbx + rax]
mov rax, qword [rsp + 0x38]
lea r11, [r9 + 1]
cmp r11, rax
jae 0x1401a0dc4
mov cl, byte [rsp + 0x58]
imul r8d, dword [rbx], 0x9e3779b1
imul r13d, dword [rbx + 1], 0x9e3779b1
mov rax, qword [rsp + 0x20]
shr r8d, cl
shr r13d, cl
mov rcx, qword [rsp + 0x50]
mov eax, dword [rax + r8*4]
mov qword [rsp + 0x60], rcx
mov ecx, esi
mov qword [rsp + 0x88], rcx
mov r14, qword [rsp + 0x88]
mov rcx, r9
mov rdx, qword [rsp + 0x20]
sub rcx, r14
mov r14d, dword [rcx]
mov dword [rsp + 0x78], r14d
mov r14, rbx
sub r14, r15
mov dword [rdx + r8*4], r14d
mov r8d, dword [r9]
cmp dword [rsp + 0x78], r8d
mov dword [rsp + 0x70], r14d
jne 0x14019ecef
test esi, esi
je 0x14019ecef
mov al, byte [rcx - 1]
xor r14d, r14d
mov rbx, r9
cmp byte [r9 - 1], al
mov rax, rcx
sete r14b
sub r10, r15
sub rbx, r14
sub rax, r14
mov dword [rdx + r13*4], r10d
add r14, 4
mov r13d, esi
mov esi, r12d
mov r12d, 1
jmp 0x14019ee1b
mov ecx, dword [rbx]
mov edx, dword [rsp + 0x44]
mov r14d, ecx
xor r14d, 1
cmp eax, edx
mov dword [rsp + 0x78], r14d
jb 0x14019ed10
mov r14d, eax
mov edx, dword [r15 + r14]
mov dword [rsp + 0x78], edx
mov rdx, qword [rsp + 0x20]
lea r14, [rdx + r13*4]
mov r13, r10
sub r13, r15
cmp dword [rsp + 0x78], ecx
jne 0x14019ed2d
mov dword [r14], r13d
jmp 0x14019ede5
mov eax, dword [r14]
imul r8d, r8d, 0x9e3779b1
mov dword [r14], r13d
mov cl, byte [rsp + 0x58]
mov ebx, dword [rsp + 0x44]
shr r8d, cl
cmp eax, ebx
jb 0x14019ed51
mov ecx, eax
mov ecx, dword [r15 + rcx]
jmp 0x14019ed57
mov ecx, dword [r10]
xor ecx, 1
cmp dword [r10], ecx
jne 0x14019ed72
cmp qword [rsp + 0x60], 4
ja 0x14019eddd
mov rbx, qword [rsp + 0x20]
sub r9, r15
mov dword [rbx + r8*4], r9d
jmp 0x14019eddd
mov rbx, qword [rsp + 0x60]
mov cl, byte [rsp + 0x58]
imul r13d, dword [r11], 0x9e3779b1
mov rax, qword [rsp + 0x20]
lea r14, [r9 + rbx]
shr r13d, cl
lea rcx, [r11 + rbx]
mov rbx, qword [rsp + 0x80]
mov eax, dword [rax + r8*4]
cmp r14, rbx
jb 0x14019edbe
prefetcht0 byte [r11 + 0x40]
prefetcht0 byte [r11 + 0x80]
inc qword [rsp + 0x60]
sub qword [rsp + 0x80], 0xffffffffffffff80
mov rdx, qword [rsp + 0x38]
mov rbx, r9
mov r10, r11
cmp rcx, rdx
jae 0x1401a0dc4
mov r11, rcx
mov r9, r14
jmp 0x14019ec81
mov dword [rsp + 0x70], r13d
mov rbx, r10
add rax, r15
mov r12, rbx
lea rdx, [rax + 4]
sub r12, rax
mov r13d, r12d
add r12d, 3
mov r14, rdx
sub r14, rax
cmp rbp, rbx
jae 0x14019ee1b
cmp qword [rsp + 0x48], rax
jae 0x14019ee1b
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x14019ee1b
dec rbx
dec rax
jmp 0x14019edf9
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + r14]
lea rdx, [rax + r14]
call fcn.1401b40b0
mov r11, rbx
mov rcx, qword [rdi + 0x18]
add r14, rax
sub r11, rbp
cmp qword [rsp + 0x68], rbx
jb 0x14019ee8b
movups xmm0, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm0
jbe 0x14019ee9b
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm1
jle 0x14019ee9b
lea rdx, [rax + r11]
add rbp, 0x20
add rax, 0x20
movups xmm2, xmmword [rbp]
add rax, 0x20
add rbp, 0x20
movups xmmword [rax - 0x20], xmm2
movups xmm3, xmmword [rbp - 0x10]
movups xmmword [rax - 0x10], xmm3
cmp rax, rdx
jb 0x14019ee6c
jmp 0x14019ee9b
mov r9, qword [rsp + 0x68]
mov r8, rbx
mov rdx, rbp
call fcn.1401baca0
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x14019eec0
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 1
sar rdx, 3
mov dword [rdi + 0x4c], edx
lea rcx, [r14 - 3]
mov word [rax + 4], r11w
cmp rcx, 0xffff
mov dword [rax], r12d
jbe 0x14019eee9
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], cx
add rbx, r14
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jae 0x14019ef0d
mov r12d, esi
mov rbp, rbx
mov esi, r13d
jmp 0x14019ec1d
mov eax, dword [rsp + 0x70]
mov cl, byte [rsp + 0x58]
imul eax, dword [r15 + rax + 2], 0x9e3779b1
mov edx, eax
mov eax, dword [rsp + 0x70]
shr edx, cl
mov rcx, qword [rsp + 0x20]
add eax, 2
mov dword [rcx + rdx*4], eax
mov cl, byte [rsp + 0x58]
lea rdx, [rbx - 2]
imul eax, dword [rbx - 2], 0x9e3779b1
sub rdx, r15
shr eax, cl
mov rcx, qword [rsp + 0x20]
test esi, esi
mov dword [rcx + rax*4], edx
je 0x14019eeff
xchg r13d, esi
mov rdx, rbx
mov r12d, dword [rbx]
mov rbp, rbx
mov eax, r13d
sub rdx, rax
cmp r12d, dword [rdx]
jne 0x14019f01a
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
imul r12d, r12d, 0x9e3779b1
add rdx, 4
call fcn.1401b40b0
mov cl, byte [rsp + 0x58]
mov r11, rax
mov rax, rbx
lea rbx, [rbx + r11 + 4]
sub rax, r15
shr r12d, cl
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x68], rbp
mov dword [rcx + r12*4], eax
mov rcx, qword [rdi + 0x18]
jb 0x14019efbd
movups xmm4, xmmword [rbp]
movups xmmword [rcx], xmm4
jmp 0x14019efcd
mov r9, qword [rsp + 0x68]
mov r8, rbp
mov rdx, rbp
call fcn.1401baca0
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x14019effd
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], r11w
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jb 0x14019eeff
jmp 0x14019ef51
xchg r13d, esi
jmp 0x14019eeff
cmp r11d, eax
jb 0x14019f030
mov r12d, eax
xor eax, eax
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14019f224
mov esi, eax
xor eax, eax
mov dword [rsp + 0x40], eax
jmp 0x14019f224
movabs r9, 0xcf1bbcdcbb000000
mov eax, dword [r14]
imul r9, qword [r8]
mov dword [r14], edx
mov cl, byte [rsp + 0x60]
mov ebx, dword [rsp + 0x44]
shr r9, cl
cmp eax, ebx
jb 0x14019f2e3
mov ecx, eax
mov ecx, dword [r15 + rcx]
cmp dword [r10], ecx
je 0x14019f2ee
movabs rdx, 0xcf1bbcdcbb000000
mov cl, byte [rsp + 0x60]
imul rdx, qword [r11]
mov rbx, qword [rsp + 0x78]
lea r14, [r8 + r13]
mov rax, qword [rsp + 0x20]
shr rdx, cl
cmp r14, rbx
mov rcx, rdx
mov eax, dword [rax + r9*4]
lea rdx, [r11 + r13]
jb 0x14019f0cb
prefetcht0 byte [r11 + 0x40]
prefetcht0 byte [r11 + 0x80]
inc r13
sub qword [rsp + 0x78], 0xffffffffffffff80
mov rbx, r8
mov r8, qword [rsp + 0x38]
mov r10, r11
cmp rdx, r8
jae 0x1401a0dc4
mov r11, rdx
mov r8, r14
mov r14, qword [rsp + 0x88]
mov rdx, r8
sub rdx, r14
mov r14d, dword [rdx]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x20]
mov dword [rsp + 0x80], r14d
mov r14, rbx
sub r14, r15
mov dword [rdx + r9*4], r14d
mov edx, dword [rsp + 0x80]
cmp dword [r8], edx
mov dword [rsp + 0x70], r14d
jne 0x14019f2a5
test esi, esi
je 0x14019f2a5
mov rax, qword [rsp + 0x68]
xor r14d, r14d
mov rbx, r8
mov r13d, esi
mov rdx, qword [rsp + 0x20]
mov esi, r12d
mov r12d, 1
mov al, byte [rax - 1]
cmp byte [r8 - 1], al
mov rax, qword [rsp + 0x68]
sete r14b
sub r10, r15
sub rbx, r14
sub rax, r14
mov dword [rdx + rcx*4], r10d
add r14, 4
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + r14]
lea rdx, [rax + r14]
call fcn.1401b40b0
mov r11, rbx
mov rcx, qword [rdi + 0x18]
add r14, rax
mov rax, qword [rsp + 0x30]
sub r11, rbp
sub rax, 0x20
cmp rax, rbx
mov qword [rsp + 0x68], rax
jb 0x14019f38d
movups xmm5, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm5
ja 0x14019f349
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x14019f1d8
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 1
sar rdx, 3
mov dword [rdi + 0x4c], edx
lea rcx, [r14 - 3]
mov word [rax + 4], r11w
cmp rcx, 0xffff
mov dword [rax], r12d
jbe 0x14019f201
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], cx
add rbx, r14
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jae 0x14019f3a2
mov r12d, esi
mov rbp, rbx
mov esi, r13d
lea rax, [rbx + 0x80]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x50]
lea r10, [rbx + 1]
lea r8, [rbx + rax]
mov rax, qword [rsp + 0x38]
lea r11, [r8 + 1]
cmp r11, rax
jae 0x1401a0dc4
mov ecx, dword [rsp + 0x58]
mov eax, 0x40
mov edx, esi
movabs r9, 0xcf1bbcdcbb000000
imul r9, qword [rbx]
mov qword [rsp + 0x88], rdx
mov r13, qword [rsp + 0x50]
sub eax, ecx
mov dword [rsp + 0x60], eax
mov cl, byte [rsp + 0x60]
movabs rax, 0xcf1bbcdcbb000000
imul rax, qword [rbx + 1]
shr r9, cl
shr rax, cl
mov rcx, rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + r9*4]
jmp 0x14019f0e5
mov r9d, dword [rbx]
mov edx, r9d
xor edx, 1
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x14019f2c4
mov edx, eax
mov edx, dword [r15 + rdx]
mov dword [rsp + 0x68], edx
mov rdx, qword [rsp + 0x20]
lea r14, [rdx + rcx*4]
mov rdx, r10
sub rdx, r15
cmp dword [rsp + 0x68], r9d
jne 0x14019f04c
mov dword [r14], edx
jmp 0x14019f307
mov ecx, dword [r10]
xor ecx, 1
jmp 0x14019f079
cmp r13, 4
ja 0x14019f300
mov rbx, qword [rsp + 0x20]
sub r8, r15
mov dword [rbx + r9*4], r8d
mov dword [rsp + 0x70], edx
mov rbx, r10
add rax, r15
mov r12, rbx
lea rdx, [rax + 4]
sub r12, rax
mov r13d, r12d
add r12d, 3
mov r14, rdx
sub r14, rax
cmp rbp, rbx
jae 0x14019f16c
cmp qword [rsp + 0x48], rax
jae 0x14019f16c
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x14019f16c
dec rbx
dec rax
jmp 0x14019f31b
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm0
jle 0x14019f1b3
lea rdx, [rax + r11]
add rbp, 0x20
add rax, 0x20
movups xmm1, xmmword [rbp]
add rax, 0x20
add rbp, 0x20
movups xmmword [rax - 0x20], xmm1
movups xmm2, xmmword [rbp - 0x10]
movups xmmword [rax - 0x10], xmm2
cmp rax, rdx
jb 0x14019f36b
jmp 0x14019f1b3
mov r9, qword [rsp + 0x68]
mov r8, rbx
mov rdx, rbp
call fcn.1401baca0
jmp 0x14019f1b3
movabs rcx, 0xcf1bbcdcbb000000
mov eax, dword [rsp + 0x70]
imul rcx, qword [r15 + rax + 2]
mov rax, rcx
mov cl, byte [rsp + 0x60]
shr rax, cl
mov rcx, qword [rsp + 0x20]
mov rdx, rax
mov eax, dword [rsp + 0x70]
add eax, 2
mov dword [rcx + rdx*4], eax
mov cl, byte [rsp + 0x60]
lea rdx, [rbx - 2]
movabs rax, 0xcf1bbcdcbb000000
imul rax, qword [rbx - 2]
sub rdx, r15
shr rax, cl
mov rcx, qword [rsp + 0x20]
test esi, esi
mov dword [rcx + rax*4], edx
je 0x14019f21b
xchg r13d, esi
mov rdx, rbx
mov rbp, rbx
mov eax, r13d
sub rdx, rax
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x14019f4cc
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
add rdx, 4
call fcn.1401b40b0
mov cl, byte [rsp + 0x60]
mov rdx, rbx
mov r11, rax
sub rdx, r15
movabs rax, 0xcf1bbcdcbb000000
imul rax, qword [rbx]
lea rbx, [rbx + r11 + 4]
shr rax, cl
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x68], rbp
mov dword [rcx + rax*4], edx
mov rcx, qword [rdi + 0x18]
jb 0x14019f46f
movups xmm3, xmmword [rbp]
movups xmmword [rcx], xmm3
jmp 0x14019f47f
mov r9, qword [rsp + 0x68]
mov r8, rbp
mov rdx, rbp
call fcn.1401baca0
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x14019f4af
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], r11w
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jb 0x14019f21b
jmp 0x14019f3ff
xchg r13d, esi
jmp 0x14019f21b
cmp r11d, eax
jb 0x14019f4e2
mov r12d, eax
xor eax, eax
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14019f6d6
mov esi, eax
xor eax, eax
mov dword [rsp + 0x40], eax
jmp 0x14019f6d6
movabs r9, 0xcf1bbcdcbf9b0000
mov eax, dword [r14]
imul r9, qword [r8]
mov dword [r14], edx
mov cl, byte [rsp + 0x60]
mov ebx, dword [rsp + 0x44]
shr r9, cl
cmp eax, ebx
jb 0x14019f795
mov ecx, eax
mov ecx, dword [r15 + rcx]
cmp dword [r10], ecx
je 0x14019f7a0
movabs rdx, 0xcf1bbcdcbf9b0000
mov cl, byte [rsp + 0x60]
imul rdx, qword [r11]
mov rbx, qword [rsp + 0x78]
lea r14, [r8 + r13]
mov rax, qword [rsp + 0x20]
shr rdx, cl
cmp r14, rbx
mov rcx, rdx
mov eax, dword [rax + r9*4]
lea rdx, [r11 + r13]
jb 0x14019f57d
prefetcht0 byte [r11 + 0x40]
prefetcht0 byte [r11 + 0x80]
inc r13
sub qword [rsp + 0x78], 0xffffffffffffff80
mov rbx, r8
mov r8, qword [rsp + 0x38]
mov r10, r11
cmp rdx, r8
jae 0x1401a0dc4
mov r11, rdx
mov r8, r14
mov r14, qword [rsp + 0x88]
mov rdx, r8
sub rdx, r14
mov r14d, dword [rdx]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x20]
mov dword [rsp + 0x80], r14d
mov r14, rbx
sub r14, r15
mov dword [rdx + r9*4], r14d
mov edx, dword [rsp + 0x80]
cmp dword [r8], edx
mov dword [rsp + 0x70], r14d
jne 0x14019f757
test esi, esi
je 0x14019f757
mov rax, qword [rsp + 0x68]
xor r14d, r14d
mov rbx, r8
mov r13d, esi
mov rdx, qword [rsp + 0x20]
mov esi, r12d
mov r12d, 1
mov al, byte [rax - 1]
cmp byte [r8 - 1], al
mov rax, qword [rsp + 0x68]
sete r14b
sub r10, r15
sub rbx, r14
sub rax, r14
mov dword [rdx + rcx*4], r10d
add r14, 4
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + r14]
lea rdx, [rax + r14]
call fcn.1401b40b0
mov r11, rbx
mov rcx, qword [rdi + 0x18]
add r14, rax
mov rax, qword [rsp + 0x30]
sub r11, rbp
sub rax, 0x20
cmp rax, rbx
mov qword [rsp + 0x68], rax
jb 0x14019f83f
movups xmm4, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm4
ja 0x14019f7fb
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x14019f68a
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 1
sar rdx, 3
mov dword [rdi + 0x4c], edx
lea rcx, [r14 - 3]
mov word [rax + 4], r11w
cmp rcx, 0xffff
mov dword [rax], r12d
jbe 0x14019f6b3
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], cx
add rbx, r14
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jae 0x14019f854
mov r12d, esi
mov rbp, rbx
mov esi, r13d
lea rax, [rbx + 0x80]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x50]
lea r10, [rbx + 1]
lea r8, [rbx + rax]
mov rax, qword [rsp + 0x38]
lea r11, [r8 + 1]
cmp r11, rax
jae 0x1401a0dc4
mov ecx, dword [rsp + 0x58]
mov eax, 0x40
mov edx, esi
movabs r9, 0xcf1bbcdcbf9b0000
imul r9, qword [rbx]
mov qword [rsp + 0x88], rdx
mov r13, qword [rsp + 0x50]
sub eax, ecx
mov dword [rsp + 0x60], eax
mov cl, byte [rsp + 0x60]
movabs rax, 0xcf1bbcdcbf9b0000
imul rax, qword [rbx + 1]
shr r9, cl
shr rax, cl
mov rcx, rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + r9*4]
jmp 0x14019f597
mov r9d, dword [rbx]
mov edx, r9d
xor edx, 1
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x14019f776
mov edx, eax
mov edx, dword [r15 + rdx]
mov dword [rsp + 0x68], edx
mov rdx, qword [rsp + 0x20]
lea r14, [rdx + rcx*4]
mov rdx, r10
sub rdx, r15
cmp dword [rsp + 0x68], r9d
jne 0x14019f4fe
mov dword [r14], edx
jmp 0x14019f7b9
mov ecx, dword [r10]
xor ecx, 1
jmp 0x14019f52b
cmp r13, 4
ja 0x14019f7b2
mov rbx, qword [rsp + 0x20]
sub r8, r15
mov dword [rbx + r9*4], r8d
mov dword [rsp + 0x70], edx
mov rbx, r10
add rax, r15
mov r12, rbx
lea rdx, [rax + 4]
sub r12, rax
mov r13d, r12d
add r12d, 3
mov r14, rdx
sub r14, rax
cmp rbp, rbx
jae 0x14019f61e
cmp qword [rsp + 0x48], rax
jae 0x14019f61e
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x14019f61e
dec rbx
dec rax
jmp 0x14019f7cd
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm5, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm5
jle 0x14019f665
lea rdx, [rax + r11]
add rbp, 0x20
add rax, 0x20
movups xmm0, xmmword [rbp]
add rax, 0x20
add rbp, 0x20
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rax - 0x10], xmm1
cmp rax, rdx
jb 0x14019f81d
jmp 0x14019f665
mov r9, qword [rsp + 0x68]
mov r8, rbx
mov rdx, rbp
call fcn.1401baca0
jmp 0x14019f665
movabs rcx, 0xcf1bbcdcbf9b0000
mov eax, dword [rsp + 0x70]
imul rcx, qword [r15 + rax + 2]
mov rax, rcx
mov cl, byte [rsp + 0x60]
shr rax, cl
mov rcx, qword [rsp + 0x20]
mov rdx, rax
mov eax, dword [rsp + 0x70]
add eax, 2
mov dword [rcx + rdx*4], eax
mov cl, byte [rsp + 0x60]
lea rdx, [rbx - 2]
movabs rax, 0xcf1bbcdcbf9b0000
imul rax, qword [rbx - 2]
sub rdx, r15
shr rax, cl
mov rcx, qword [rsp + 0x20]
test esi, esi
mov dword [rcx + rax*4], edx
je 0x14019f6cd
xchg r13d, esi
mov rdx, rbx
mov rbp, rbx
mov eax, r13d
sub rdx, rax
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x14019f97e
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
add rdx, 4
call fcn.1401b40b0
mov cl, byte [rsp + 0x60]
mov rdx, rbx
mov r11, rax
sub rdx, r15
movabs rax, 0xcf1bbcdcbf9b0000
imul rax, qword [rbx]
lea rbx, [rbx + r11 + 4]
shr rax, cl
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x68], rbp
mov dword [rcx + rax*4], edx
mov rcx, qword [rdi + 0x18]
jb 0x14019f921
movups xmm2, xmmword [rbp]
movups xmmword [rcx], xmm2
jmp 0x14019f931
mov r9, qword [rsp + 0x68]
mov r8, rbp
mov rdx, rbp
call fcn.1401baca0
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x14019f961
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], r11w
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jb 0x14019f6cd
jmp 0x14019f8b1
xchg r13d, esi
jmp 0x14019f6cd
cmp r11d, eax
jb 0x14019f996
xor r14d, r14d
mov r12d, eax
mov dword [rsp + 0x2c], r14d
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14019fca2
xor r13d, r13d
mov esi, eax
mov dword [rsp + 0x40], r13d
jmp 0x14019fca2
movabs r9, 0xcf1bbcdcbfa56300
mov eax, dword [r14]
imul r9, qword [r8]
mov dword [r14], edx
mov cl, byte [rsp + 0x60]
mov ebx, dword [rsp + 0x44]
shr r9, cl
cmp eax, ebx
jb 0x14019fd61
mov ecx, eax
mov ecx, dword [r15 + rcx]
cmp dword [r10], ecx
je 0x14019fd6c
movabs rdx, 0xcf1bbcdcbfa56300
mov cl, byte [rsp + 0x60]
imul rdx, qword [r11]
mov rbx, qword [rsp + 0x78]
lea r14, [r8 + r13]
mov rax, qword [rsp + 0x20]
shr rdx, cl
cmp r14, rbx
mov rcx, rdx
mov eax, dword [rax + r9*4]
lea rdx, [r11 + r13]
jb 0x14019fa33
prefetcht0 byte [r11 + 0x40]
prefetcht0 byte [r11 + 0x80]
inc r13
sub qword [rsp + 0x78], 0xffffffffffffff80
mov rbx, r8
mov r8, qword [rsp + 0x38]
mov r10, r11
cmp rdx, r8
jae 0x1401a0dc4
mov r11, rdx
mov r8, r14
mov r14, qword [rsp + 0x88]
mov rdx, r8
sub rdx, r14
mov r14d, dword [rdx]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x20]
mov dword [rsp + 0x80], r14d
mov r14, rbx
sub r14, r15
mov dword [rdx + r9*4], r14d
mov edx, dword [rsp + 0x80]
cmp dword [r8], edx
mov dword [rsp + 0x70], r14d
jne 0x14019fd23
test esi, esi
je 0x14019fd23
mov rax, qword [rsp + 0x68]
xor r13d, r13d
mov rbx, r8
mov r14d, esi
mov rdx, qword [rsp + 0x20]
mov esi, r12d
mov r12d, 1
mov al, byte [rax - 1]
cmp byte [r8 - 1], al
mov rax, qword [rsp + 0x68]
sete r13b
sub r10, r15
sub rbx, r13
sub rax, r13
mov dword [rdx + rcx*4], r10d
add r13, 4
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + r13]
lea rdx, [rax + r13]
call fcn.1401b40b0
mov r11, rbx
mov rcx, qword [rdi + 0x18]
add r13, rax
mov rax, qword [rsp + 0x30]
sub r11, rbp
sub rax, 0x20
cmp rax, rbx
mov qword [rsp + 0x68], rax
jb 0x14019fe0b
movups xmm3, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm3
ja 0x14019fdc7
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x14019fb40
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 1
sar rdx, 3
mov dword [rdi + 0x4c], edx
lea rcx, [r13 - 3]
mov word [rax + 4], r11w
cmp rcx, 0xffff
mov dword [rax], r12d
jbe 0x14019fb69
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], cx
add rbx, r13
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jb 0x14019fc99
movabs rcx, 0xcf1bbcdcbfa56300
mov eax, dword [rsp + 0x70]
imul rcx, qword [r15 + rax + 2]
mov rax, rcx
mov cl, byte [rsp + 0x60]
shr rax, cl
mov rcx, qword [rsp + 0x20]
mov rdx, rax
mov eax, dword [rsp + 0x70]
add eax, 2
mov dword [rcx + rdx*4], eax
mov cl, byte [rsp + 0x60]
lea rdx, [rbx - 2]
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rbx - 2]
sub rdx, r15
shr rax, cl
mov rcx, qword [rsp + 0x20]
test esi, esi
mov dword [rcx + rax*4], edx
je 0x14019fc99
mov eax, esi
mov rdx, rbx
mov rbp, rbx
sub rdx, rax
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x14019fc99
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
add rdx, 4
call fcn.1401b40b0
mov cl, byte [rsp + 0x60]
mov rdx, rbx
mov r11, rax
sub rdx, r15
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rbx]
lea rbx, [rbx + r11 + 4]
shr rax, cl
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x68], rbp
mov dword [rcx + rax*4], edx
mov rcx, qword [rdi + 0x18]
jb 0x14019fe20
movups xmm1, xmmword [rbp]
movups xmmword [rcx], xmm1
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x14019fc7e
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], r11w
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jae 0x14019fe35
xchg r14d, esi
mov r12d, esi
mov rbp, rbx
mov esi, r14d
lea rax, [rbx + 0x80]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x50]
lea r10, [rbx + 1]
lea r8, [rbx + rax]
mov rax, qword [rsp + 0x38]
lea r11, [r8 + 1]
cmp r11, rax
jae 0x1401a0dc4
mov ecx, dword [rsp + 0x58]
mov eax, 0x40
mov edx, esi
movabs r9, 0xcf1bbcdcbfa56300
imul r9, qword [rbx]
mov qword [rsp + 0x88], rdx
mov r13, qword [rsp + 0x50]
sub eax, ecx
mov dword [rsp + 0x60], eax
mov cl, byte [rsp + 0x60]
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rbx + 1]
shr r9, cl
shr rax, cl
mov rcx, rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + r9*4]
jmp 0x14019fa4d
mov r9d, dword [rbx]
mov edx, r9d
xor edx, 1
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x14019fd42
mov edx, eax
mov edx, dword [r15 + rdx]
mov dword [rsp + 0x68], edx
mov rdx, qword [rsp + 0x20]
lea r14, [rdx + rcx*4]
mov rdx, r10
sub rdx, r15
cmp dword [rsp + 0x68], r9d
jne 0x14019f9b4
mov dword [r14], edx
jmp 0x14019fd85
mov ecx, dword [r10]
xor ecx, 1
jmp 0x14019f9e1
cmp r13, 4
ja 0x14019fd7e
mov rbx, qword [rsp + 0x20]
sub r8, r15
mov dword [rbx + r9*4], r8d
mov dword [rsp + 0x70], edx
mov rbx, r10
add rax, r15
mov r12, rbx
lea rdx, [rax + 4]
sub r12, rax
mov r14d, r12d
add r12d, 3
mov r13, rdx
sub r13, rax
cmp rbp, rbx
jae 0x14019fad4
cmp qword [rsp + 0x48], rax
jae 0x14019fad4
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x14019fad4
dec rbx
dec rax
jmp 0x14019fd99
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm4, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm4
jle 0x14019fb1b
lea rdx, [rax + r11]
add rbp, 0x20
add rax, 0x20
movups xmm5, xmmword [rbp]
add rax, 0x20
add rbp, 0x20
movups xmmword [rax - 0x20], xmm5
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jb 0x14019fde9
jmp 0x14019fb1b
mov r9, qword [rsp + 0x68]
mov r8, rbx
mov rdx, rbp
call fcn.1401baca0
jmp 0x14019fb1b
mov r9, qword [rsp + 0x68]
mov r8, rbp
mov rdx, rbp
call fcn.1401baca0
jmp 0x14019fc4e
xchg esi, r14d
jmp 0x14019fbe0
xor r12d, r12d
cmp esi, 6
mov eax, dword [rsp + 0x2c]
je 0x1401a073e
cmp esi, 7
je 0x1401a0be9
cmp esi, 5
je 0x1401a0292
cmp r11d, eax
jb 0x14019fe6d
xor esi, esi
mov r12d, eax
mov dword [rsp + 0x2c], esi
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14019fe82
xor r11d, r11d
mov esi, eax
mov dword [rsp + 0x40], r11d
mov ecx, dword [rsp + 0x58]
mov eax, 0x20
sub eax, ecx
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x30]
sub rax, 0x20
mov qword [rsp + 0x60], rax
lea rax, [rbx + 0x80]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x38]
lea r11, [rbx + 3]
lea r10, [rbx + 1]
lea r9, [rbx + 2]
cmp r11, rax
jae 0x1401a0dc4
mov cl, byte [rsp + 0x50]
mov qword [rsp + 0x58], 2
mov rax, qword [rsp + 0x20]
imul r8d, dword [rbx], 0x9e3779b1
imul r14d, dword [rbx + 1], 0x9e3779b1
shr r8d, cl
mov eax, dword [rax + r8*4]
shr r14d, cl
mov ecx, esi
mov qword [rsp + 0x80], rcx
mov rcx, qword [rsp + 0x80]
mov rdx, r9
mov r13, qword [rsp + 0x20]
sub rdx, rcx
mov ecx, dword [rdx]
mov dword [rsp + 0x78], ecx
mov rcx, rbx
sub rcx, r15
mov dword [r13 + r8*4], ecx
mov r8d, dword [r9]
cmp dword [rsp + 0x78], r8d
mov dword [rsp + 0x68], ecx
jne 0x14019ff65
test esi, esi
je 0x14019ff65
mov al, byte [rdx - 1]
xor ecx, ecx
mov rbx, r9
cmp byte [r9 - 1], al
mov rax, rdx
sete cl
sub r10, r15
mov dword [r13 + r14*4], r10d
sub rbx, rcx
mov r13d, esi
sub rax, rcx
lea r9, [rcx + 4]
mov esi, r12d
mov r12d, 1
jmp 0x1401a0080
mov ecx, dword [rbx]
mov edx, ecx
xor edx, 1
mov r13d, edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x14019ff7d
mov edx, eax
mov r13d, dword [r15 + rdx]
mov rdx, qword [rsp + 0x20]
lea r14, [rdx + r14*4]
mov rdx, r10
sub rdx, r15
cmp r13d, ecx
jne 0x14019ff99
mov dword [r14], edx
jmp 0x1401a004a
mov eax, dword [r14]
imul r8d, r8d, 0x9e3779b1
mov dword [r14], edx
mov cl, byte [rsp + 0x50]
mov ebx, dword [rsp + 0x44]
shr r8d, cl
cmp eax, ebx
jb 0x14019ffbd
mov ecx, eax
mov ecx, dword [r15 + rcx]
jmp 0x14019ffc3
mov ecx, dword [r10]
xor ecx, 1
cmp dword [r10], ecx
jne 0x14019ffde
cmp qword [rsp + 0x58], 4
ja 0x1401a0043
mov rbx, qword [rsp + 0x20]
sub r9, r15
mov dword [rbx + r8*4], r9d
jmp 0x1401a0043
mov rbx, qword [rsp + 0x58]
mov cl, byte [rsp + 0x50]
imul r14d, dword [r11], 0x9e3779b1
mov rax, qword [rsp + 0x20]
lea rdx, [r11 + rbx]
shr r14d, cl
lea rcx, [r9 + rbx]
mov rbx, qword [rsp + 0x70]
mov eax, dword [rax + r8*4]
cmp rcx, rbx
jb 0x1401a0024
prefetcht0 byte [r11 + 0x40]
prefetcht0 byte [r11 + 0x80]
inc qword [rsp + 0x58]
sub qword [rsp + 0x70], 0xffffffffffffff80
mov rbx, r9
mov r9, qword [rsp + 0x38]
mov r10, r11
cmp rdx, r9
jae 0x1401a0dc4
mov r11, rdx
mov r9, rcx
jmp 0x14019fefa
mov dword [rsp + 0x68], edx
mov rbx, r10
add rax, r15
mov r12, rbx
lea rdx, [rax + 4]
sub r12, rax
mov r13d, r12d
add r12d, 3
mov r9, rdx
sub r9, rax
cmp rbp, rbx
jae 0x1401a0080
cmp qword [rsp + 0x48], rax
jae 0x1401a0080
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x1401a0080
dec rbx
dec rax
jmp 0x1401a005e
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + r9]
mov qword [rsp + 0x58], r9
lea rdx, [rax + r9]
call fcn.1401b40b0
mov r11, rbx
mov r9, qword [rsp + 0x58]
sub r11, rbp
cmp qword [rsp + 0x60], rbx
mov rcx, qword [rdi + 0x18]
lea r14, [r9 + rax]
jb 0x1401a00fb
movups xmm2, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm2
jbe 0x1401a010b
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm3, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm3
jle 0x1401a010b
lea rdx, [rax + r11]
add rbp, 0x20
add rax, 0x20
movups xmm4, xmmword [rbp]
add rax, 0x20
add rbp, 0x20
movups xmmword [rax - 0x20], xmm4
movups xmm5, xmmword [rbp - 0x10]
movups xmmword [rax - 0x10], xmm5
cmp rax, rdx
jb 0x1401a00dc
jmp 0x1401a010b
mov r9, qword [rsp + 0x60]
mov r8, rbx
mov rdx, rbp
call fcn.1401baca0
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x1401a0130
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 1
sar rdx, 3
mov dword [rdi + 0x4c], edx
lea rcx, [r14 - 3]
mov word [rax + 4], r11w
cmp rcx, 0xffff
mov dword [rax], r12d
jbe 0x1401a0159
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], cx
add rbx, r14
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jae 0x1401a017d
mov r12d, esi
mov rbp, rbx
mov esi, r13d
jmp 0x14019fe9f
mov eax, dword [rsp + 0x68]
mov cl, byte [rsp + 0x50]
imul eax, dword [r15 + rax + 2], 0x9e3779b1
mov edx, eax
mov eax, dword [rsp + 0x68]
shr edx, cl
mov rcx, qword [rsp + 0x20]
add eax, 2
mov dword [rcx + rdx*4], eax
mov cl, byte [rsp + 0x50]
lea rdx, [rbx - 2]
imul eax, dword [rbx - 2], 0x9e3779b1
sub rdx, r15
shr eax, cl
mov rcx, qword [rsp + 0x20]
test esi, esi
mov dword [rcx + rax*4], edx
je 0x1401a016f
xchg r13d, esi
mov rdx, rbx
mov r12d, dword [rbx]
mov rbp, rbx
mov eax, r13d
sub rdx, rax
cmp r12d, dword [rdx]
jne 0x1401a028a
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
imul r12d, r12d, 0x9e3779b1
add rdx, 4
call fcn.1401b40b0
mov cl, byte [rsp + 0x50]
mov r11, rax
mov rax, rbx
lea rbx, [rbx + r11 + 4]
sub rax, r15
shr r12d, cl
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x60], rbp
mov dword [rcx + r12*4], eax
mov rcx, qword [rdi + 0x18]
jb 0x1401a022d
movups xmm0, xmmword [rbp]
movups xmmword [rcx], xmm0
jmp 0x1401a023d
mov r9, qword [rsp + 0x60]
mov r8, rbp
mov rdx, rbp
call fcn.1401baca0
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x1401a026d
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], r11w
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jb 0x1401a016f
jmp 0x1401a01c1
xchg r13d, esi
jmp 0x1401a016f
cmp r11d, eax
jb 0x1401a02a2
xor r10d, r10d
mov r12d, eax
mov dword [rsp + 0x2c], r10d
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x1401a0492
xor r9d, r9d
mov esi, eax
mov dword [rsp + 0x40], r9d
jmp 0x1401a0492
movabs r9, 0xcf1bbcdcbb000000
mov eax, dword [r14]
imul r9, qword [r8]
mov dword [r14], edx
mov cl, byte [rsp + 0x50]
mov ebx, dword [rsp + 0x44]
shr r9, cl
cmp eax, ebx
jb 0x1401a054d
mov ecx, eax
mov ecx, dword [r15 + rcx]
cmp dword [r10], ecx
je 0x1401a0558
movabs rdx, 0xcf1bbcdcbb000000
mov cl, byte [rsp + 0x50]
imul rdx, qword [r11]
mov rbx, qword [rsp + 0x70]
lea r14, [r8 + r13]
mov rax, qword [rsp + 0x20]
shr rdx, cl
cmp r14, rbx
mov rcx, rdx
mov eax, dword [rax + r9*4]
lea rdx, [r11 + r13]
jb 0x1401a033f
prefetcht0 byte [r11 + 0x40]
prefetcht0 byte [r11 + 0x80]
inc r13
sub qword [rsp + 0x70], 0xffffffffffffff80
mov rbx, r8
mov r8, qword [rsp + 0x38]
mov r10, r11
cmp rdx, r8
jae 0x1401a0dc4
mov r11, rdx
mov r8, r14
mov r14, qword [rsp + 0x80]
mov rdx, r8
sub rdx, r14
mov r14d, dword [rdx]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x20]
mov dword [rsp + 0x78], r14d
mov r14, rbx
sub r14, r15
mov dword [rdx + r9*4], r14d
mov edx, dword [rsp + 0x78]
cmp dword [r8], edx
mov dword [rsp + 0x68], r14d
jne 0x1401a050f
test esi, esi
je 0x1401a050f
mov rax, qword [rsp + 0x60]
xor r14d, r14d
mov rbx, r8
mov r13d, esi
mov rdx, qword [rsp + 0x20]
mov esi, r12d
mov r12d, 1
mov al, byte [rax - 1]
cmp byte [r8 - 1], al
mov rax, qword [rsp + 0x60]
sete r14b
sub r10, r15
sub rbx, r14
sub rax, r14
mov dword [rdx + rcx*4], r10d
add r14, 4
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + r14]
lea rdx, [rax + r14]
call fcn.1401b40b0
mov r11, rbx
mov rcx, qword [rdi + 0x18]
add r14, rax
mov rax, qword [rsp + 0x30]
sub r11, rbp
sub rax, 0x20
cmp rax, rbx
mov qword [rsp + 0x60], rax
jb 0x1401a05f7
movups xmm1, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm1
ja 0x1401a05b3
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x1401a0446
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 1
sar rdx, 3
mov dword [rdi + 0x4c], edx
lea rcx, [r14 - 3]
mov word [rax + 4], r11w
cmp rcx, 0xffff
mov dword [rax], r12d
jbe 0x1401a046f
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], cx
add rbx, r14
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jae 0x1401a060c
mov r12d, esi
mov rbp, rbx
mov esi, r13d
lea rax, [rbx + 0x80]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x38]
lea r11, [rbx + 3]
lea r10, [rbx + 1]
lea r8, [rbx + 2]
cmp r11, rax
jae 0x1401a0dc4
mov ecx, dword [rsp + 0x58]
mov eax, 0x40
mov edx, esi
mov r13d, 2
movabs r9, 0xcf1bbcdcbb000000
mov qword [rsp + 0x80], rdx
imul r9, qword [rbx]
sub eax, ecx
mov dword [rsp + 0x50], eax
mov cl, byte [rsp + 0x50]
movabs rax, 0xcf1bbcdcbb000000
imul rax, qword [rbx + 1]
shr r9, cl
shr rax, cl
mov rcx, rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + r9*4]
jmp 0x1401a0359
mov r9d, dword [rbx]
mov edx, r9d
xor edx, 1
mov dword [rsp + 0x60], edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x1401a052e
mov edx, eax
mov edx, dword [r15 + rdx]
mov dword [rsp + 0x60], edx
mov rdx, qword [rsp + 0x20]
lea r14, [rdx + rcx*4]
mov rdx, r10
sub rdx, r15
cmp dword [rsp + 0x60], r9d
jne 0x1401a02c0
mov dword [r14], edx
jmp 0x1401a0571
mov ecx, dword [r10]
xor ecx, 1
jmp 0x1401a02ed
cmp r13, 4
ja 0x1401a056a
mov rbx, qword [rsp + 0x20]
sub r8, r15
mov dword [rbx + r9*4], r8d
mov dword [rsp + 0x68], edx
mov rbx, r10
add rax, r15
mov r12, rbx
lea rdx, [rax + 4]
sub r12, rax
mov r13d, r12d
add r12d, 3
mov r14, rdx
sub r14, rax
cmp rbp, rbx
jae 0x1401a03da
cmp qword [rsp + 0x48], rax
jae 0x1401a03da
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x1401a03da
dec rbx
dec rax
jmp 0x1401a0585
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm2, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm2
jle 0x1401a0421
lea rdx, [rax + r11]
add rbp, 0x20
add rax, 0x20
movups xmm3, xmmword [rbp]
add rax, 0x20
add rbp, 0x20
movups xmmword [rax - 0x20], xmm3
movups xmm4, xmmword [rbp - 0x10]
movups xmmword [rax - 0x10], xmm4
cmp rax, rdx
jb 0x1401a05d5
jmp 0x1401a0421
mov r9, qword [rsp + 0x60]
mov r8, rbx
mov rdx, rbp
call fcn.1401baca0
jmp 0x1401a0421
movabs rcx, 0xcf1bbcdcbb000000
mov eax, dword [rsp + 0x68]
imul rcx, qword [r15 + rax + 2]
mov rax, rcx
mov cl, byte [rsp + 0x50]
shr rax, cl
mov rcx, qword [rsp + 0x20]
mov rdx, rax
mov eax, dword [rsp + 0x68]
add eax, 2
mov dword [rcx + rdx*4], eax
mov cl, byte [rsp + 0x50]
lea rdx, [rbx - 2]
movabs rax, 0xcf1bbcdcbb000000
imul rax, qword [rbx - 2]
sub rdx, r15
shr rax, cl
mov rcx, qword [rsp + 0x20]
test esi, esi
mov dword [rcx + rax*4], edx
je 0x1401a0489
xchg r13d, esi
mov rdx, rbx
mov rbp, rbx
mov eax, r13d
sub rdx, rax
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x1401a0736
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
add rdx, 4
call fcn.1401b40b0
mov cl, byte [rsp + 0x50]
mov rdx, rbx
mov r11, rax
sub rdx, r15
movabs rax, 0xcf1bbcdcbb000000
imul rax, qword [rbx]
lea rbx, [rbx + r11 + 4]
shr rax, cl
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x60], rbp
mov dword [rcx + rax*4], edx
mov rcx, qword [rdi + 0x18]
jb 0x1401a06d9
movups xmm5, xmmword [rbp]
movups xmmword [rcx], xmm5
jmp 0x1401a06e9
mov r9, qword [rsp + 0x60]
mov r8, rbp
mov rdx, rbp
call fcn.1401baca0
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x1401a0719
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], r11w
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jb 0x1401a0489
jmp 0x1401a0669
xchg r13d, esi
jmp 0x1401a0489
cmp r11d, eax
jb 0x1401a074e
xor r8d, r8d
mov r12d, eax
mov dword [rsp + 0x2c], r8d
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x1401a0a52
xor ecx, ecx
mov esi, eax
mov dword [rsp + 0x40], ecx
jmp 0x1401a0a52
movabs r9, 0xcf1bbcdcbf9b0000
mov eax, dword [r14]
imul r9, qword [r8]
mov dword [r14], edx
mov cl, byte [rsp + 0x50]
mov ebx, dword [rsp + 0x44]
shr r9, cl
cmp eax, ebx
jb 0x1401a0b0d
mov ecx, eax
mov ecx, dword [r15 + rcx]
cmp dword [r10], ecx
je 0x1401a0b18
movabs rdx, 0xcf1bbcdcbf9b0000
mov cl, byte [rsp + 0x50]
imul rdx, qword [r11]
mov rbx, qword [rsp + 0x70]
lea r14, [r8 + r13]
mov rax, qword [rsp + 0x20]
shr rdx, cl
cmp r14, rbx
mov rcx, rdx
mov eax, dword [rax + r9*4]
lea rdx, [r11 + r13]
jb 0x1401a07e9
prefetcht0 byte [r11 + 0x40]
prefetcht0 byte [r11 + 0x80]
inc r13
sub qword [rsp + 0x70], 0xffffffffffffff80
mov rbx, r8
mov r8, qword [rsp + 0x38]
mov r10, r11
cmp rdx, r8
jae 0x1401a0dc4
mov r11, rdx
mov r8, r14
mov r14, qword [rsp + 0x80]
mov rdx, r8
sub rdx, r14
mov r14d, dword [rdx]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x20]
mov dword [rsp + 0x78], r14d
mov r14, rbx
sub r14, r15
mov dword [rdx + r9*4], r14d
mov edx, dword [rsp + 0x78]
cmp dword [r8], edx
mov dword [rsp + 0x68], r14d
jne 0x1401a0acf
test esi, esi
je 0x1401a0acf
mov rax, qword [rsp + 0x60]
xor r13d, r13d
mov rbx, r8
mov r14d, esi
mov rdx, qword [rsp + 0x20]
mov esi, r12d
mov r12d, 1
mov al, byte [rax - 1]
cmp byte [r8 - 1], al
mov rax, qword [rsp + 0x60]
sete r13b
sub r10, r15
sub rbx, r13
sub rax, r13
mov dword [rdx + rcx*4], r10d
add r13, 4
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + r13]
lea rdx, [rax + r13]
call fcn.1401b40b0
mov r11, rbx
mov rcx, qword [rdi + 0x18]
add r13, rax
mov rax, qword [rsp + 0x30]
sub r11, rbp
sub rax, 0x20
cmp rax, rbx
mov qword [rsp + 0x60], rax
jb 0x1401a0bb7
movups xmm0, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm0
ja 0x1401a0b73
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x1401a08f0
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 1
sar rdx, 3
mov dword [rdi + 0x4c], edx
lea rcx, [r13 - 3]
mov word [rax + 4], r11w
cmp rcx, 0xffff
mov dword [rax], r12d
jbe 0x1401a0919
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], cx
add rbx, r13
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jb 0x1401a0a49
movabs rcx, 0xcf1bbcdcbf9b0000
mov eax, dword [rsp + 0x68]
imul rcx, qword [r15 + rax + 2]
mov rax, rcx
mov cl, byte [rsp + 0x50]
shr rax, cl
mov rcx, qword [rsp + 0x20]
mov rdx, rax
mov eax, dword [rsp + 0x68]
add eax, 2
mov dword [rcx + rdx*4], eax
mov cl, byte [rsp + 0x50]
lea rdx, [rbx - 2]
movabs rax, 0xcf1bbcdcbf9b0000
imul rax, qword [rbx - 2]
sub rdx, r15
shr rax, cl
mov rcx, qword [rsp + 0x20]
test esi, esi
mov dword [rcx + rax*4], edx
je 0x1401a0a49
mov eax, esi
mov rdx, rbx
mov rbp, rbx
sub rdx, rax
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x1401a0a49
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
add rdx, 4
call fcn.1401b40b0
mov cl, byte [rsp + 0x50]
mov rdx, rbx
mov r11, rax
sub rdx, r15
movabs rax, 0xcf1bbcdcbf9b0000
imul rax, qword [rbx]
lea rbx, [rbx + r11 + 4]
shr rax, cl
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x60], rbp
mov dword [rcx + rax*4], edx
mov rcx, qword [rdi + 0x18]
jb 0x1401a0bcc
movups xmm4, xmmword [rbp]
movups xmmword [rcx], xmm4
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x1401a0a2e
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], r11w
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jae 0x1401a0be1
xchg r14d, esi
mov r12d, esi
mov rbp, rbx
mov esi, r14d
lea rax, [rbx + 0x80]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x38]
lea r11, [rbx + 3]
lea r10, [rbx + 1]
lea r8, [rbx + 2]
cmp r11, rax
jae 0x1401a0dc4
mov ecx, dword [rsp + 0x58]
mov eax, 0x40
mov edx, esi
mov r13d, 2
movabs r9, 0xcf1bbcdcbf9b0000
mov qword [rsp + 0x80], rdx
imul r9, qword [rbx]
sub eax, ecx
mov dword [rsp + 0x50], eax
mov cl, byte [rsp + 0x50]
movabs rax, 0xcf1bbcdcbf9b0000
imul rax, qword [rbx + 1]
shr r9, cl
shr rax, cl
mov rcx, rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + r9*4]
jmp 0x1401a0803
mov r9d, dword [rbx]
mov edx, r9d
xor edx, 1
mov dword [rsp + 0x60], edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x1401a0aee
mov edx, eax
mov edx, dword [r15 + rdx]
mov dword [rsp + 0x60], edx
mov rdx, qword [rsp + 0x20]
lea r14, [rdx + rcx*4]
mov rdx, r10
sub rdx, r15
cmp dword [rsp + 0x60], r9d
jne 0x1401a076a
mov dword [r14], edx
jmp 0x1401a0b31
mov ecx, dword [r10]
xor ecx, 1
jmp 0x1401a0797
cmp r13, 4
ja 0x1401a0b2a
mov rbx, qword [rsp + 0x20]
sub r8, r15
mov dword [rbx + r9*4], r8d
mov dword [rsp + 0x68], edx
mov rbx, r10
add rax, r15
mov r12, rbx
lea rdx, [rax + 4]
sub r12, rax
mov r14d, r12d
add r12d, 3
mov r13, rdx
sub r13, rax
cmp rbp, rbx
jae 0x1401a0884
cmp qword [rsp + 0x48], rax
jae 0x1401a0884
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x1401a0884
dec rbx
dec rax
jmp 0x1401a0b45
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm1
jle 0x1401a08cb
lea rdx, [rax + r11]
add rbp, 0x20
add rax, 0x20
movups xmm2, xmmword [rbp]
add rax, 0x20
add rbp, 0x20
movups xmmword [rax - 0x20], xmm2
movups xmm3, xmmword [rbp - 0x10]
movups xmmword [rax - 0x10], xmm3
cmp rax, rdx
jb 0x1401a0b95
jmp 0x1401a08cb
mov r9, qword [rsp + 0x60]
mov r8, rbx
mov rdx, rbp
call fcn.1401baca0
jmp 0x1401a08cb
mov r9, qword [rsp + 0x60]
mov r8, rbp
mov rdx, rbp
call fcn.1401baca0
jmp 0x1401a09fe
xchg esi, r14d
jmp 0x1401a0990
cmp r11d, eax
jb 0x1401a0bf7
xor edx, edx
mov r12d, eax
mov dword [rsp + 0x2c], edx
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x1401a0d9e
mov esi, eax
xor eax, eax
mov dword [rsp + 0x40], eax
jmp 0x1401a0d9e
mov ecx, dword [rsp + 0x58]
mov eax, 0x40
mov edx, esi
mov r13d, 2
movabs r9, 0xcf1bbcdcbfa56300
mov qword [rsp + 0x80], rdx
imul r9, qword [rbx]
sub eax, ecx
mov dword [rsp + 0x50], eax
mov cl, byte [rsp + 0x50]
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rbx + 1]
shr r9, cl
shr rax, cl
mov rcx, rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + r9*4]
mov r14, qword [rsp + 0x80]
mov rdx, r8
sub rdx, r14
mov r14d, dword [rdx]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x20]
mov dword [rsp + 0x78], r14d
mov r14, rbx
sub r14, r15
mov dword [rdx + r9*4], r14d
mov edx, dword [rsp + 0x78]
cmp dword [r8], edx
mov dword [rsp + 0x68], r14d
jne 0x1401a0ddc
test esi, esi
je 0x1401a0ddc
mov rax, qword [rsp + 0x60]
xor r14d, r14d
mov rbx, r8
mov r13d, esi
mov rdx, qword [rsp + 0x20]
mov esi, r12d
mov r12d, 1
mov al, byte [rax - 1]
cmp byte [r8 - 1], al
mov rax, qword [rsp + 0x60]
sete r14b
sub r10, r15
sub rbx, r14
sub rax, r14
mov dword [rdx + rcx*4], r10d
add r14, 4
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + r14]
lea rdx, [rax + r14]
call fcn.1401b40b0
mov r11, rbx
mov rcx, qword [rdi + 0x18]
add r14, rax
mov rax, qword [rsp + 0x30]
sub r11, rbp
sub rax, 0x20
cmp rax, rbx
mov qword [rsp + 0x60], rax
jb 0x1401a0fab
movups xmm5, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm5
ja 0x1401a0f67
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x1401a0d52
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 1
sar rdx, 3
mov dword [rdi + 0x4c], edx
lea rcx, [r14 - 3]
mov word [rax + 4], r11w
cmp rcx, 0xffff
mov dword [rax], r12d
jbe 0x1401a0d7b
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], cx
add rbx, r14
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jae 0x1401a0fc0
mov r12d, esi
mov rbp, rbx
mov esi, r13d
lea rax, [rbx + 0x80]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x38]
lea r11, [rbx + 3]
lea r10, [rbx + 1]
lea r8, [rbx + 2]
cmp r11, rax
jb 0x1401a0c13
cmp dword [rsp + 0x40], 0
je 0x1401a0ed2
test esi, esi
jne 0x1401a0edb
jmp 0x1401a0ed2
mov r9d, dword [rbx]
mov edx, r9d
xor edx, 1
mov dword [rsp + 0x60], edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x1401a0dfb
mov edx, eax
mov edx, dword [r15 + rdx]
mov dword [rsp + 0x60], edx
mov rdx, qword [rsp + 0x20]
lea r14, [rdx + rcx*4]
mov rdx, r10
sub rdx, r15
cmp dword [rsp + 0x60], r9d
jne 0x1401a0e19
mov dword [r14], edx
jmp 0x1401a0f25
movabs r9, 0xcf1bbcdcbfa56300
mov eax, dword [r14]
imul r9, qword [r8]
mov dword [r14], edx
mov cl, byte [rsp + 0x50]
mov ebx, dword [rsp + 0x44]
shr r9, cl
cmp eax, ebx
jb 0x1401a0e44
mov ecx, eax
mov ecx, dword [r15 + rcx]
jmp 0x1401a0e4a
mov ecx, dword [r10]
xor ecx, 1
cmp dword [r10], ecx
jne 0x1401a0e6a
cmp r13, 4
ja 0x1401a0f1e
mov rbx, qword [rsp + 0x20]
sub r8, r15
mov dword [rbx + r9*4], r8d
jmp 0x1401a0f1e
movabs rdx, 0xcf1bbcdcbfa56300
mov cl, byte [rsp + 0x50]
imul rdx, qword [r11]
mov rbx, qword [rsp + 0x70]
lea r14, [r8 + r13]
mov rax, qword [rsp + 0x20]
shr rdx, cl
cmp r14, rbx
mov rcx, rdx
mov eax, dword [rax + r9*4]
lea rdx, [r11 + r13]
jb 0x1401a0eb3
prefetcht0 byte [r11 + 0x40]
prefetcht0 byte [r11 + 0x80]
inc r13
sub qword [rsp + 0x70], 0xffffffffffffff80
mov rbx, r8
mov r8, qword [rsp + 0x38]
mov r10, r11
cmp rdx, r8
jae 0x1401a0dc4
mov r11, rdx
mov r8, r14
jmp 0x1401a0c65
test esi, esi
cmove esi, dword [rsp + 0x40]
jmp 0x1401a0ee3
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x2c], eax
mov rdi, qword [rsp + 0xf0]
test r12d, r12d
cmove r12d, dword [rsp + 0x2c]
mov rax, qword [rsp + 0x30]
mov dword [rsp + 0x2c], r12d
mov dword [rdi], esi
mov esi, dword [rsp + 0x2c]
sub rax, rbp
mov dword [rdi + 4], esi
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x68], edx
mov rbx, r10
add rax, r15
mov r12, rbx
lea rdx, [rax + 4]
sub r12, rax
mov r13d, r12d
add r12d, 3
mov r14, rdx
sub r14, rax
cmp rbp, rbx
jae 0x1401a0ce6
cmp qword [rsp + 0x48], rax
jae 0x1401a0ce6
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x1401a0ce6
dec rbx
dec rax
jmp 0x1401a0f39
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm0
jle 0x1401a0d2d
lea rdx, [rax + r11]
add rbp, 0x20
add rax, 0x20
movups xmm1, xmmword [rbp]
add rax, 0x20
add rbp, 0x20
movups xmmword [rax - 0x20], xmm1
movups xmm2, xmmword [rbp - 0x10]
movups xmmword [rax - 0x10], xmm2
cmp rax, rdx
jb 0x1401a0f89
jmp 0x1401a0d2d
mov r9, qword [rsp + 0x60]
mov r8, rbx
mov rdx, rbp
call fcn.1401baca0
jmp 0x1401a0d2d
movabs rcx, 0xcf1bbcdcbfa56300
mov eax, dword [rsp + 0x68]
imul rcx, qword [r15 + rax + 2]
mov rax, rcx
mov cl, byte [rsp + 0x50]
shr rax, cl
mov rcx, qword [rsp + 0x20]
mov rdx, rax
mov eax, dword [rsp + 0x68]
add eax, 2
mov dword [rcx + rdx*4], eax
mov cl, byte [rsp + 0x50]
lea rdx, [rbx - 2]
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rbx - 2]
sub rdx, r15
shr rax, cl
mov rcx, qword [rsp + 0x20]
test esi, esi
mov dword [rcx + rax*4], edx
je 0x1401a0d95
xchg r13d, esi
mov rdx, rbx
mov rbp, rbx
mov eax, r13d
sub rdx, rax
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x1401a10ea
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
add rdx, 4
call fcn.1401b40b0
mov cl, byte [rsp + 0x50]
mov rdx, rbx
mov r11, rax
sub rdx, r15
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rbx]
lea rbx, [rbx + r11 + 4]
shr rax, cl
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x60], rbp
mov dword [rcx + rax*4], edx
mov rcx, qword [rdi + 0x18]
jb 0x1401a108d
movups xmm3, xmmword [rbp]
movups xmmword [rcx], xmm3
jmp 0x1401a109d
mov r9, qword [rsp + 0x60]
mov r8, rbp
mov rdx, rbp
call fcn.1401baca0
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x1401a10cd
mov rdx, rax
sub rdx, qword [rdi]
mov dword [rdi + 0x48], 2
sar rdx, 3
mov dword [rdi + 0x4c], edx
mov word [rax + 6], r11w
add rax, 8
cmp qword [rsp + 0x38], rbx
mov qword [rdi + 8], rax
jb 0x1401a0d95
jmp 0x1401a101d
xchg r13d, esi
jmp 0x1401a0d95
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov esi, 1
mov edi, dword [rsp + 0x148]
mov r14, qword [rcx + 8]
mov r12d, dword [rcx + 0x108]
mov r11d, dword [rcx + 0x28]
mov rbp, rdx
mov edx, dword [rcx + 0x114]
mov dword [rsp + 0x38], edi
mov rax, rcx
mov rdi, qword [rcx + 0x70]
mov qword [rsp + 0x78], r8
mov rbx, r9
mov r8, qword [rsp + 0x140]
cmp edx, 1
adc edx, 1
mov qword [rsp + 0x40], rdi
mov edi, edx
mov rdx, r9
mov r9d, dword [rcx + 0x1c]
mov qword [rsp + 0xa0], rdi
mov rdi, qword [rcx + 0x10]
sub rdx, r14
mov ecx, dword [rcx + 0x100]
lea r10d, [rdx + r8]
mov dword [rsp + 0x60], r9d
mov qword [rsp + 0x50], rdi
shl esi, cl
mov ecx, esi
mov esi, r10d
sub esi, r9d
cmp ecx, esi
jae 0x1401a2f0f
sub r10d, ecx
mov dword [rsp + 0x60], r10d
mov rdi, qword [rsp + 0x50]
test r11d, r11d
cmove r9d, dword [rsp + 0x60]
mov ecx, r9d
mov dword [rsp + 0x60], r9d
add rdi, rcx
mov ecx, dword [rax + 0x18]
mov qword [rsp + 0xc0], rdi
mov edi, r9d
cmp ecx, r9d
cmovae edi, ecx
mov r9d, edi
mov dword [rsp + 0x3c], edi
lea rdi, [r14 + r9]
mov qword [rsp + 0x88], rdi
mov rdi, qword [rsp + 0x50]
add rdi, r9
mov qword [rsp + 0x90], rdi
lea rdi, [rbx + r8]
mov qword [rsp + 0x58], rdi
sub rdi, 8
cmp dword [rsp + 0x60], ecx
mov qword [rsp + 0x80], rdi
mov rdi, qword [rsp + 0x78]
mov edi, dword [rdi]
mov dword [rsp + 0x70], edi
mov rdi, qword [rsp + 0x78]
mov esi, dword [rdi + 4]
mov dword [rsp + 0x64], esi
jb 0x1401a2fbd
mov qword [rsp + 0x140], r8
mov r9, rbx
mov r8, rdi
mov rdx, rbp
mov rcx, rax
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x14019ead0
mov eax, dword [rsp + 0x60]
xor r8d, r8d
mov dword [rsp + 0x68], r8d
sub edx, eax
cmp dword [rsp + 0x64], edx
jae 0x1401a2fdf
mov eax, dword [rsp + 0x64]
xor ecx, ecx
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x68], eax
xor edi, edi
cmp dword [rsp + 0x70], edx
jae 0x1401a2ff1
xor eax, eax
mov edi, dword [rsp + 0x70]
mov dword [rsp + 0x70], eax
mov eax, 0x40
sub eax, r12d
mov dword [rsp + 0x74], eax
lea rax, [rbx + 0x80]
mov qword [rsp + 0xb8], rax
lea rax, [rbx + 1]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xa0]
lea r8, [rbx + rax]
mov rax, qword [rsp + 0x80]
lea r9, [r8 + 1]
cmp r9, rax
jb 0x1401a304a
cmp dword [rsp + 0x70], 0
je 0x1401a3383
test edi, edi
jne 0x1401a338f
jmp 0x1401a3383
cmp dword [rsp + 0x38], 6
je 0x1401a308e
cmp dword [rsp + 0x38], 7
je 0x1401a30a2
cmp dword [rsp + 0x38], 5
je 0x1401a307a
imul eax, dword [rbx], 0x9e3779b1
mov ecx, 0x20
imul esi, dword [rbx + 1], 0x9e3779b1
sub ecx, r12d
shr eax, cl
shr esi, cl
jmp 0x1401a30c6
movabs rsi, 0xcf1bbcdcbb000000
mov ecx, 0x40
sub ecx, r12d
jmp 0x1401a30b4
movabs rsi, 0xcf1bbcdcbf9b0000
mov ecx, 0x40
sub ecx, r12d
jmp 0x1401a30b4
movabs rsi, 0xcf1bbcdcbfa56300
mov ecx, 0x40
sub ecx, r12d
mov rax, qword [rbx]
imul rax, rsi
imul rsi, qword [rbx + 1]
shr rax, cl
shr rsi, cl
mov rdx, qword [rsp + 0x40]
mov r13, rbx
mov ecx, dword [rsp + 0x3c]
mov r10, qword [rsp + 0x50]
mov edx, dword [rdx + rax*4]
cmp edx, ecx
mov rcx, qword [rsp + 0xa0]
cmovae r10, r14
mov qword [rsp + 0x98], rcx
mov ecx, dword [rsp + 0x3c]
add ecx, edi
mov dword [rsp + 0xcc], ecx
mov ecx, 0x20
sub ecx, r12d
mov dword [rsp + 0xc8], ecx
mov r15d, dword [rsp + 0x3c]
mov r11, r8
sub r11, r14
mov ecx, r11d
sub ecx, edi
cmp ecx, r15d
mov r15, qword [rsp + 0x50]
cmovae r15, r14
mov qword [rsp + 0xa8], r15
mov r15d, dword [rsp + 0xcc]
sub r15d, r11d
cmp r15d, 3
jbe 0x1401a3156
test edi, edi
je 0x1401a3156
mov r15, qword [rsp + 0xa8]
mov r11d, ecx
mov r11d, dword [r15 + r11]
jmp 0x1401a315d
mov r11d, dword [r8]
xor r11d, 1
mov r15, r13
mov dword [rsp + 0xb4], r11d
sub r15, r14
mov r11, r15
mov dword [rsp + 0xb0], r15d
mov r15, qword [rsp + 0x40]
mov dword [r15 + rax*4], r11d
mov r11d, dword [rsp + 0xb4]
mov eax, dword [r8]
cmp eax, r11d
jne 0x1401a31e5
mov rax, qword [rsp + 0xa8]
mov edx, ecx
mov dword [rsp + 0x98], 1
mov r9, qword [rsp + 0x90]
add rax, rdx
mov rdx, rax
mov eax, dword [rsp + 0x3c]
cmp ecx, eax
mov al, byte [rdx - 1]
cmovae r9, qword [rsp + 0x58]
xor r15d, r15d
cmp byte [r8 - 1], al
sete r15b
lea r10, [r15 + 4]
sub r8, r15
sub rdx, r15
mov r13, r8
mov r15d, edi
mov edi, dword [rsp + 0x68]
jmp 0x1401a340f
mov ecx, dword [r13]
mov r15d, dword [rsp + 0x60]
mov r11d, ecx
xor r11d, 1
cmp edx, r15d
jb 0x1401a3201
mov r11d, edx
mov r11d, dword [r10 + r11]
cmp r11d, ecx
je 0x1401a33a9
mov rdx, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
lea r11, [rdx + rsi*4]
mov esi, dword [rsp + 0x3c]
mov edx, dword [r11]
cmp edx, esi
cmovae r10, r14
cmp dword [rsp + 0x38], 6
je 0x1401a3257
cmp dword [rsp + 0x38], 7
je 0x1401a3263
cmp dword [rsp + 0x38], 5
je 0x1401a324b
mov cl, byte [rsp + 0xc8]
imul eax, eax, 0x9e3779b1
shr eax, cl
jmp 0x1401a3278
movabs rax, 0xcf1bbcdcbb000000
jmp 0x1401a326d
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x1401a326d
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [r8]
mov cl, byte [rsp + 0x74]
shr rax, cl
mov rcx, qword [rsp + 0x48]
mov esi, dword [rsp + 0x60]
sub rcx, r14
cmp edx, esi
mov dword [rsp + 0xb0], ecx
mov dword [r11], ecx
jb 0x1401a329a
mov ecx, edx
mov ecx, dword [r10 + rcx]
jmp 0x1401a32ad
mov rsi, qword [rsp + 0x48]
mov esi, dword [rsi]
mov ecx, esi
mov dword [rsp + 0xa8], esi
xor ecx, 1
mov rsi, qword [rsp + 0x48]
cmp dword [rsi], ecx
je 0x1401a339c
mov rsi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
mov edx, dword [rsi + rax*4]
mov esi, dword [rsp + 0x3c]
cmp edx, esi
cmovae r10, r14
cmp dword [rsp + 0x38], 6
je 0x1401a3304
cmp dword [rsp + 0x38], 7
je 0x1401a3310
cmp dword [rsp + 0x38], 5
je 0x1401a32f8
mov cl, byte [rsp + 0xc8]
imul esi, dword [r9], 0x9e3779b1
shr esi, cl
jmp 0x1401a3325
movabs rsi, 0xcf1bbcdcbb000000
jmp 0x1401a331a
movabs rsi, 0xcf1bbcdcbf9b0000
jmp 0x1401a331a
movabs rsi, 0xcf1bbcdcbfa56300
imul rsi, qword [r9]
mov cl, byte [rsp + 0x74]
shr rsi, cl
mov rcx, qword [rsp + 0x98]
mov r15, qword [rsp + 0xb8]
lea r11, [r8 + rcx]
add rcx, r9
cmp r11, r15
jb 0x1401a335f
prefetcht0 byte [r9 + 0x40]
prefetcht0 byte [r9 + 0x80]
inc qword [rsp + 0x98]
sub qword [rsp + 0xb8], 0xffffffffffffff80
mov r13, r8
mov r8, qword [rsp + 0x80]
mov qword [rsp + 0x48], r9
cmp rcx, r8
jae 0x1401a3032
mov r9, rcx
mov r8, r11
jmp 0x1401a310c
test edi, edi
cmove edi, dword [rsp + 0x70]
jmp 0x1401a379d
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x64], eax
jmp 0x1401a379d
mov r13, qword [rsp + 0x48]
mov rsi, rax
mov qword [rsp + 0x48], r8
mov r15d, dword [rsp + 0xb0]
mov eax, dword [rsp + 0x3c]
sub r15d, edx
cmp edx, eax
jae 0x1401a33ce
mov rax, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x90]
jmp 0x1401a33db
mov rax, qword [rsp + 0x88]
mov r9, qword [rsp + 0x58]
lea ecx, [r15 + 3]
add rdx, r10
mov dword [rsp + 0x98], ecx
lea rcx, [rdx + 4]
mov r10, rcx
sub r10, rdx
cmp rbx, r13
jae 0x1401a340f
cmp rax, rdx
jae 0x1401a340f
mov r8b, byte [rdx - 1]
cmp byte [r13 - 1], r8b
jne 0x1401a340f
dec r13
dec rdx
jmp 0x1401a33ed
mov rax, qword [rsp + 0x88]
add rdx, r10
mov qword [rsp + 0x68], r10
mov r8, qword [rsp + 0x58]
lea rcx, [r13 + r10]
mov qword [rsp + 0x20], rax
call fcn.1401b4490
mov r10, qword [rsp + 0x68]
mov r11, r13
sub r11, rbx
mov rcx, qword [rbp + 0x18]
add r10, rax
mov rax, qword [rsp + 0x58]
sub rax, 0x20
cmp rax, r13
mov qword [rsp + 0x68], rax
jb 0x1401a34a0
movups xmm0, xmmword [rbx]
cmp r11, 0x10
movups xmmword [rcx], xmm0
jbe 0x1401a34c0
mov rax, qword [rbp + 0x18]
cmp r11, 0x20
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
jle 0x1401a34c0
lea rdx, [rax + r11]
add rbx, 0x20
add rax, 0x20
movups xmm2, xmmword [rbx]
add rax, 0x20
add rbx, 0x20
movups xmmword [rax - 0x20], xmm2
movups xmm3, xmmword [rbx - 0x10]
movups xmmword [rax - 0x10], xmm3
cmp rax, rdx
jb 0x1401a3482
jmp 0x1401a34c0
mov r9, qword [rsp + 0x68]
mov r8, r13
mov rdx, rbx
mov qword [rsp + 0xa8], r10
call fcn.1401baca0
mov r10, qword [rsp + 0xa8]
add qword [rbp + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rbp + 8]
jbe 0x1401a34e6
mov rdx, rax
sub rdx, qword [rbp]
mov dword [rbp + 0x48], 1
sar rdx, 3
mov dword [rbp + 0x4c], edx
mov ebx, dword [rsp + 0x98]
lea rcx, [r10 - 3]
mov word [rax + 4], r11w
cmp rcx, 0xffff
mov dword [rax], ebx
jbe 0x1401a3516
mov rdx, rax
sub rdx, qword [rbp]
mov dword [rbp + 0x48], 2
sar rdx, 3
mov dword [rbp + 0x4c], edx
mov word [rax + 6], cx
lea rbx, [r13 + r10]
add rax, 8
cmp qword [rsp + 0x48], rbx
mov qword [rbp + 8], rax
jae 0x1401a353e
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
sub rax, r14
mov dword [rdx + rsi*4], eax
cmp qword [rsp + 0x80], rbx
jae 0x1401a3554
mov dword [rsp + 0x68], edi
mov edi, r15d
jmp 0x1401a2ffd
mov eax, dword [rsp + 0xb0]
cmp dword [rsp + 0x38], 6
lea rdx, [r14 + rax + 2]
je 0x1401a3593
cmp dword [rsp + 0x38], 7
je 0x1401a359f
cmp dword [rsp + 0x38], 5
je 0x1401a3587
imul eax, dword [rdx], 0x9e3779b1
mov ecx, 0x20
sub ecx, r12d
shr eax, cl
jmp 0x1401a35b8
movabs rax, 0xcf1bbcdcbb000000
jmp 0x1401a35a9
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x1401a35a9
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rdx]
mov ecx, 0x40
sub ecx, r12d
shr rax, cl
mov edx, dword [rsp + 0xb0]
mov rsi, qword [rsp + 0x40]
add edx, 2
mov dword [rsi + rax*4], edx
lea rdx, [rbx - 2]
sub rdx, r14
cmp dword [rsp + 0x38], 6
je 0x1401a3605
cmp dword [rsp + 0x38], 7
je 0x1401a3611
cmp dword [rsp + 0x38], 5
je 0x1401a35f9
imul eax, dword [rbx - 2], 0x9e3779b1
mov ecx, 0x20
sub ecx, r12d
shr eax, cl
jmp 0x1401a362b
movabs rax, 0xcf1bbcdcbb000000
jmp 0x1401a361b
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x1401a361b
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rbx - 2]
mov ecx, 0x40
sub ecx, r12d
shr rax, cl
mov rsi, qword [rsp + 0x40]
mov dword [rsi + rax*4], edx
mov eax, dword [rsp + 0x3c]
lea r13d, [rax - 1]
mov r8d, dword [rsp + 0x3c]
mov rsi, rbx
sub rsi, r14
mov eax, esi
sub eax, edi
mov ecx, eax
cmp eax, r8d
lea rdx, [r14 + rcx]
jae 0x1401a365d
mov rdx, qword [rsp + 0x50]
add rdx, rcx
lea ecx, [r13 + rdi]
sub ecx, esi
cmp ecx, 2
jbe 0x1401a3548
test edi, edi
je 0x1401a3548
mov ecx, dword [rbx]
cmp dword [rdx], ecx
jne 0x1401a3548
mov ecx, dword [rsp + 0x3c]
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x90]
cmp eax, ecx
mov rax, qword [rsp + 0x88]
cmovae r9, qword [rsp + 0x58]
lea rcx, [rbx + 4]
add rdx, 4
mov qword [rsp + 0x20], rax
call fcn.1401b4490
cmp qword [rsp + 0x68], rbx
mov r11, rax
mov rcx, qword [rbp + 0x18]
lea rax, [rax + 4]
mov qword [rsp + 0x48], rax
jb 0x1401a36d1
movups xmm4, xmmword [rbx]
movups xmmword [rcx], xmm4
jmp 0x1401a36e1
mov r9, qword [rsp + 0x68]
mov r8, rbx
mov rdx, rbx
call fcn.1401baca0
mov rax, qword [rbp + 8]
lea rcx, [r11 + 1]
cmp rcx, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x1401a3713
mov rdx, rax
sub rdx, qword [rbp]
mov dword [rbp + 0x48], 2
sar rdx, 3
mov dword [rbp + 0x4c], edx
mov word [rax + 6], cx
add rax, 8
cmp dword [rsp + 0x38], 6
mov qword [rbp + 8], rax
je 0x1401a3752
cmp dword [rsp + 0x38], 7
je 0x1401a375e
cmp dword [rsp + 0x38], 5
je 0x1401a3746
imul eax, dword [rbx], 0x9e3779b1
mov ecx, 0x20
sub ecx, r12d
shr eax, cl
jmp 0x1401a3777
movabs rax, 0xcf1bbcdcbb000000
jmp 0x1401a3768
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x1401a3768
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rbx]
mov ecx, 0x40
sub ecx, r12d
shr rax, cl
mov rdx, qword [rsp + 0x40]
xchg edi, r15d
mov dword [rdx + rax*4], esi
mov rax, qword [rsp + 0x48]
add rbx, rax
cmp qword [rsp + 0x80], rbx
jae 0x1401a363b
jmp 0x1401a3548
mov rax, qword [rsp + 0x78]
cmp dword [rsp + 0x68], 0
mov dword [rax], edi
mov eax, dword [rsp + 0x68]
cmove eax, dword [rsp + 0x64]
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x78]
mov edi, dword [rsp + 0x64]
mov dword [rax + 4], edi
mov rax, qword [rsp + 0x58]
sub rax, rbx
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret