Function at 0x1401540b0
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, 0xa8
mov rdi, qword [rcx + 0x70]
mov r15, qword [rcx + 8]
mov rax, qword [rsp + 0x110]
mov r14d, dword [rcx + 0x18]
mov r13d, dword [rcx + 0x28]
mov qword [rsp + 0x100], r8
mov r8, r9
mov rbx, r9
mov rsi, rdx
mov qword [rsp + 0x30], rdi
mov edi, dword [rcx + 0x108]
sub r8, r15
add r8d, eax
add rax, rbx
mov r9d, dword [rcx + 0x100]
mov edx, dword [rcx + 0x110]
mov dword [rsp + 0x7c], edi
mov rdi, qword [rcx + 0x80]
mov qword [rsp + 0x28], rax
sub rax, 8
mov qword [rsp + 0x40], rdi
mov edi, dword [rcx + 0x104]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x78], edi
mov ebp, dword [rax + 4]
mov edi, dword [rax]
mov dword [rsp + 0x48], r9d
cmp edx, 6
je 0x140150cd7
cmp edx, 7
je 0x140151392
cmp edx, 5
mov ecx, r14d
mov edx, r13d
je 0x140150622
call fcn.14016cd50
xor r11d, r11d
mov r9d, dword [rsp + 0x48]
mov edx, r13d
mov dword [rsp + 0x70], eax
mov eax, eax
mov ecx, r14d
add rax, r15
cmp rbx, rax
mov qword [rsp + 0x58], rax
sete r11b
add r11, rbx
mov r12, r11
sub r12, r15
mov r8d, r12d
call fcn.14016cd50
mov dword [rsp + 0x48], 0
sub r12d, eax
cmp r12d, ebp
jae 0x14014ff97
mov dword [rsp + 0x48], ebp
xor ebp, ebp
mov dword [rsp + 0x60], 0
cmp r12d, edi
jae 0x140150124
mov dword [rsp + 0x60], edi
xor edi, edi
jmp 0x140150124
mov cl, byte [rsp + 0x54]
mov r10, qword [rsp + 0x30]
movabs r8, 0xcf1bbcdcb7a56463
mov r13d, 4
mov edx, dword [rsp + 0x88]
lea eax, [rdx + 2]
mov rdx, rax
add rax, r15
imul r8, qword [rax]
shr r8, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + r8*4], edx
mov cl, byte [rsp + 0x54]
movabs r8, 0xcf1bbcdcb7a56463
imul r8, qword [rbx - 2]
shr r8, cl
lea rcx, [rbx - 2]
sub rcx, r15
mov dword [r10 + r8*4], ecx
imul eax, dword [rax], 0x9e3779b1
mov cl, byte [rsp + 0x74]
shr eax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
imul eax, dword [rbx - 1], 0x9e3779b1
lea rdx, [rbx - 1]
mov cl, byte [rsp + 0x74]
sub rdx, r15
shr eax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov rax, qword [rsp + 0x28]
lea r12, [rax - 0x20]
mov eax, ebp
mov rdx, rbx
mov r14d, dword [rbx]
sub rdx, rax
cmp dword [rdx], r14d
jne 0x14015061b
test ebp, ebp
je 0x14015061b
mov rdx, r13
mov r8, qword [rsp + 0x28]
lea rcx, [rbx + 4]
sub rdx, rax
imul r14d, r14d, 0x9e3779b1
add rdx, rbx
call fcn.140169b50
mov cl, byte [rsp + 0x74]
mov rdx, rbx
mov r11, rax
lea rax, [rax + 4]
sub rdx, r15
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x40]
shr r14d, cl
mov cl, byte [rsp + 0x54]
mov dword [rax + r14*4], edx
movabs rax, 0xcf1bbcdcb7a56463
imul rax, qword [rbx]
shr rax, cl
mov rcx, qword [rsp + 0x30]
cmp r12, rbx
mov dword [rcx + rax*4], edx
mov rcx, qword [rsi + 0x18]
jb 0x140150601
movups xmm2, xmmword [rbx]
movups xmmword [rcx], xmm2
mov rdx, qword [rsi + 8]
lea rcx, [r11 + 1]
mov word [rdx + 4], 0
mov dword [rdx], 1
cmp rcx, 0xffff
jbe 0x140150103
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], cx
add rdx, 8
add rbx, qword [rsp + 0x68]
mov qword [rsi + 8], rdx
cmp rbx, qword [rsp + 0x38]
jbe 0x140150614
mov r11, rbx
xchg edi, ebp
mov r12, rbx
mov rbx, r11
lea rdx, [rbx + 0x100]
lea r10, [rbx + 1]
cmp r10, qword [rsp + 0x38]
jbe 0x140150154
cmp dword [rsp + 0x60], 0
je 0x1401503fd
test edi, edi
jne 0x140150406
jmp 0x1401503fd
mov eax, 0x40
sub eax, dword [rsp + 0x7c]
movabs r14, 0xcf1bbcdcb7a56463
mov r8d, edi
imul r14, qword [rbx]
mov dword [rsp + 0x54], eax
mov cl, byte [rsp + 0x54]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x80], 1
shr r14, cl
mov ecx, 0x20
sub ecx, dword [rsp + 0x78]
mov dword [rsp + 0x74], ecx
mov ecx, 1
mov r9d, dword [rax + r14*4]
sub rcx, r8
mov qword [rsp + 0x68], rcx
mov rax, r9
add r9, r15
imul r11d, dword [rbx], 0x9e3779b1
mov cl, byte [rsp + 0x74]
shr r11d, cl
mov rcx, qword [rsp + 0x40]
lea r13, [rcx + r11*4]
mov rcx, rbx
sub rcx, r15
mov r11d, dword [r13]
mov dword [r13], ecx
mov r13, qword [rsp + 0x30]
mov dword [rsp + 0x88], ecx
mov dword [r13 + r14*4], ecx
mov rcx, qword [rsp + 0x68]
mov r14d, dword [rbx + 1]
cmp dword [rbx + rcx], r14d
jne 0x140150300
test edi, edi
je 0x140150300
mov rax, rbx
lea rcx, [rbx + 5]
lea r13, [rbx + 1]
sub rax, r8
mov r8, qword [rsp + 0x28]
mov rbx, r13
lea rdx, [rax + 5]
sub rbx, r12
call fcn.140169b50
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsi + 0x18]
mov r11, rax
lea rax, [rax + 4]
lea r9, [rdx - 0x20]
cmp r13, r9
ja 0x14015028a
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp rbx, 0x10
jbe 0x14015029f
mov rdx, qword [rsi + 0x18]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm1
cmp rbx, 0x20
jle 0x14015029f
lea rcx, [rdx + rbx]
add r12, 0x20
add rdx, 0x20
movups xmm2, xmmword [r12]
add rdx, 0x20
add r12, 0x20
movups xmmword [rdx - 0x20], xmm2
movups xmm3, xmmword [r12 - 0x10]
movups xmmword [rdx - 0x10], xmm3
cmp rcx, rdx
ja 0x140150268
jmp 0x14015029f
mov r8, r13
mov rdx, r12
mov qword [rsp + 0x68], rax
call fcn.1401708f0
mov rax, qword [rsp + 0x68]
add qword [rsi + 0x18], rbx
mov rdx, qword [rsi + 8]
cmp rbx, 0xffff
jbe 0x1401502c4
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rcx, 3
mov dword [rsi + 0x4c], ecx
inc r11
mov word [rdx + 4], bx
mov dword [rdx], 1
cmp r11, 0xffff
jbe 0x1401502ee
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 2
sar rcx, 3
mov dword [rsi + 0x4c], ecx
mov word [rdx + 6], r11w
add rdx, 8
mov qword [rsi + 8], rdx
jmp 0x1401505e9
mov r13, qword [r10]
mov cl, byte [rsp + 0x54]
movabs r14, 0xcf1bbcdcb7a56463
imul r14, r13
shr r14, cl
cmp dword [rsp + 0x70], eax
jae 0x14015038f
mov rax, qword [rbx]
cmp qword [r9], rax
jne 0x14015038f
mov r8, qword [rsp + 0x28]
lea rdx, [r9 + 8]
lea rcx, [rbx + 8]
mov r13, rbx
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x68], r9
call fcn.140169b50
mov r9, qword [rsp + 0x68]
mov ecx, ebx
mov r10, qword [rsp + 0x90]
add rax, 8
sub ecx, r9d
mov dword [rsp + 0x68], ecx
cmp r12, r13
jae 0x1401504e8
cmp qword [rsp + 0x58], r9
jae 0x1401504e8
mov bl, byte [r9 - 1]
cmp byte [r13 - 1], bl
jne 0x1401504e8
dec r13
dec r9
inc rax
jmp 0x140150362
mov rax, qword [rsp + 0x30]
mov r9d, dword [rax + r14*4]
mov rax, r9
add r9, r15
cmp dword [rsp + 0x70], r11d
jae 0x1401503ba
add r11, r15
mov ecx, dword [rbx]
cmp dword [r11], ecx
jne 0x1401503ba
cmp dword [rsp + 0x70], eax
jb 0x140150428
jmp 0x14015048b
cmp r10, rdx
jb 0x1401503db
prefetcht0 byte [r10 + 0x40]
prefetcht0 byte [r10 + 0x80]
inc qword [rsp + 0x80]
add rdx, 0x100
mov rbx, qword [rsp + 0x80]
lea rcx, [r10 + rbx]
mov rbx, r10
cmp rcx, qword [rsp + 0x38]
ja 0x14015013c
mov r10, rcx
jmp 0x1401501ae
test edi, edi
cmove edi, dword [rsp + 0x60]
jmp 0x14015040e
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x100]
test ebp, ebp
cmove ebp, dword [rsp + 0x48]
mov dword [rax], edi
mov dword [rsp + 0x48], ebp
jmp 0x1401518aa
cmp qword [r9], r13
jne 0x14015048b
mov r8, qword [rsp + 0x28]
lea rdx, [r9 + 8]
lea rcx, [r10 + 8]
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x68], r10
call fcn.140169b50
mov r10, qword [rsp + 0x68]
mov r9, qword [rsp + 0x90]
add rax, 8
mov ebx, r10d
mov r13, r10
sub ebx, r9d
mov dword [rsp + 0x68], ebx
cmp r12, r13
jae 0x1401504e8
cmp qword [rsp + 0x58], r9
jae 0x1401504e8
mov bl, byte [r9 - 1]
cmp byte [r13 - 1], bl
jne 0x1401504e8
dec r13
dec r9
inc rax
jmp 0x14015046a
mov r8, qword [rsp + 0x28]
lea rdx, [r11 + 4]
lea rcx, [rbx + 4]
mov r13, rbx
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x68], r11
call fcn.140169b50
mov r11, qword [rsp + 0x68]
mov ecx, ebx
mov r10, qword [rsp + 0x90]
add rax, 4
sub ecx, r11d
mov dword [rsp + 0x68], ecx
cmp r12, r13
jae 0x1401504e8
cmp qword [rsp + 0x58], r11
jae 0x1401504e8
mov bl, byte [r11 - 1]
cmp byte [r13 - 1], bl
jne 0x1401504e8
dec r13
dec r11
inc rax
jmp 0x1401504c7
cmp qword [rsp + 0x80], 3
ja 0x1401504ff
mov rbx, qword [rsp + 0x30]
sub r10, r15
mov dword [rbx + r14*4], r10d
mov rdx, qword [rsp + 0x28]
mov ebx, dword [rsp + 0x68]
mov r11, r13
mov rcx, qword [rsi + 0x18]
sub r11, r12
lea r9, [rdx - 0x20]
add ebx, 3
cmp r13, r9
ja 0x14015056e
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp r11, 0x10
jbe 0x140150589
mov rdx, qword [rsi + 0x18]
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp r11, 0x20
jle 0x140150589
lea rcx, [rdx + r11]
add r12, 0x20
add rdx, 0x20
movups xmm0, xmmword [r12]
add rdx, 0x20
add r12, 0x20
movups xmmword [rdx - 0x20], xmm0
movups xmm1, xmmword [r12 - 0x10]
movups xmmword [rdx - 0x10], xmm1
cmp rcx, rdx
ja 0x14015054c
jmp 0x140150589
mov r8, r13
mov rdx, r12
mov qword [rsp + 0x80], rax
call fcn.1401708f0
mov rax, qword [rsp + 0x80]
add qword [rsi + 0x18], r11
mov rdx, qword [rsi + 8]
cmp r11, 0xffff
jbe 0x1401505ae
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rcx, 3
mov dword [rsi + 0x4c], ecx
lea r8, [rax - 3]
mov word [rdx + 4], r11w
mov dword [rdx], ebx
cmp r8, 0xffff
jbe 0x1401505d6
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 2
sar rcx, 3
mov dword [rsi + 0x4c], ecx
mov word [rdx + 6], r8w
add rdx, 8
mov ebp, edi
mov edi, dword [rsp + 0x68]
mov qword [rsi + 8], rdx
lea rbx, [r13 + rax]
cmp rbx, qword [rsp + 0x38]
jbe 0x14014ffb3
mov r12, rbx
jmp 0x14015012a
mov r9, r12
mov r8, rbx
mov rdx, rbx
call fcn.1401708f0
jmp 0x1401500d2
xchg ebp, edi
jmp 0x140150046
xchg edi, ebp
jmp 0x14015011f
call fcn.14016cd50
xor r11d, r11d
mov r9d, dword [rsp + 0x48]
mov edx, r13d
mov dword [rsp + 0x58], eax
mov eax, eax
mov ecx, r14d
add rax, r15
cmp rbx, rax
mov qword [rsp + 0x60], rax
sete r11b
add r11, rbx
mov r12, r11
sub r12, r15
mov r8d, r12d
call fcn.14016cd50
mov dword [rsp + 0x54], 0
sub r12d, eax
cmp r12d, ebp
jae 0x140150671
mov dword [rsp + 0x54], ebp
xor ebp, ebp
mov dword [rsp + 0x68], 0
cmp r12d, edi
jae 0x140150812
mov dword [rsp + 0x68], edi
xor edi, edi
jmp 0x140150812
mov cl, byte [rsp + 0x70]
mov r10, qword [rsp + 0x30]
movabs r8, 0xcf1bbcdcb7a56463
mov r12d, 4
mov edx, dword [rsp + 0x90]
lea eax, [rdx + 2]
mov rdx, rax
mov rax, qword [r15 + rax]
imul r8, rax
shr r8, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + r8*4], edx
mov cl, byte [rsp + 0x70]
movabs r8, 0xcf1bbcdcb7a56463
imul r8, qword [rbx - 2]
shr r8, cl
lea rcx, [rbx - 2]
sub rcx, r15
mov dword [r10 + r8*4], ecx
movabs rcx, 0xcf1bbcdcbb000000
imul rax, rcx
mov cl, byte [rsp + 0x74]
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov cl, byte [rsp + 0x74]
lea rdx, [rbx - 1]
movabs rax, 0xcf1bbcdcbb000000
imul rax, qword [rbx - 1]
sub rdx, r15
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov eax, ebp
mov rdx, rbx
mov ecx, dword [rbx]
sub rdx, rax
cmp dword [rdx], ecx
jne 0x140150cd0
test ebp, ebp
je 0x140150cd0
mov rdx, r12
mov r8, qword [rsp + 0x28]
lea rcx, [rbx + 4]
sub rdx, rax
add rdx, rbx
call fcn.140169b50
mov cl, byte [rsp + 0x74]
mov rdx, rbx
movabs r8, 0xcf1bbcdcbb000000
mov r13, rax
lea r11, [rax + 4]
mov rax, qword [rbx]
sub rdx, r15
imul r8, rax
shr r8, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + r8*4], edx
movabs rcx, 0xcf1bbcdcb7a56463
imul rax, rcx
mov cl, byte [rsp + 0x70]
shr rax, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], edx
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsi + 0x18]
lea r9, [rax - 0x20]
cmp r9, rbx
jb 0x140150cb9
movups xmm5, xmmword [rbx]
movups xmmword [rcx], xmm5
mov rdx, qword [rsi + 8]
inc r13
mov word [rdx + 4], 0
mov dword [rdx], 1
cmp r13, 0xffff
jbe 0x1401507f2
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], r13w
add rdx, 8
add rbx, r11
mov qword [rsi + 8], rdx
cmp rbx, qword [rsp + 0x38]
jbe 0x140150cc9
mov r11, rbx
xchg edi, ebp
mov r12, rbx
mov rbx, r11
lea rax, [rbx + 0x100]
lea r9, [rbx + 1]
mov qword [rsp + 0x88], rax
cmp r9, qword [rsp + 0x38]
ja 0x1401515a8
mov r8d, 0x40
mov qword [rsp + 0x80], 1
mov eax, r8d
sub eax, dword [rsp + 0x7c]
sub r8d, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov cl, byte [rsp + 0x70]
movabs rax, 0xcf1bbcdcb7a56463
imul rax, qword [rbx]
mov dword [rsp + 0x74], r8d
mov r8d, edi
shr rax, cl
mov ecx, 1
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x30]
sub rcx, r8
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x98], rcx
mov r14d, dword [rax + rdx*4]
mov rax, r14
add r14, r15
mov r13, qword [rbx]
mov cl, byte [rsp + 0x74]
movabs r10, 0xcf1bbcdcbb000000
mov rdx, qword [rsp + 0x40]
imul r10, r13
shr r10, cl
mov rcx, rbx
lea r11, [rdx + r10*4]
sub rcx, r15
mov rdx, qword [rsp + 0x30]
mov r10d, dword [r11]
mov dword [r11], ecx
mov r11, qword [rsp + 0x48]
mov dword [rsp + 0x90], ecx
mov dword [rdx + r11*4], ecx
mov rdx, qword [rsp + 0x98]
mov ecx, dword [rbx + 1]
cmp dword [rbx + rdx], ecx
jne 0x1401509f3
test edi, edi
je 0x1401509f3
mov rax, rbx
lea rcx, [rbx + 5]
lea r13, [rbx + 1]
sub rax, r8
mov r8, qword [rsp + 0x28]
mov r14, r13
lea rdx, [rax + 5]
sub r14, r12
call fcn.140169b50
mov rcx, qword [rsi + 0x18]
mov rbx, rax
lea r11, [rax + 4]
mov rax, qword [rsp + 0x28]
lea r9, [rax - 0x20]
cmp r13, r9
ja 0x140150987
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp r14, 0x10
jbe 0x140150992
mov rax, qword [rsi + 0x18]
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp r14, 0x20
jle 0x140150992
lea rdx, [rax + r14]
add r12, 0x20
add rax, 0x20
movups xmm5, xmmword [r12]
add rax, 0x20
add r12, 0x20
movups xmmword [rax - 0x20], xmm5
movups xmm0, xmmword [r12 - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp rdx, rax
ja 0x140150965
jmp 0x140150992
mov r8, r13
mov rdx, r12
call fcn.1401708f0
add qword [rsi + 0x18], r14
mov rdx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x1401509b7
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 1
sar rax, 3
mov dword [rsi + 0x4c], eax
inc rbx
mov word [rdx + 4], r14w
mov dword [rdx], 1
cmp rbx, 0xffff
jbe 0x1401509e2
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], bx
add rdx, 8
mov qword [rsi + 8], rdx
jmp 0x140150ca1
movabs rcx, 0xcf1bbcdcb7a56463
mov r11, qword [r9]
imul rcx, r11
mov rdx, rcx
mov cl, byte [rsp + 0x70]
shr rdx, cl
mov qword [rsp + 0x48], rdx
cmp dword [rsp + 0x58], eax
jae 0x140150a79
cmp qword [r14], r13
jne 0x140150a79
mov r8, qword [rsp + 0x28]
lea rdx, [r14 + 8]
lea rcx, [rbx + 8]
mov r13, rbx
mov qword [rsp + 0x88], r9
call fcn.140169b50
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, ebx
sub eax, r14d
cmp r12, r13
jae 0x140150baa
cmp qword [rsp + 0x60], r14
jae 0x140150baa
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x140150baa
dec r13
dec r14
inc r11
jmp 0x140150a4c
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
mov r14d, dword [rax + rdx*4]
mov rax, r14
add r14, r15
cmp dword [rsp + 0x58], r10d
jae 0x140150aa9
add r10, r15
mov edx, dword [rbx]
cmp dword [r10], edx
jne 0x140150aa9
cmp dword [rsp + 0x58], eax
jb 0x140150af6
jmp 0x140150b4b
cmp r9, qword [rsp + 0x88]
jb 0x140150ad4
prefetcht0 byte [r9 + 0x40]
prefetcht0 byte [r9 + 0x80]
inc qword [rsp + 0x80]
add qword [rsp + 0x88], 0x100
mov rbx, qword [rsp + 0x80]
lea rcx, [r9 + rbx]
mov rbx, r9
cmp rcx, qword [rsp + 0x38]
ja 0x1401515a8
mov r9, rcx
jmp 0x14015089e
cmp qword [r14], r11
jne 0x140150b4b
mov r8, qword [rsp + 0x28]
lea rcx, [r9 + 8]
lea rdx, [r14 + 8]
mov qword [rsp + 0x88], r9
call fcn.140169b50
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, r9d
mov r13, r9
sub eax, r14d
cmp r12, r13
jae 0x140150baa
cmp qword [rsp + 0x60], r14
jae 0x140150baa
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x140150baa
dec r13
dec r14
inc r11
jmp 0x140150b2a
mov r8, qword [rsp + 0x28]
lea rdx, [r10 + 4]
lea rcx, [rbx + 4]
mov r13, rbx
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x88], r10
call fcn.140169b50
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x98]
lea r11, [rax + 4]
mov eax, ebx
sub eax, r10d
cmp r12, r13
jae 0x140150baa
cmp qword [rsp + 0x60], r10
jae 0x140150baa
mov bl, byte [r10 - 1]
cmp byte [r13 - 1], bl
jne 0x140150baa
dec r13
dec r10
inc r11
jmp 0x140150b89
cmp qword [rsp + 0x80], 3
ja 0x140150bc6
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
sub r9, r15
mov dword [rbx + rcx*4], r9d
mov rdx, qword [rsp + 0x28]
mov rbx, r13
mov rcx, qword [rsi + 0x18]
lea ebp, [rax + 3]
sub rbx, r12
lea r9, [rdx - 0x20]
cmp r13, r9
ja 0x140150c31
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rbx, 0x10
jbe 0x140150c44
mov rdx, qword [rsi + 0x18]
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm2
cmp rbx, 0x20
jle 0x140150c44
lea rcx, [rdx + rbx]
add r12, 0x20
add rdx, 0x20
movups xmm3, xmmword [r12]
add rdx, 0x20
add r12, 0x20
movups xmmword [rdx - 0x20], xmm3
movups xmm4, xmmword [r12 - 0x10]
movups xmmword [rdx - 0x10], xmm4
cmp rcx, rdx
ja 0x140150c0f
jmp 0x140150c44
mov r8, r13
mov rdx, r12
mov dword [rsp + 0x48], eax
call fcn.1401708f0
mov eax, dword [rsp + 0x48]
add qword [rsi + 0x18], rbx
mov rdx, qword [rsi + 8]
cmp rbx, 0xffff
jbe 0x140150c69
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rcx, 3
mov dword [rsi + 0x4c], ecx
lea r8, [r11 - 3]
mov word [rdx + 4], bx
mov dword [rdx], ebp
cmp r8, 0xffff
jbe 0x140150c90
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 2
sar rcx, 3
mov dword [rsi + 0x4c], ecx
mov word [rdx + 6], r8w
add rdx, 8
mov ebp, edi
mov edi, eax
mov qword [rsi + 8], rdx
lea rbx, [r13 + r11]
cmp rbx, qword [rsp + 0x38]
jbe 0x14015068d
mov r12, rbx
jmp 0x140150818
mov r8, rbx
mov rdx, rbx
call fcn.1401708f0
jmp 0x1401507c2
xchg ebp, edi
jmp 0x14015072a
xchg edi, ebp
jmp 0x14015080d
mov edx, r13d
mov ecx, r14d
xor r11d, r11d
call fcn.14016cd50
mov r9d, dword [rsp + 0x48]
mov edx, r13d
mov ecx, r14d
mov dword [rsp + 0x58], eax
mov eax, eax
add rax, r15
cmp rbx, rax
mov qword [rsp + 0x60], rax
sete r11b
add r11, rbx
mov r12, r11
sub r12, r15
mov r8d, r12d
call fcn.14016cd50
mov dword [rsp + 0x54], 0
sub r12d, eax
cmp r12d, ebp
jae 0x140150d2c
mov dword [rsp + 0x54], ebp
xor ebp, ebp
mov dword [rsp + 0x68], 0
cmp r12d, edi
jae 0x140150ecd
mov dword [rsp + 0x68], edi
xor edi, edi
jmp 0x140150ecd
mov cl, byte [rsp + 0x70]
mov r10, qword [rsp + 0x30]
movabs r8, 0xcf1bbcdcb7a56463
mov r12d, 4
mov edx, dword [rsp + 0x90]
lea eax, [rdx + 2]
mov rdx, rax
mov rax, qword [r15 + rax]
imul r8, rax
shr r8, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + r8*4], edx
mov cl, byte [rsp + 0x70]
movabs r8, 0xcf1bbcdcb7a56463
imul r8, qword [rbx - 2]
shr r8, cl
lea rcx, [rbx - 2]
sub rcx, r15
mov dword [r10 + r8*4], ecx
movabs rcx, 0xcf1bbcdcbf9b0000
imul rax, rcx
mov cl, byte [rsp + 0x74]
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov cl, byte [rsp + 0x74]
lea rdx, [rbx - 1]
movabs rax, 0xcf1bbcdcbf9b0000
imul rax, qword [rbx - 1]
sub rdx, r15
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov eax, ebp
mov rdx, rbx
mov ecx, dword [rbx]
sub rdx, rax
cmp dword [rdx], ecx
jne 0x14015138b
test ebp, ebp
je 0x14015138b
mov rdx, r12
mov r8, qword [rsp + 0x28]
lea rcx, [rbx + 4]
sub rdx, rax
add rdx, rbx
call fcn.140169b50
mov cl, byte [rsp + 0x74]
mov rdx, rbx
movabs r8, 0xcf1bbcdcbf9b0000
mov r13, rax
lea r11, [rax + 4]
mov rax, qword [rbx]
sub rdx, r15
imul r8, rax
shr r8, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + r8*4], edx
movabs rcx, 0xcf1bbcdcb7a56463
imul rax, rcx
mov cl, byte [rsp + 0x70]
shr rax, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], edx
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsi + 0x18]
lea r9, [rax - 0x20]
cmp r9, rbx
jb 0x140151374
movups xmm2, xmmword [rbx]
movups xmmword [rcx], xmm2
mov rdx, qword [rsi + 8]
inc r13
mov word [rdx + 4], 0
mov dword [rdx], 1
cmp r13, 0xffff
jbe 0x140150ead
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], r13w
add rdx, 8
add rbx, r11
mov qword [rsi + 8], rdx
cmp rbx, qword [rsp + 0x38]
jbe 0x140151384
mov r11, rbx
xchg edi, ebp
mov r12, rbx
mov rbx, r11
lea rax, [rbx + 0x100]
lea r9, [rbx + 1]
mov qword [rsp + 0x88], rax
cmp r9, qword [rsp + 0x38]
ja 0x1401515a8
mov r8d, 0x40
mov qword [rsp + 0x80], 1
mov eax, r8d
sub eax, dword [rsp + 0x7c]
sub r8d, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov cl, byte [rsp + 0x70]
movabs rax, 0xcf1bbcdcb7a56463
imul rax, qword [rbx]
mov dword [rsp + 0x74], r8d
mov r8d, edi
shr rax, cl
mov ecx, 1
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x30]
sub rcx, r8
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x98], rcx
mov r14d, dword [rax + rdx*4]
mov rax, r14
add r14, r15
mov r13, qword [rbx]
mov cl, byte [rsp + 0x74]
movabs r10, 0xcf1bbcdcbf9b0000
mov rdx, qword [rsp + 0x40]
imul r10, r13
shr r10, cl
mov rcx, rbx
lea r11, [rdx + r10*4]
sub rcx, r15
mov rdx, qword [rsp + 0x30]
mov r10d, dword [r11]
mov dword [r11], ecx
mov r11, qword [rsp + 0x48]
mov dword [rsp + 0x90], ecx
mov dword [rdx + r11*4], ecx
mov rdx, qword [rsp + 0x98]
mov ecx, dword [rbx + 1]
cmp dword [rbx + rdx], ecx
jne 0x1401510ae
test edi, edi
je 0x1401510ae
mov rax, rbx
lea rcx, [rbx + 5]
lea r13, [rbx + 1]
sub rax, r8
mov r8, qword [rsp + 0x28]
mov r14, r13
lea rdx, [rax + 5]
sub r14, r12
call fcn.140169b50
mov rcx, qword [rsi + 0x18]
mov rbx, rax
lea r11, [rax + 4]
mov rax, qword [rsp + 0x28]
lea r9, [rax - 0x20]
cmp r13, r9
ja 0x140151042
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp r14, 0x10
jbe 0x14015104d
mov rax, qword [rsi + 0x18]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
cmp r14, 0x20
jle 0x14015104d
lea rdx, [rax + r14]
add r12, 0x20
add rax, 0x20
movups xmm2, xmmword [r12]
add rax, 0x20
add r12, 0x20
movups xmmword [rax - 0x20], xmm2
movups xmm3, xmmword [r12 - 0x10]
movups xmmword [rax - 0x10], xmm3
cmp rdx, rax
ja 0x140151020
jmp 0x14015104d
mov r8, r13
mov rdx, r12
call fcn.1401708f0
add qword [rsi + 0x18], r14
mov rdx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x140151072
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 1
sar rax, 3
mov dword [rsi + 0x4c], eax
inc rbx
mov word [rdx + 4], r14w
mov dword [rdx], 1
cmp rbx, 0xffff
jbe 0x14015109d
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], bx
add rdx, 8
mov qword [rsi + 8], rdx
jmp 0x14015135c
movabs rcx, 0xcf1bbcdcb7a56463
mov r11, qword [r9]
imul rcx, r11
mov rdx, rcx
mov cl, byte [rsp + 0x70]
shr rdx, cl
mov qword [rsp + 0x48], rdx
cmp dword [rsp + 0x58], eax
jae 0x140151134
cmp qword [r14], r13
jne 0x140151134
mov r8, qword [rsp + 0x28]
lea rdx, [r14 + 8]
lea rcx, [rbx + 8]
mov r13, rbx
mov qword [rsp + 0x88], r9
call fcn.140169b50
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, ebx
sub eax, r14d
cmp r12, r13
jae 0x140151265
cmp qword [rsp + 0x60], r14
jae 0x140151265
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x140151265
dec r13
dec r14
inc r11
jmp 0x140151107
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
mov r14d, dword [rax + rdx*4]
mov rax, r14
add r14, r15
cmp dword [rsp + 0x58], r10d
jae 0x140151164
add r10, r15
mov edx, dword [rbx]
cmp dword [r10], edx
jne 0x140151164
cmp dword [rsp + 0x58], eax
jb 0x1401511b1
jmp 0x140151206
cmp r9, qword [rsp + 0x88]
jb 0x14015118f
prefetcht0 byte [r9 + 0x40]
prefetcht0 byte [r9 + 0x80]
inc qword [rsp + 0x80]
add qword [rsp + 0x88], 0x100
mov rbx, qword [rsp + 0x80]
lea rcx, [r9 + rbx]
mov rbx, r9
cmp rcx, qword [rsp + 0x38]
ja 0x1401515a8
mov r9, rcx
jmp 0x140150f59
cmp qword [r14], r11
jne 0x140151206
mov r8, qword [rsp + 0x28]
lea rcx, [r9 + 8]
lea rdx, [r14 + 8]
mov qword [rsp + 0x88], r9
call fcn.140169b50
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, r9d
mov r13, r9
sub eax, r14d
cmp r12, r13
jae 0x140151265
cmp qword [rsp + 0x60], r14
jae 0x140151265
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x140151265
dec r13
dec r14
inc r11
jmp 0x1401511e5
mov r8, qword [rsp + 0x28]
lea rdx, [r10 + 4]
lea rcx, [rbx + 4]
mov r13, rbx
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x88], r10
call fcn.140169b50
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x98]
lea r11, [rax + 4]
mov eax, ebx
sub eax, r10d
cmp r12, r13
jae 0x140151265
cmp qword [rsp + 0x60], r10
jae 0x140151265
mov bl, byte [r10 - 1]
cmp byte [r13 - 1], bl
jne 0x140151265
dec r13
dec r10
inc r11
jmp 0x140151244
cmp qword [rsp + 0x80], 3
ja 0x140151281
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
sub r9, r15
mov dword [rbx + rcx*4], r9d
mov rcx, qword [rsp + 0x28]
mov rbx, r13
lea ebp, [rax + 3]
sub rbx, r12
lea r9, [rcx - 0x20]
mov rcx, qword [rsi + 0x18]
cmp r13, r9
ja 0x1401512ec
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp rbx, 0x10
jbe 0x1401512ff
mov rdx, qword [rsi + 0x18]
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp rbx, 0x20
jle 0x1401512ff
lea rcx, [rdx + rbx]
add r12, 0x20
add rdx, 0x20
movups xmm0, xmmword [r12]
add rdx, 0x20
add r12, 0x20
movups xmmword [rdx - 0x20], xmm0
movups xmm1, xmmword [r12 - 0x10]
movups xmmword [rdx - 0x10], xmm1
cmp rcx, rdx
ja 0x1401512ca
jmp 0x1401512ff
mov r8, r13
mov rdx, r12
mov dword [rsp + 0x48], eax
call fcn.1401708f0
mov eax, dword [rsp + 0x48]
add qword [rsi + 0x18], rbx
mov rdx, qword [rsi + 8]
cmp rbx, 0xffff
jbe 0x140151324
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rcx, 3
mov dword [rsi + 0x4c], ecx
lea r8, [r11 - 3]
mov word [rdx + 4], bx
mov dword [rdx], ebp
cmp r8, 0xffff
jbe 0x14015134b
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 2
sar rcx, 3
mov dword [rsi + 0x4c], ecx
mov word [rdx + 6], r8w
add rdx, 8
mov ebp, edi
mov edi, eax
mov qword [rsi + 8], rdx
lea rbx, [r13 + r11]
cmp rbx, qword [rsp + 0x38]
jbe 0x140150d48
mov r12, rbx
jmp 0x140150ed3
mov r8, rbx
mov rdx, rbx
call fcn.1401708f0
jmp 0x140150e7d
xchg ebp, edi
jmp 0x140150de5
xchg edi, ebp
jmp 0x140150ec8
mov edx, r13d
mov ecx, r14d
xor r11d, r11d
call fcn.14016cd50
mov r9d, dword [rsp + 0x48]
mov edx, r13d
mov ecx, r14d
mov dword [rsp + 0x58], eax
mov eax, eax
add rax, r15
cmp rbx, rax
mov qword [rsp + 0x60], rax
sete r11b
add r11, rbx
mov r12, r11
sub r12, r15
mov r8d, r12d
call fcn.14016cd50
mov dword [rsp + 0x54], 0
sub r12d, eax
cmp r12d, ebp
jae 0x1401513e7
mov dword [rsp + 0x54], ebp
xor ebp, ebp
mov dword [rsp + 0x68], 0
cmp r12d, edi
jae 0x140151588
mov dword [rsp + 0x68], edi
xor edi, edi
jmp 0x140151588
mov cl, byte [rsp + 0x70]
mov r10, qword [rsp + 0x30]
movabs r8, 0xcf1bbcdcb7a56463
mov r12d, 4
mov edx, dword [rsp + 0x90]
lea eax, [rdx + 2]
mov rdx, rax
mov rax, qword [r15 + rax]
imul r8, rax
shr r8, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + r8*4], edx
mov cl, byte [rsp + 0x70]
movabs r8, 0xcf1bbcdcb7a56463
imul r8, qword [rbx - 2]
shr r8, cl
lea rcx, [rbx - 2]
sub rcx, r15
mov dword [r10 + r8*4], ecx
movabs rcx, 0xcf1bbcdcbfa56300
imul rax, rcx
mov cl, byte [rsp + 0x74]
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov cl, byte [rsp + 0x74]
lea rdx, [rbx - 1]
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rbx - 1]
sub rdx, r15
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov eax, ebp
mov rdx, rbx
mov ecx, dword [rbx]
sub rdx, rax
cmp dword [rdx], ecx
jne 0x140151aa3
test ebp, ebp
je 0x140151aa3
mov rdx, r12
mov r8, qword [rsp + 0x28]
lea rcx, [rbx + 4]
sub rdx, rax
add rdx, rbx
call fcn.140169b50
mov cl, byte [rsp + 0x74]
mov rdx, rbx
movabs r8, 0xcf1bbcdcbfa56300
mov r13, rax
lea r11, [rax + 4]
mov rax, qword [rbx]
sub rdx, r15
imul r8, rax
shr r8, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + r8*4], edx
movabs rcx, 0xcf1bbcdcb7a56463
imul rax, rcx
mov cl, byte [rsp + 0x70]
shr rax, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], edx
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsi + 0x18]
lea r9, [rax - 0x20]
cmp r9, rbx
jb 0x140151a8c
movups xmm5, xmmword [rbx]
movups xmmword [rcx], xmm5
mov rdx, qword [rsi + 8]
inc r13
mov word [rdx + 4], 0
mov dword [rdx], 1
cmp r13, 0xffff
jbe 0x140151568
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], r13w
add rdx, 8
add rbx, r11
mov qword [rsi + 8], rdx
cmp rbx, qword [rsp + 0x38]
jbe 0x140151a9c
mov r11, rbx
xchg edi, ebp
mov r12, rbx
mov rbx, r11
lea rax, [rbx + 0x100]
lea r9, [rbx + 1]
mov qword [rsp + 0x88], rax
cmp r9, qword [rsp + 0x38]
jbe 0x1401515c0
cmp dword [rsp + 0x68], 0
je 0x140151884
test edi, edi
jne 0x14015188d
jmp 0x140151884
mov r8d, 0x40
mov qword [rsp + 0x80], 1
mov eax, r8d
sub eax, dword [rsp + 0x7c]
sub r8d, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov cl, byte [rsp + 0x70]
movabs rax, 0xcf1bbcdcb7a56463
imul rax, qword [rbx]
mov dword [rsp + 0x74], r8d
mov r8d, edi
shr rax, cl
mov ecx, 1
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x30]
sub rcx, r8
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x98], rcx
mov r14d, dword [rax + rdx*4]
mov rax, r14
add r14, r15
mov r13, qword [rbx]
mov cl, byte [rsp + 0x74]
movabs r10, 0xcf1bbcdcbfa56300
mov rdx, qword [rsp + 0x40]
imul r10, r13
shr r10, cl
mov rcx, rbx
lea r11, [rdx + r10*4]
sub rcx, r15
mov rdx, qword [rsp + 0x30]
mov r10d, dword [r11]
mov dword [r11], ecx
mov r11, qword [rsp + 0x48]
mov dword [rsp + 0x90], ecx
mov dword [rdx + r11*4], ecx
mov rdx, qword [rsp + 0x98]
mov ecx, dword [rbx + 1]
cmp dword [rbx + rdx], ecx
jne 0x14015177d
test edi, edi
je 0x14015177d
mov rax, rbx
lea rcx, [rbx + 5]
lea r13, [rbx + 1]
sub rax, r8
mov r8, qword [rsp + 0x28]
mov r14, r13
lea rdx, [rax + 5]
sub r14, r12
call fcn.140169b50
mov rcx, qword [rsi + 0x18]
mov rbx, rax
lea r11, [rax + 4]
mov rax, qword [rsp + 0x28]
lea r9, [rax - 0x20]
cmp r13, r9
ja 0x140151711
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp r14, 0x10
jbe 0x14015171c
mov rax, qword [rsi + 0x18]
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp r14, 0x20
jle 0x14015171c
lea rdx, [rax + r14]
add r12, 0x20
add rax, 0x20
movups xmm5, xmmword [r12]
add rax, 0x20
add r12, 0x20
movups xmmword [rax - 0x20], xmm5
movups xmm0, xmmword [r12 - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp rdx, rax
ja 0x1401516ef
jmp 0x14015171c
mov r8, r13
mov rdx, r12
call fcn.1401708f0
add qword [rsi + 0x18], r14
mov rdx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x140151741
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 1
sar rax, 3
mov dword [rsi + 0x4c], eax
inc rbx
mov word [rdx + 4], r14w
mov dword [rdx], 1
cmp rbx, 0xffff
jbe 0x14015176c
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], bx
add rdx, 8
mov qword [rsi + 8], rdx
jmp 0x140151a74
movabs rcx, 0xcf1bbcdcb7a56463
mov r11, qword [r9]
imul rcx, r11
mov rdx, rcx
mov cl, byte [rsp + 0x70]
shr rdx, cl
mov qword [rsp + 0x48], rdx
cmp dword [rsp + 0x58], eax
jae 0x140151803
cmp qword [r14], r13
jne 0x140151803
mov r8, qword [rsp + 0x28]
lea rdx, [r14 + 8]
lea rcx, [rbx + 8]
mov r13, rbx
mov qword [rsp + 0x88], r9
call fcn.140169b50
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, ebx
sub eax, r14d
cmp r12, r13
jae 0x14015197d
cmp qword [rsp + 0x60], r14
jae 0x14015197d
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x14015197d
dec r13
dec r14
inc r11
jmp 0x1401517d6
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
mov r14d, dword [rax + rdx*4]
mov rax, r14
add r14, r15
cmp dword [rsp + 0x58], r10d
jae 0x140151837
add r10, r15
mov edx, dword [rbx]
cmp dword [r10], edx
jne 0x140151837
cmp dword [rsp + 0x58], eax
jb 0x1401518c9
jmp 0x14015191e
cmp r9, qword [rsp + 0x88]
jb 0x140151862
prefetcht0 byte [r9 + 0x40]
prefetcht0 byte [r9 + 0x80]
inc qword [rsp + 0x80]
add qword [rsp + 0x88], 0x100
mov rbx, qword [rsp + 0x80]
lea rcx, [r9 + rbx]
mov rbx, r9
cmp rcx, qword [rsp + 0x38]
ja 0x1401515a8
mov r9, rcx
jmp 0x140151628
test edi, edi
cmove edi, dword [rsp + 0x68]
jmp 0x140151895
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x100]
test ebp, ebp
cmove ebp, dword [rsp + 0x54]
mov dword [rax], edi
mov dword [rsp + 0x54], ebp
mov dword [rax + 4], ebp
mov rax, qword [rsp + 0x28]
sub rax, r12
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [r14], r11
jne 0x14015191e
mov r8, qword [rsp + 0x28]
lea rcx, [r9 + 8]
lea rdx, [r14 + 8]
mov qword [rsp + 0x88], r9
call fcn.140169b50
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, r9d
mov r13, r9
sub eax, r14d
cmp r12, r13
jae 0x14015197d
cmp qword [rsp + 0x60], r14
jae 0x14015197d
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x14015197d
dec r13
dec r14
inc r11
jmp 0x1401518fd
mov r8, qword [rsp + 0x28]
lea rdx, [r10 + 4]
lea rcx, [rbx + 4]
mov r13, rbx
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x88], r10
call fcn.140169b50
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x98]
lea r11, [rax + 4]
mov eax, ebx
sub eax, r10d
cmp r12, r13
jae 0x14015197d
cmp qword [rsp + 0x60], r10
jae 0x14015197d
mov bl, byte [r10 - 1]
cmp byte [r13 - 1], bl
jne 0x14015197d
dec r13
dec r10
inc r11
jmp 0x14015195c
cmp qword [rsp + 0x80], 3
ja 0x140151999
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
sub r9, r15
mov dword [rbx + rcx*4], r9d
mov rdx, qword [rsp + 0x28]
mov rbx, r13
mov rcx, qword [rsi + 0x18]
lea ebp, [rax + 3]
sub rbx, r12
lea r9, [rdx - 0x20]
cmp r13, r9
ja 0x140151a04
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rbx, 0x10
jbe 0x140151a17
mov rdx, qword [rsi + 0x18]
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm2
cmp rbx, 0x20
jle 0x140151a17
lea rcx, [rdx + rbx]
add r12, 0x20
add rdx, 0x20
movups xmm3, xmmword [r12]
add rdx, 0x20
add r12, 0x20
movups xmmword [rdx - 0x20], xmm3
movups xmm4, xmmword [r12 - 0x10]
movups xmmword [rdx - 0x10], xmm4
cmp rcx, rdx
ja 0x1401519e2
jmp 0x140151a17
mov r8, r13
mov rdx, r12
mov dword [rsp + 0x48], eax
call fcn.1401708f0
mov eax, dword [rsp + 0x48]
add qword [rsi + 0x18], rbx
mov rdx, qword [rsi + 8]
cmp rbx, 0xffff
jbe 0x140151a3c
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rcx, 3
mov dword [rsi + 0x4c], ecx
lea r8, [r11 - 3]
mov word [rdx + 4], bx
mov dword [rdx], ebp
cmp r8, 0xffff
jbe 0x140151a63
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 2
sar rcx, 3
mov dword [rsi + 0x4c], ecx
mov word [rdx + 6], r8w
add rdx, 8
mov ebp, edi
mov edi, eax
mov qword [rsi + 8], rdx
lea rbx, [r13 + r11]
cmp rbx, qword [rsp + 0x38]
jbe 0x140151403
mov r12, rbx
jmp 0x14015158e
mov r8, rbx
mov rdx, rbx
call fcn.1401708f0
jmp 0x140151538
xchg ebp, edi
jmp 0x1401514a0
xchg edi, ebp
jmp 0x140151583
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov eax, dword [rsp + 0x128]
mov r12, rdx
mov dword [rsp + 0x40], eax
mov r10, rcx
mov rbx, r9
mov rdx, qword [rsp + 0x120]
mov qword [rsp + 0x78], r8
mov r8, r9
lea rsi, [r9 + rdx]
mov r9d, dword [rcx + 0x28]
lea rax, [rsi - 8]
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 8]
sub r8, rax
mov qword [rsp + 0x30], rax
mov eax, dword [rcx + 0x1c]
mov ecx, dword [rcx + 0x100]
add r8d, edx
mov dword [rsp + 0x38], eax
mov eax, 1
mov r11d, r8d
sub r11d, dword [rsp + 0x38]
shl eax, cl
mov ecx, dword [rsp + 0x38]
cmp eax, r11d
jae 0x140154134
mov ecx, r8d
sub ecx, eax
mov eax, dword [r10 + 0x18]
test r9d, r9d
cmovne ecx, dword [rsp + 0x38]
cmp eax, ecx
mov edi, ecx
mov dword [rsp + 0x38], ecx
mov r8d, dword [rsp + 0x38]
cmovae edi, eax
mov ecx, edi
mov dword [rsp + 0x3c], edi
mov rdi, qword [rsp + 0x30]
add rdi, rcx
mov qword [rsp + 0x48], rdi
mov rdi, qword [r10 + 0x10]
add r8, rdi
add rcx, rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x68], rcx
cmp eax, dword [rsp + 0x38]
jbe 0x1401541dd
mov rax, qword [r10 + 0x70]
mov r13, rbx
mov qword [rsp + 0x60], rax
mov eax, dword [r10 + 0x108]
mov dword [rsp + 0xa4], eax
mov rax, qword [r10 + 0x80]
mov qword [rsp + 0x88], rax
mov eax, dword [r10 + 0x104]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x78]
mov r15d, dword [rax]
mov eax, dword [rax + 4]
mov dword [rsp + 0x80], eax
mov eax, 0x40
sub eax, dword [rsp + 0x70]
mov dword [rsp + 0x44], eax
jmp 0x140154329
mov r8, qword [rsp + 0x78]
mov qword [rsp + 0x120], rdx
mov r9, rbx
mov rdx, r12
mov rcx, r10
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x14014fe90
cmp dword [rsp + 0x40], 6
mov r8, qword [rbx]
je 0x140154348
cmp dword [rsp + 0x40], 7
je 0x140154354
cmp dword [rsp + 0x40], 5
je 0x14015433c
imul eax, dword [rbx], 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [rsp + 0x70]
shr eax, cl
mov rdi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x30]
lea r9, [rdi + rax*4]
mov eax, 0x40
mov rdi, qword [rsp + 0x60]
mov ebp, dword [r9]
cmp dword [rsp + 0x3c], ebp
cmova r10, qword [rsp + 0x58]
sub eax, dword [rsp + 0xa4]
mov dword [rsp + 0x74], eax
mov cl, byte [rsp + 0x74]
movabs rax, 0xcf1bbcdcb7a56463
imul rax, r8
shr rax, cl
lea rcx, [rdi + rax*4]
mov rax, rbx
mov rdi, qword [rsp + 0x30]
mov r14d, dword [rcx]
cmp dword [rsp + 0x3c], r14d
cmova r11, qword [rsp + 0x58]
sub rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov edx, dword [rsp + 0x50]
mov eax, 1
sub eax, r15d
add eax, dword [rsp + 0x50]
cmp dword [rsp + 0x3c], eax
mov dword [rcx], edx
cmova rdi, qword [rsp + 0x58]
mov dword [r9], edx
mov edx, dword [rsp + 0x3c]
dec edx
mov dword [rsp + 0xa0], edx
mov edx, 1
sub edx, dword [rsp + 0x38]
add edx, dword [rsp + 0x50]
cmp edx, r15d
jae 0x14015436e
cmp r14d, dword [rsp + 0x38]
ja 0x1401544b8
cmp ebp, dword [rsp + 0x38]
ja 0x1401545c0
mov rax, rbx
mov r11d, r15d
mov r15d, dword [rsp + 0x80]
sub rax, r13
sar rax, 8
lea rbx, [rbx + rax + 1]
mov dword [rsp + 0x80], r15d
mov r15d, r11d
cmp rbx, qword [rsp + 0x90]
jb 0x14015420b
jmp 0x140154ab2
movabs rax, 0xcf1bbcdcbb000000
jmp 0x14015435e
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x14015435e
movabs rax, 0xcf1bbcdcbfa56300
imul rax, r8
mov cl, byte [rsp + 0x44]
shr rax, cl
jmp 0x140154240
mov edx, dword [rsp + 0xa0]
sub edx, eax
cmp edx, 2
jbe 0x1401542ef
mov edx, eax
add rdx, rdi
mov edi, dword [rdx]
cmp dword [rbx + 1], edi
jne 0x1401542ef
cmp dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x48]
lea rcx, [rbx + 5]
mov r8, rsi
mov r9, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
cmovbe r9, rsi
add rdx, 4
inc rbx
mov rdi, rbx
call fcn.140169fa0
lea r9, [rsi - 0x20]
sub rdi, r13
mov rcx, qword [r12 + 0x18]
cmp rbx, r9
mov r11, rax
lea rax, [rax + 4]
ja 0x140154424
movups xmm0, xmmword [r13]
movups xmmword [rcx], xmm0
cmp rdi, 0x10
jbe 0x14015443f
mov rdx, qword [r12 + 0x18]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rdx + 0x10], xmm1
cmp rdi, 0x20
jle 0x14015443f
lea rcx, [rdx + rdi]
add r13, 0x20
add rdx, 0x20
movups xmm2, xmmword [r13]
add rdx, 0x20
add r13, 0x20
movups xmmword [rdx - 0x20], xmm2
movups xmm3, xmmword [r13 - 0x10]
movups xmmword [rdx - 0x10], xmm3
cmp rcx, rdx
ja 0x140154403
jmp 0x14015443f
mov r8, rbx
mov rdx, r13
mov qword [rsp + 0xa8], rax
call fcn.1401708f0
mov rax, qword [rsp + 0xa8]
add qword [r12 + 0x18], rdi
cmp rdi, 0xffff
mov rdx, qword [r12 + 8]
jbe 0x14015446b
mov dword [r12 + 0x48], 1
mov rcx, rdx
sub rcx, qword [r12]
sar rcx, 3
mov dword [r12 + 0x4c], ecx
inc r11
mov word [rdx + 4], di
mov dword [rdx], 1
cmp r11, 0xffff
jbe 0x14015449a
mov dword [r12 + 0x48], 2
mov rcx, rdx
sub rcx, qword [r12]
sar rcx, 3
mov dword [r12 + 0x4c], ecx
mov word [rdx + 6], r11w
add rdx, 8
mov r11d, r15d
mov r15d, dword [rsp + 0x80]
mov qword [r12 + 8], rdx
jmp 0x1401547f1
mov edi, r14d
add rdi, r11
cmp qword [rdi], r8
jne 0x1401542fa
cmp dword [rsp + 0x3c], r14d
ja 0x1401544d8
mov rbp, qword [rsp + 0x48]
mov r9, rsi
jmp 0x1401544e5
mov r9, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x98]
mov rax, qword [rsp + 0x48]
lea rdx, [rdi + 8]
lea rcx, [rbx + 8]
mov r8, rsi
mov qword [rsp + 0x20], rax
call fcn.140169fa0
mov r11d, dword [rsp + 0x50]
add rax, 8
sub r11d, r14d
cmp rbx, r13
jbe 0x140154528
cmp rdi, rbp
jbe 0x140154528
mov dl, byte [rdi - 1]
cmp byte [rbx - 1], dl
jne 0x140154528
dec rbx
dec rdi
inc rax
jmp 0x14015450b
mov rdi, rbx
lea r9, [rsi - 0x20]
mov rcx, qword [r12 + 0x18]
lea ebp, [r11 + 3]
sub rdi, r13
cmp rbx, r9
ja 0x14015458f
movups xmm4, xmmword [r13]
movups xmmword [rcx], xmm4
cmp rdi, 0x10
jbe 0x1401545aa
mov rdx, qword [r12 + 0x18]
movups xmm5, xmmword [r13 + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp rdi, 0x20
jle 0x1401545aa
lea rcx, [rdx + rdi]
add r13, 0x20
add rdx, 0x20
movups xmm0, xmmword [r13]
add rdx, 0x20
add r13, 0x20
movups xmmword [rdx - 0x20], xmm0
movups xmm1, xmmword [r13 - 0x10]
movups xmmword [rdx - 0x10], xmm1
cmp rcx, rdx
ja 0x14015456e
jmp 0x1401545aa
mov r8, rbx
mov rdx, r13
mov qword [rsp + 0x80], rax
call fcn.1401708f0
mov rax, qword [rsp + 0x80]
add qword [r12 + 0x18], rdi
mov rdx, qword [r12 + 8]
cmp rdi, 0xffff
jmp 0x14015479c
mov edi, ebp
add rdi, r10
mov eax, dword [rdi]
cmp dword [rbx], eax
jne 0x140154304
mov rdx, qword [rbx + 1]
mov cl, byte [rsp + 0x74]
movabs rax, 0xcf1bbcdcb7a56463
mov r14, qword [rsp + 0x30]
imul rax, rdx
shr rax, cl
mov rcx, qword [rsp + 0x60]
lea rax, [rcx + rax*4]
mov ecx, dword [rsp + 0x50]
mov r10d, dword [rax]
cmp dword [rsp + 0x3c], r10d
lea r11d, [rcx + 1]
cmova r14, qword [rsp + 0x58]
mov dword [rax], r11d
cmp r10d, dword [rsp + 0x38]
jbe 0x1401546a9
mov eax, r10d
add r14, rax
cmp rdx, qword [r14]
jne 0x1401546a9
cmp dword [rsp + 0x3c], r10d
ja 0x14015463a
mov rdi, qword [rsp + 0x48]
mov r9, rsi
jmp 0x140154647
mov r9, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x98]
mov rax, qword [rsp + 0x48]
lea rcx, [rbx + 9]
lea rdx, [r14 + 8]
mov r8, rsi
mov dword [rsp + 0xa8], r10d
inc rbx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x80], r11d
call fcn.140169fa0
mov r11d, dword [rsp + 0x80]
mov r10d, dword [rsp + 0xa8]
add rax, 8
sub r11d, r10d
cmp rbx, r13
jbe 0x140154709
cmp r14, rdi
jbe 0x140154709
mov dl, byte [r14 - 1]
cmp byte [rbx - 1], dl
jne 0x140154709
dec rbx
dec r14
inc rax
jmp 0x14015468b
cmp dword [rsp + 0x3c], ebp
ja 0x1401546b9
mov r14, qword [rsp + 0x48]
mov r9, rsi
jmp 0x1401546c6
mov r9, qword [rsp + 0x68]
mov r14, qword [rsp + 0x98]
mov rax, qword [rsp + 0x48]
lea rdx, [rdi + 4]
lea rcx, [rbx + 4]
mov r8, rsi
mov qword [rsp + 0x20], rax
call fcn.140169fa0
mov r11d, dword [rsp + 0x50]
add rax, 4
sub r11d, ebp
cmp rbx, r13
jbe 0x140154709
cmp rdi, r14
jbe 0x140154709
mov dl, byte [rdi - 1]
cmp byte [rbx - 1], dl
jne 0x140154709
dec rbx
dec rdi
inc rax
jmp 0x1401546ec
mov rdi, rbx
lea r9, [rsi - 0x20]
mov rcx, qword [r12 + 0x18]
lea ebp, [r11 + 3]
sub rdi, r13
cmp rbx, r9
ja 0x140154770
movups xmm2, xmmword [r13]
movups xmmword [rcx], xmm2
cmp rdi, 0x10
jbe 0x14015478b
mov rdx, qword [r12 + 0x18]
movups xmm3, xmmword [r13 + 0x10]
movups xmmword [rdx + 0x10], xmm3
cmp rdi, 0x20
jle 0x14015478b
lea rcx, [rdx + rdi]
add r13, 0x20
add rdx, 0x20
movups xmm4, xmmword [r13]
add rdx, 0x20
add r13, 0x20
movups xmmword [rdx - 0x20], xmm4
movups xmm5, xmmword [r13 - 0x10]
movups xmmword [rdx - 0x10], xmm5
cmp rcx, rdx
ja 0x14015474f
jmp 0x14015478b
mov r8, rbx
mov rdx, r13
mov qword [rsp + 0x80], rax
call fcn.1401708f0
mov rax, qword [rsp + 0x80]
mov rdx, qword [r12 + 8]
add qword [r12 + 0x18], rdi
cmp rdi, 0xffff
jbe 0x1401547b7
mov dword [r12 + 0x48], 1
mov rcx, rdx
sub rcx, qword [r12]
sar rcx, 3
mov dword [r12 + 0x4c], ecx
lea r8, [rax - 3]
mov word [rdx + 4], di
mov dword [rdx], ebp
cmp r8, 0xffff
jbe 0x1401547e3
mov dword [r12 + 0x48], 2
mov rcx, rdx
sub rcx, qword [r12]
sar rcx, 3
mov dword [r12 + 0x4c], ecx
mov word [rdx + 6], r8w
add rdx, 8
mov qword [r12 + 8], rdx
add rbx, rax
mov r13, rbx
cmp qword [rsp + 0x90], rbx
jb 0x14015431e
mov edx, dword [rsp + 0x50]
mov cl, byte [rsp + 0x74]
movabs r8, 0xcf1bbcdcb7a56463
mov rdi, qword [rsp + 0x60]
lea r9d, [rdx + 2]
mov rdx, r9
add r9, qword [rsp + 0x30]
mov rax, qword [r9]
mov r10, rax
imul r10, r8
imul r8, qword [rbx - 2]
shr r10, cl
shr r8, cl
lea rcx, [rbx - 2]
sub rcx, qword [rsp + 0x30]
mov dword [rdi + r10*4], edx
cmp dword [rsp + 0x40], 6
mov dword [rdi + r8*4], ecx
je 0x140154883
cmp dword [rsp + 0x40], 7
je 0x14015488f
cmp dword [rsp + 0x40], 5
je 0x140154877
imul eax, dword [r9], 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [rsp + 0x70]
shr eax, cl
jmp 0x1401548a4
movabs rcx, 0xcf1bbcdcbb000000
jmp 0x140154899
movabs rcx, 0xcf1bbcdcbf9b0000
jmp 0x140154899
movabs rcx, 0xcf1bbcdcbfa56300
imul rax, rcx
mov cl, byte [rsp + 0x44]
shr rax, cl
mov rdi, qword [rsp + 0x88]
mov dword [rdi + rax*4], edx
lea rdx, [rbx - 1]
sub rdx, qword [rsp + 0x30]
cmp dword [rsp + 0x40], 6
je 0x1401548ed
cmp dword [rsp + 0x40], 7
je 0x1401548f9
cmp dword [rsp + 0x40], 5
je 0x1401548e1
imul eax, dword [rbx - 1], 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [rsp + 0x70]
shr eax, cl
jmp 0x14015490f
movabs rax, 0xcf1bbcdcbb000000
jmp 0x140154903
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x140154903
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rbx - 1]
mov cl, byte [rsp + 0x44]
shr rax, cl
mov rdi, qword [rsp + 0x88]
mov dword [rdi + rax*4], edx
movabs rdi, 0xcf1bbcdcbf9b0000
mov r13, rbx
sub r13, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x30]
mov eax, r13d
sub eax, r15d
mov ecx, eax
add rdx, rcx
cmp dword [rsp + 0x3c], eax
jbe 0x14015494a
mov rdx, qword [rsp + 0x58]
add rdx, rcx
mov ecx, dword [rsp + 0xa0]
add ecx, r15d
sub ecx, r13d
cmp ecx, 2
jbe 0x140154aaa
mov ecx, r13d
sub ecx, dword [rsp + 0x38]
cmp ecx, r15d
jb 0x140154aaa
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x140154aaa
cmp dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x48]
lea rcx, [rbx + 4]
mov r8, rsi
mov r9, qword [rsp + 0x68]
mov dword [rsp + 0x50], r11d
mov qword [rsp + 0x20], rax
cmovbe r9, rsi
add rdx, 4
call fcn.140169fa0
lea r9, [rsi - 0x20]
mov rcx, qword [r12 + 0x18]
mov r11d, dword [rsp + 0x50]
cmp r9, rbx
mov r14, rax
lea rbp, [rax + 4]
jb 0x1401549c8
movups xmm0, xmmword [rbx]
movups xmmword [rcx], xmm0
jmp 0x1401549d3
mov r8, rbx
mov rdx, rbx
call fcn.1401708f0
mov rdx, qword [r12 + 8]
inc r14
mov word [rdx + 4], 0
mov dword [rdx], 1
cmp r14, 0xffff
jbe 0x140154a09
mov dword [r12 + 0x48], 2
mov rax, rdx
sub rax, qword [r12]
sar rax, 3
mov dword [r12 + 0x4c], eax
mov word [rdx + 6], r14w
add rdx, 8
cmp dword [rsp + 0x40], 6
mov qword [r12 + 8], rdx
mov rdx, qword [rbx]
je 0x140154a4e
cmp dword [rsp + 0x40], 7
je 0x140154a57
cmp dword [rsp + 0x40], 5
je 0x140154a42
imul eax, dword [rbx], 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [rsp + 0x70]
shr eax, cl
jmp 0x140154a6c
movabs rax, 0xcf1bbcdcbb000000
jmp 0x140154a61
mov rax, rdx
imul rax, rdi
jmp 0x140154a65
movabs rax, 0xcf1bbcdcbfa56300
imul rax, rdx
mov cl, byte [rsp + 0x44]
shr rax, cl
mov rcx, qword [rsp + 0x88]
add rbx, rbp
xchg r11d, r15d
mov dword [rcx + rax*4], r13d
mov cl, byte [rsp + 0x74]
movabs rax, 0xcf1bbcdcb7a56463
imul rdx, rax
mov rax, qword [rsp + 0x60]
shr rdx, cl
mov dword [rax + rdx*4], r13d
cmp qword [rsp + 0x90], rbx
jae 0x140154924
mov r13, rbx
jmp 0x14015431e
mov rax, qword [rsp + 0x78]
mov ebx, dword [rsp + 0x80]
mov dword [rax], r15d
mov dword [rax + 4], ebx
mov rax, rsi
sub rax, r13
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret