Function at 0x140211030
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.1402252f0
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.1402252f0
sub r11d, eax
cmp r12d, 1
jbe 0x14020dffd
lea eax, [r12 + 1]
xor r12d, r12d
cmp esi, 6
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x2c]
je 0x14020d694
cmp esi, 7
je 0x14020db46
cmp esi, 5
je 0x14020d1e2
cmp r11d, eax
jb 0x14020cdad
xor edx, edx
mov r12d, eax
mov dword [rsp + 0x2c], edx
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14020cdc0
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 0x14020ef84
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 0x14020ceaf
test esi, esi
je 0x14020ceaf
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 0x14020cfdb
mov ecx, dword [rbx]
mov edx, dword [rsp + 0x44]
mov r14d, ecx
xor r14d, 1
cmp eax, edx
mov dword [rsp + 0x78], r14d
jb 0x14020ced0
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 0x14020ceed
mov dword [r14], r13d
jmp 0x14020cfa5
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 0x14020cf11
mov ecx, eax
mov ecx, dword [r15 + rcx]
jmp 0x14020cf17
mov ecx, dword [r10]
xor ecx, 1
cmp dword [r10], ecx
jne 0x14020cf32
cmp qword [rsp + 0x60], 4
ja 0x14020cf9d
mov rbx, qword [rsp + 0x20]
sub r9, r15
mov dword [rbx + r8*4], r9d
jmp 0x14020cf9d
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 0x14020cf7e
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 0x14020ef84
mov r11, rcx
mov r9, r14
jmp 0x14020ce41
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 0x14020cfdb
cmp qword [rsp + 0x48], rax
jae 0x14020cfdb
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x14020cfdb
dec rbx
dec rax
jmp 0x14020cfb9
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + r14]
lea rdx, [rax + r14]
call fcn.140222270
mov r11, rbx
mov rcx, qword [rdi + 0x18]
add r14, rax
sub r11, rbp
cmp qword [rsp + 0x68], rbx
jb 0x14020d04b
movups xmm0, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm0
jbe 0x14020d05b
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm1
jle 0x14020d05b
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 0x14020d02c
jmp 0x14020d05b
mov r9, qword [rsp + 0x68]
mov r8, rbx
mov rdx, rbp
call fcn.140228e60
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x14020d080
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 0x14020d0a9
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 0x14020d0cd
mov r12d, esi
mov rbp, rbx
mov esi, r13d
jmp 0x14020cddd
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 0x14020d0bf
xchg r13d, esi
mov rdx, rbx
mov r12d, dword [rbx]
mov rbp, rbx
mov eax, r13d
sub rdx, rax
cmp r12d, dword [rdx]
jne 0x14020d1da
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
imul r12d, r12d, 0x9e3779b1
add rdx, 4
call fcn.140222270
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 0x14020d17d
movups xmm4, xmmword [rbp]
movups xmmword [rcx], xmm4
jmp 0x14020d18d
mov r9, qword [rsp + 0x68]
mov r8, rbp
mov rdx, rbp
call fcn.140228e60
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x14020d1bd
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 0x14020d0bf
jmp 0x14020d111
xchg r13d, esi
jmp 0x14020d0bf
cmp r11d, eax
jb 0x14020d1f0
mov r12d, eax
xor eax, eax
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14020d3e4
mov esi, eax
xor eax, eax
mov dword [rsp + 0x40], eax
jmp 0x14020d3e4
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 0x14020d4a3
mov ecx, eax
mov ecx, dword [r15 + rcx]
cmp dword [r10], ecx
je 0x14020d4ae
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 0x14020d28b
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 0x14020ef84
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 0x14020d465
test esi, esi
je 0x14020d465
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.140222270
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 0x14020d54d
movups xmm5, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm5
ja 0x14020d509
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x14020d398
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 0x14020d3c1
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 0x14020d562
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 0x14020ef84
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 0x14020d2a5
mov r9d, dword [rbx]
mov edx, r9d
xor edx, 1
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x14020d484
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 0x14020d20c
mov dword [r14], edx
jmp 0x14020d4c7
mov ecx, dword [r10]
xor ecx, 1
jmp 0x14020d239
cmp r13, 4
ja 0x14020d4c0
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 0x14020d32c
cmp qword [rsp + 0x48], rax
jae 0x14020d32c
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x14020d32c
dec rbx
dec rax
jmp 0x14020d4db
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm0
jle 0x14020d373
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 0x14020d52b
jmp 0x14020d373
mov r9, qword [rsp + 0x68]
mov r8, rbx
mov rdx, rbp
call fcn.140228e60
jmp 0x14020d373
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 0x14020d3db
xchg r13d, esi
mov rdx, rbx
mov rbp, rbx
mov eax, r13d
sub rdx, rax
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x14020d68c
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
add rdx, 4
call fcn.140222270
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 0x14020d62f
movups xmm3, xmmword [rbp]
movups xmmword [rcx], xmm3
jmp 0x14020d63f
mov r9, qword [rsp + 0x68]
mov r8, rbp
mov rdx, rbp
call fcn.140228e60
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x14020d66f
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 0x14020d3db
jmp 0x14020d5bf
xchg r13d, esi
jmp 0x14020d3db
cmp r11d, eax
jb 0x14020d6a2
mov r12d, eax
xor eax, eax
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14020d896
mov esi, eax
xor eax, eax
mov dword [rsp + 0x40], eax
jmp 0x14020d896
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 0x14020d955
mov ecx, eax
mov ecx, dword [r15 + rcx]
cmp dword [r10], ecx
je 0x14020d960
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 0x14020d73d
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 0x14020ef84
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 0x14020d917
test esi, esi
je 0x14020d917
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.140222270
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 0x14020d9ff
movups xmm4, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm4
ja 0x14020d9bb
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x14020d84a
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 0x14020d873
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 0x14020da14
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 0x14020ef84
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 0x14020d757
mov r9d, dword [rbx]
mov edx, r9d
xor edx, 1
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x14020d936
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 0x14020d6be
mov dword [r14], edx
jmp 0x14020d979
mov ecx, dword [r10]
xor ecx, 1
jmp 0x14020d6eb
cmp r13, 4
ja 0x14020d972
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 0x14020d7de
cmp qword [rsp + 0x48], rax
jae 0x14020d7de
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x14020d7de
dec rbx
dec rax
jmp 0x14020d98d
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm5, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm5
jle 0x14020d825
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 0x14020d9dd
jmp 0x14020d825
mov r9, qword [rsp + 0x68]
mov r8, rbx
mov rdx, rbp
call fcn.140228e60
jmp 0x14020d825
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 0x14020d88d
xchg r13d, esi
mov rdx, rbx
mov rbp, rbx
mov eax, r13d
sub rdx, rax
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x14020db3e
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
add rdx, 4
call fcn.140222270
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 0x14020dae1
movups xmm2, xmmword [rbp]
movups xmmword [rcx], xmm2
jmp 0x14020daf1
mov r9, qword [rsp + 0x68]
mov r8, rbp
mov rdx, rbp
call fcn.140228e60
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x14020db21
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 0x14020d88d
jmp 0x14020da71
xchg r13d, esi
jmp 0x14020d88d
cmp r11d, eax
jb 0x14020db56
xor r14d, r14d
mov r12d, eax
mov dword [rsp + 0x2c], r14d
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14020de62
xor r13d, r13d
mov esi, eax
mov dword [rsp + 0x40], r13d
jmp 0x14020de62
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 0x14020df21
mov ecx, eax
mov ecx, dword [r15 + rcx]
cmp dword [r10], ecx
je 0x14020df2c
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 0x14020dbf3
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 0x14020ef84
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 0x14020dee3
test esi, esi
je 0x14020dee3
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.140222270
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 0x14020dfcb
movups xmm3, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm3
ja 0x14020df87
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x14020dd00
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 0x14020dd29
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 0x14020de59
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 0x14020de59
mov eax, esi
mov rdx, rbx
mov rbp, rbx
sub rdx, rax
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x14020de59
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
add rdx, 4
call fcn.140222270
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 0x14020dfe0
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 0x14020de3e
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 0x14020dff5
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 0x14020ef84
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 0x14020dc0d
mov r9d, dword [rbx]
mov edx, r9d
xor edx, 1
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x14020df02
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 0x14020db74
mov dword [r14], edx
jmp 0x14020df45
mov ecx, dword [r10]
xor ecx, 1
jmp 0x14020dba1
cmp r13, 4
ja 0x14020df3e
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 0x14020dc94
cmp qword [rsp + 0x48], rax
jae 0x14020dc94
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x14020dc94
dec rbx
dec rax
jmp 0x14020df59
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm4, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm4
jle 0x14020dcdb
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 0x14020dfa9
jmp 0x14020dcdb
mov r9, qword [rsp + 0x68]
mov r8, rbx
mov rdx, rbp
call fcn.140228e60
jmp 0x14020dcdb
mov r9, qword [rsp + 0x68]
mov r8, rbp
mov rdx, rbp
call fcn.140228e60
jmp 0x14020de0e
xchg esi, r14d
jmp 0x14020dda0
xor r12d, r12d
cmp esi, 6
mov eax, dword [rsp + 0x2c]
je 0x14020e8fe
cmp esi, 7
je 0x14020eda9
cmp esi, 5
je 0x14020e452
cmp r11d, eax
jb 0x14020e02d
xor esi, esi
mov r12d, eax
mov dword [rsp + 0x2c], esi
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14020e042
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 0x14020ef84
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 0x14020e125
test esi, esi
je 0x14020e125
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 0x14020e240
mov ecx, dword [rbx]
mov edx, ecx
xor edx, 1
mov r13d, edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x14020e13d
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 0x14020e159
mov dword [r14], edx
jmp 0x14020e20a
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 0x14020e17d
mov ecx, eax
mov ecx, dword [r15 + rcx]
jmp 0x14020e183
mov ecx, dword [r10]
xor ecx, 1
cmp dword [r10], ecx
jne 0x14020e19e
cmp qword [rsp + 0x58], 4
ja 0x14020e203
mov rbx, qword [rsp + 0x20]
sub r9, r15
mov dword [rbx + r8*4], r9d
jmp 0x14020e203
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 0x14020e1e4
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 0x14020ef84
mov r11, rdx
mov r9, rcx
jmp 0x14020e0ba
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 0x14020e240
cmp qword [rsp + 0x48], rax
jae 0x14020e240
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x14020e240
dec rbx
dec rax
jmp 0x14020e21e
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + r9]
mov qword [rsp + 0x58], r9
lea rdx, [rax + r9]
call fcn.140222270
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 0x14020e2bb
movups xmm2, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm2
jbe 0x14020e2cb
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm3, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm3
jle 0x14020e2cb
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 0x14020e29c
jmp 0x14020e2cb
mov r9, qword [rsp + 0x60]
mov r8, rbx
mov rdx, rbp
call fcn.140228e60
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x14020e2f0
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 0x14020e319
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 0x14020e33d
mov r12d, esi
mov rbp, rbx
mov esi, r13d
jmp 0x14020e05f
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 0x14020e32f
xchg r13d, esi
mov rdx, rbx
mov r12d, dword [rbx]
mov rbp, rbx
mov eax, r13d
sub rdx, rax
cmp r12d, dword [rdx]
jne 0x14020e44a
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
imul r12d, r12d, 0x9e3779b1
add rdx, 4
call fcn.140222270
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 0x14020e3ed
movups xmm0, xmmword [rbp]
movups xmmword [rcx], xmm0
jmp 0x14020e3fd
mov r9, qword [rsp + 0x60]
mov r8, rbp
mov rdx, rbp
call fcn.140228e60
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x14020e42d
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 0x14020e32f
jmp 0x14020e381
xchg r13d, esi
jmp 0x14020e32f
cmp r11d, eax
jb 0x14020e462
xor r10d, r10d
mov r12d, eax
mov dword [rsp + 0x2c], r10d
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14020e652
xor r9d, r9d
mov esi, eax
mov dword [rsp + 0x40], r9d
jmp 0x14020e652
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 0x14020e70d
mov ecx, eax
mov ecx, dword [r15 + rcx]
cmp dword [r10], ecx
je 0x14020e718
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 0x14020e4ff
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 0x14020ef84
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 0x14020e6cf
test esi, esi
je 0x14020e6cf
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.140222270
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 0x14020e7b7
movups xmm1, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm1
ja 0x14020e773
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x14020e606
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 0x14020e62f
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 0x14020e7cc
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 0x14020ef84
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 0x14020e519
mov r9d, dword [rbx]
mov edx, r9d
xor edx, 1
mov dword [rsp + 0x60], edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x14020e6ee
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 0x14020e480
mov dword [r14], edx
jmp 0x14020e731
mov ecx, dword [r10]
xor ecx, 1
jmp 0x14020e4ad
cmp r13, 4
ja 0x14020e72a
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 0x14020e59a
cmp qword [rsp + 0x48], rax
jae 0x14020e59a
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x14020e59a
dec rbx
dec rax
jmp 0x14020e745
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm2, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm2
jle 0x14020e5e1
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 0x14020e795
jmp 0x14020e5e1
mov r9, qword [rsp + 0x60]
mov r8, rbx
mov rdx, rbp
call fcn.140228e60
jmp 0x14020e5e1
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 0x14020e649
xchg r13d, esi
mov rdx, rbx
mov rbp, rbx
mov eax, r13d
sub rdx, rax
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x14020e8f6
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
add rdx, 4
call fcn.140222270
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 0x14020e899
movups xmm5, xmmword [rbp]
movups xmmword [rcx], xmm5
jmp 0x14020e8a9
mov r9, qword [rsp + 0x60]
mov r8, rbp
mov rdx, rbp
call fcn.140228e60
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x14020e8d9
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 0x14020e649
jmp 0x14020e829
xchg r13d, esi
jmp 0x14020e649
cmp r11d, eax
jb 0x14020e90e
xor r8d, r8d
mov r12d, eax
mov dword [rsp + 0x2c], r8d
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14020ec12
xor ecx, ecx
mov esi, eax
mov dword [rsp + 0x40], ecx
jmp 0x14020ec12
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 0x14020eccd
mov ecx, eax
mov ecx, dword [r15 + rcx]
cmp dword [r10], ecx
je 0x14020ecd8
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 0x14020e9a9
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 0x14020ef84
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 0x14020ec8f
test esi, esi
je 0x14020ec8f
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.140222270
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 0x14020ed77
movups xmm0, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm0
ja 0x14020ed33
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x14020eab0
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 0x14020ead9
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 0x14020ec09
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 0x14020ec09
mov eax, esi
mov rdx, rbx
mov rbp, rbx
sub rdx, rax
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x14020ec09
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
add rdx, 4
call fcn.140222270
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 0x14020ed8c
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 0x14020ebee
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 0x14020eda1
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 0x14020ef84
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 0x14020e9c3
mov r9d, dword [rbx]
mov edx, r9d
xor edx, 1
mov dword [rsp + 0x60], edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x14020ecae
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 0x14020e92a
mov dword [r14], edx
jmp 0x14020ecf1
mov ecx, dword [r10]
xor ecx, 1
jmp 0x14020e957
cmp r13, 4
ja 0x14020ecea
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 0x14020ea44
cmp qword [rsp + 0x48], rax
jae 0x14020ea44
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x14020ea44
dec rbx
dec rax
jmp 0x14020ed05
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm1
jle 0x14020ea8b
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 0x14020ed55
jmp 0x14020ea8b
mov r9, qword [rsp + 0x60]
mov r8, rbx
mov rdx, rbp
call fcn.140228e60
jmp 0x14020ea8b
mov r9, qword [rsp + 0x60]
mov r8, rbp
mov rdx, rbp
call fcn.140228e60
jmp 0x14020ebbe
xchg esi, r14d
jmp 0x14020eb50
cmp r11d, eax
jb 0x14020edb7
xor edx, edx
mov r12d, eax
mov dword [rsp + 0x2c], edx
mov eax, dword [rsp + 0x40]
xor esi, esi
cmp r11d, eax
jb 0x14020ef5e
mov esi, eax
xor eax, eax
mov dword [rsp + 0x40], eax
jmp 0x14020ef5e
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 0x14020ef9c
test esi, esi
je 0x14020ef9c
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.140222270
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 0x14020f16b
movups xmm5, xmmword [rbp]
cmp r11, 0x10
movups xmmword [rcx], xmm5
ja 0x14020f127
add qword [rdi + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rdi + 8]
jbe 0x14020ef12
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 0x14020ef3b
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 0x14020f180
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 0x14020edd3
cmp dword [rsp + 0x40], 0
je 0x14020f092
test esi, esi
jne 0x14020f09b
jmp 0x14020f092
mov r9d, dword [rbx]
mov edx, r9d
xor edx, 1
mov dword [rsp + 0x60], edx
mov edx, dword [rsp + 0x44]
cmp eax, edx
jb 0x14020efbb
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 0x14020efd9
mov dword [r14], edx
jmp 0x14020f0e5
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 0x14020f004
mov ecx, eax
mov ecx, dword [r15 + rcx]
jmp 0x14020f00a
mov ecx, dword [r10]
xor ecx, 1
cmp dword [r10], ecx
jne 0x14020f02a
cmp r13, 4
ja 0x14020f0de
mov rbx, qword [rsp + 0x20]
sub r8, r15
mov dword [rbx + r9*4], r8d
jmp 0x14020f0de
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 0x14020f073
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 0x14020ef84
mov r11, rdx
mov r8, r14
jmp 0x14020ee25
test esi, esi
cmove esi, dword [rsp + 0x40]
jmp 0x14020f0a3
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 0x14020eea6
cmp qword [rsp + 0x48], rax
jae 0x14020eea6
mov cl, byte [rax - 1]
cmp byte [rbx - 1], cl
jne 0x14020eea6
dec rbx
dec rax
jmp 0x14020f0f9
mov rax, qword [rdi + 0x18]
cmp r11, 0x20
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm0
jle 0x14020eeed
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 0x14020f149
jmp 0x14020eeed
mov r9, qword [rsp + 0x60]
mov r8, rbx
mov rdx, rbp
call fcn.140228e60
jmp 0x14020eeed
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 0x14020ef55
xchg r13d, esi
mov rdx, rbx
mov rbp, rbx
mov eax, r13d
sub rdx, rax
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x14020f2aa
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 4]
mov rdx, rbx
sub rdx, rax
add rdx, 4
call fcn.140222270
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 0x14020f24d
movups xmm3, xmmword [rbp]
movups xmmword [rcx], xmm3
jmp 0x14020f25d
mov r9, qword [rsp + 0x60]
mov r8, rbp
mov rdx, rbp
call fcn.140228e60
mov rax, qword [rdi + 8]
inc r11
cmp r11, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x14020f28d
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 0x14020ef55
jmp 0x14020f1dd
xchg r13d, esi
jmp 0x14020ef55
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 0x1402110cf
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 0x14021117d
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 0x14020cc90
mov eax, dword [rsp + 0x60]
xor r8d, r8d
mov dword [rsp + 0x68], r8d
sub edx, eax
cmp dword [rsp + 0x64], edx
jae 0x14021119f
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 0x1402111b1
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 0x14021120a
cmp dword [rsp + 0x70], 0
je 0x140211543
test edi, edi
jne 0x14021154f
jmp 0x140211543
cmp dword [rsp + 0x38], 6
je 0x14021124e
cmp dword [rsp + 0x38], 7
je 0x140211262
cmp dword [rsp + 0x38], 5
je 0x14021123a
imul eax, dword [rbx], 0x9e3779b1
mov ecx, 0x20
imul esi, dword [rbx + 1], 0x9e3779b1
sub ecx, r12d
shr eax, cl
shr esi, cl
jmp 0x140211286
movabs rsi, 0xcf1bbcdcbb000000
mov ecx, 0x40
sub ecx, r12d
jmp 0x140211274
movabs rsi, 0xcf1bbcdcbf9b0000
mov ecx, 0x40
sub ecx, r12d
jmp 0x140211274
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 0x140211316
test edi, edi
je 0x140211316
mov r15, qword [rsp + 0xa8]
mov r11d, ecx
mov r11d, dword [r15 + r11]
jmp 0x14021131d
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 0x1402113a5
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 0x1402115cf
mov ecx, dword [r13]
mov r15d, dword [rsp + 0x60]
mov r11d, ecx
xor r11d, 1
cmp edx, r15d
jb 0x1402113c1
mov r11d, edx
mov r11d, dword [r10 + r11]
cmp r11d, ecx
je 0x140211569
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 0x140211417
cmp dword [rsp + 0x38], 7
je 0x140211423
cmp dword [rsp + 0x38], 5
je 0x14021140b
mov cl, byte [rsp + 0xc8]
imul eax, eax, 0x9e3779b1
shr eax, cl
jmp 0x140211438
movabs rax, 0xcf1bbcdcbb000000
jmp 0x14021142d
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x14021142d
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 0x14021145a
mov ecx, edx
mov ecx, dword [r10 + rcx]
jmp 0x14021146d
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 0x14021155c
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 0x1402114c4
cmp dword [rsp + 0x38], 7
je 0x1402114d0
cmp dword [rsp + 0x38], 5
je 0x1402114b8
mov cl, byte [rsp + 0xc8]
imul esi, dword [r9], 0x9e3779b1
shr esi, cl
jmp 0x1402114e5
movabs rsi, 0xcf1bbcdcbb000000
jmp 0x1402114da
movabs rsi, 0xcf1bbcdcbf9b0000
jmp 0x1402114da
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 0x14021151f
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 0x1402111f2
mov r9, rcx
mov r8, r11
jmp 0x1402112cc
test edi, edi
cmove edi, dword [rsp + 0x70]
jmp 0x14021195d
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x64], eax
jmp 0x14021195d
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 0x14021158e
mov rax, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x90]
jmp 0x14021159b
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 0x1402115cf
cmp rax, rdx
jae 0x1402115cf
mov r8b, byte [rdx - 1]
cmp byte [r13 - 1], r8b
jne 0x1402115cf
dec r13
dec rdx
jmp 0x1402115ad
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.140222650
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 0x140211660
movups xmm0, xmmword [rbx]
cmp r11, 0x10
movups xmmword [rcx], xmm0
jbe 0x140211680
mov rax, qword [rbp + 0x18]
cmp r11, 0x20
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
jle 0x140211680
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 0x140211642
jmp 0x140211680
mov r9, qword [rsp + 0x68]
mov r8, r13
mov rdx, rbx
mov qword [rsp + 0xa8], r10
call fcn.140228e60
mov r10, qword [rsp + 0xa8]
add qword [rbp + 0x18], r11
cmp r11, 0xffff
mov rax, qword [rbp + 8]
jbe 0x1402116a6
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 0x1402116d6
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 0x1402116fe
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 0x140211714
mov dword [rsp + 0x68], edi
mov edi, r15d
jmp 0x1402111bd
mov eax, dword [rsp + 0xb0]
cmp dword [rsp + 0x38], 6
lea rdx, [r14 + rax + 2]
je 0x140211753
cmp dword [rsp + 0x38], 7
je 0x14021175f
cmp dword [rsp + 0x38], 5
je 0x140211747
imul eax, dword [rdx], 0x9e3779b1
mov ecx, 0x20
sub ecx, r12d
shr eax, cl
jmp 0x140211778
movabs rax, 0xcf1bbcdcbb000000
jmp 0x140211769
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x140211769
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 0x1402117c5
cmp dword [rsp + 0x38], 7
je 0x1402117d1
cmp dword [rsp + 0x38], 5
je 0x1402117b9
imul eax, dword [rbx - 2], 0x9e3779b1
mov ecx, 0x20
sub ecx, r12d
shr eax, cl
jmp 0x1402117eb
movabs rax, 0xcf1bbcdcbb000000
jmp 0x1402117db
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x1402117db
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 0x14021181d
mov rdx, qword [rsp + 0x50]
add rdx, rcx
lea ecx, [r13 + rdi]
sub ecx, esi
cmp ecx, 2
jbe 0x140211708
test edi, edi
je 0x140211708
mov ecx, dword [rbx]
cmp dword [rdx], ecx
jne 0x140211708
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.140222650
cmp qword [rsp + 0x68], rbx
mov r11, rax
mov rcx, qword [rbp + 0x18]
lea rax, [rax + 4]
mov qword [rsp + 0x48], rax
jb 0x140211891
movups xmm4, xmmword [rbx]
movups xmmword [rcx], xmm4
jmp 0x1402118a1
mov r9, qword [rsp + 0x68]
mov r8, rbx
mov rdx, rbx
call fcn.140228e60
mov rax, qword [rbp + 8]
lea rcx, [r11 + 1]
cmp rcx, 0xffff
mov word [rax + 4], 0
mov dword [rax], 1
jbe 0x1402118d3
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 0x140211912
cmp dword [rsp + 0x38], 7
je 0x14021191e
cmp dword [rsp + 0x38], 5
je 0x140211906
imul eax, dword [rbx], 0x9e3779b1
mov ecx, 0x20
sub ecx, r12d
shr eax, cl
jmp 0x140211937
movabs rax, 0xcf1bbcdcbb000000
jmp 0x140211928
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x140211928
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 0x1402117fb
jmp 0x140211708
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