140011f61:	48 8b cf             	mov    %rdi,%rcx
140011f64:	e8 5b fd ff ff       	call   0x140011cc4
140011f69:	4c 8b 4f 08          	mov    0x8(%rdi),%r9
140011f6d:	4c 8b 1f             	mov    (%rdi),%r11
140011f70:	49 8b d1             	mov    %r9,%rdx
140011f73:	49 2b d3             	sub    %r11,%rdx
140011f76:	49 8b c6             	mov    %r14,%rax
140011f79:	48 f7 ea             	imul   %rdx
140011f7c:	4c 8b c2             	mov    %rdx,%r8
140011f7f:	49 c1 f8 04          	sar    $0x4,%r8
140011f83:	49 8b c0             	mov    %r8,%rax
140011f86:	48 c1 e8 3f          	shr    $0x3f,%rax
140011f8a:	4c 03 c0             	add    %rax,%r8
140011f8d:	48 8b d3             	mov    %rbx,%rdx
140011f90:	49 2b d0             	sub    %r8,%rdx
140011f93:	49 8b c9             	mov    %r9,%rcx
140011f96:	e8 61 fe ff ff       	call   0x140011dfc
140011f9b:	90                   	nop
140011f9c:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140011fa0:	49 8b c8             	mov    %r8,%rcx
140011fa3:	48 2b 0f             	sub    (%rdi),%rcx
140011fa6:	49 8b c6             	mov    %r14,%rax
140011fa9:	48 f7 e9             	imul   %rcx
140011fac:	48 c1 fa 04          	sar    $0x4,%rdx
140011fb0:	48 8b c2             	mov    %rdx,%rax
140011fb3:	48 c1 e8 3f          	shr    $0x3f,%rax
140011fb7:	48 03 d0             	add    %rax,%rdx
140011fba:	48 2b da             	sub    %rdx,%rbx
140011fbd:	48 8d 04 9b          	lea    (%rbx,%rbx,4),%rax
140011fc1:	49 8d 0c c0          	lea    (%r8,%rax,8),%rcx
140011fc5:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140011fc9:	e9 02 ff ff ff       	jmp    0x140011ed0
140011fce:	e8 c9 d7 ff ff       	call   0x14000f79c
140011fd3:	cc                   	int3
140011fd4:	cc                   	int3
140011fd5:	cc                   	int3
140011fd6:	cc                   	int3
140011fd7:	cc                   	int3
140011fd8:	cc                   	int3
140011fd9:	cc                   	int3
140011fda:	cc                   	int3
140011fdb:	cc                   	int3
140011fdc:	40 57                	rex push %rdi
140011fde:	41 54                	push   %r12
140011fe0:	41 55                	push   %r13
140011fe2:	41 56                	push   %r14
140011fe4:	41 57                	push   %r15
140011fe6:	48 83 ec 30          	sub    $0x30,%rsp
140011fea:	48 c7 44 24 20 fe ff 	movq   $0xfffffffffffffffe,0x20(%rsp)
140011ff1:	ff ff
140011ff3:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
140011ff8:	48 89 74 24 70       	mov    %rsi,0x70(%rsp)
140011ffd:	4d 8b e9             	mov    %r9,%r13
140012000:	4d 8b f0             	mov    %r8,%r14
140012003:	48 63 f2             	movslq %edx,%rsi
140012006:	4c 8b e1             	mov    %rcx,%r12
140012009:	48 8b d6             	mov    %rsi,%rdx
14001200c:	49 8b c8             	mov    %r8,%rcx
14001200f:	e8 50 fe ff ff       	call   0x140011e64
140012014:	33 ff                	xor    %edi,%edi
140012016:	8b df                	mov    %edi,%ebx
140012018:	3b de                	cmp    %esi,%ebx
14001201a:	7d 6b                	jge    0x140012087
14001201c:	4c 63 fb             	movslq %ebx,%r15
14001201f:	49 8b ff             	mov    %r15,%rdi
140012022:	48 03 ff             	add    %rdi,%rdi
140012025:	49 8b 54 fc 08       	mov    0x8(%r12,%rdi,8),%rdx
14001202a:	49 8b cd             	mov    %r13,%rcx
14001202d:	e8 46 18 00 00       	call   0x140013878
140012032:	4b 8d 14 bf          	lea    (%r15,%r15,4),%rdx
140012036:	49 8b 0e             	mov    (%r14),%rcx
140012039:	41 8b 04 fc          	mov    (%r12,%rdi,8),%eax
14001203d:	89 04 d1             	mov    %eax,(%rcx,%rdx,8)
140012040:	49 8b 0e             	mov    (%r14),%rcx
140012043:	41 0f b7 44 fc 04    	movzwl 0x4(%r12,%rdi,8),%eax
140012049:	66 89 44 d1 04       	mov    %ax,0x4(%rcx,%rdx,8)
14001204e:	49 8b 4c fc 08       	mov    0x8(%r12,%rdi,8),%rcx
140012053:	4d 8b 0e             	mov    (%r14),%r9
140012056:	49 83 c1 08          	add    $0x8,%r9
14001205a:	4d 8d 0c d1          	lea    (%r9,%rdx,8),%r9
14001205e:	33 ff                	xor    %edi,%edi
140012060:	66 39 39             	cmp    %di,(%rcx)
140012063:	75 05                	jne    0x14001206a
140012065:	44 8b c7             	mov    %edi,%r8d
140012068:	eb 0e                	jmp    0x140012078
14001206a:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
14001206e:	49 ff c0             	inc    %r8
140012071:	66 42 39 3c 41       	cmp    %di,(%rcx,%r8,2)
140012076:	75 f6                	jne    0x14001206e
140012078:	48 8b d1             	mov    %rcx,%rdx
14001207b:	49 8b c9             	mov    %r9,%rcx
14001207e:	e8 31 2b 00 00       	call   0x140014bb4
140012083:	ff c3                	inc    %ebx
140012085:	eb 91                	jmp    0x140012018
140012087:	33 c0                	xor    %eax,%eax
140012089:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14001208e:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140012093:	48 83 c4 30          	add    $0x30,%rsp
140012097:	41 5f                	pop    %r15
140012099:	41 5e                	pop    %r14
14001209b:	41 5d                	pop    %r13
14001209d:	41 5c                	pop    %r12
14001209f:	5f                   	pop    %rdi
1400120a0:	c3                   	ret
1400120a1:	cc                   	int3
1400120a2:	8b 44 24 68          	mov    0x68(%rsp),%eax
1400120a6:	eb e1                	jmp    0x140012089
1400120a8:	cc                   	int3
1400120a9:	cc                   	int3
1400120aa:	cc                   	int3
1400120ab:	cc                   	int3
1400120ac:	cc                   	int3
1400120ad:	cc                   	int3
1400120ae:	cc                   	int3
1400120af:	cc                   	int3
1400120b0:	48 8b c4             	mov    %rsp,%rax
1400120b3:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400120b7:	48 89 70 10          	mov    %rsi,0x10(%rax)
1400120bb:	48 89 78 18          	mov    %rdi,0x18(%rax)
1400120bf:	4c 89 60 20          	mov    %r12,0x20(%rax)
1400120c3:	41 55                	push   %r13
1400120c5:	41 56                	push   %r14
1400120c7:	41 57                	push   %r15
1400120c9:	48 83 ec 20          	sub    $0x20,%rsp
1400120cd:	45 33 c0             	xor    %r8d,%r8d
1400120d0:	48 8b f2             	mov    %rdx,%rsi
1400120d3:	4c 8b f1             	mov    %rcx,%r14
1400120d6:	e8 3d 04 00 00       	call   0x140012518
1400120db:	4c 8b c0             	mov    %rax,%r8
1400120de:	41 bc 00 28 00 00    	mov    $0x2800,%r12d
1400120e4:	41 bf ff 03 00 00    	mov    $0x3ff,%r15d
1400120ea:	41 bd 00 24 00 00    	mov    $0x2400,%r13d
1400120f0:	48 3b c6             	cmp    %rsi,%rax
1400120f3:	72 04                	jb     0x1400120f9
1400120f5:	33 d2                	xor    %edx,%edx
1400120f7:	eb 4a                	jmp    0x140012143
1400120f9:	0f ae e8             	lfence
1400120fc:	49 8b 16             	mov    (%r14),%rdx
1400120ff:	0f b7 04 42          	movzwl (%rdx,%rax,2),%eax
140012103:	66 41 03 c4          	add    %r12w,%ax
140012107:	66 41 3b c7          	cmp    %r15w,%ax
14001210b:	77 31                	ja     0x14001213e
14001210d:	49 8d 40 01          	lea    0x1(%r8),%rax
140012111:	48 3b c6             	cmp    %rsi,%rax
140012114:	73 df                	jae    0x1400120f5
140012116:	42 0f b7 44 42 02    	movzwl 0x2(%rdx,%r8,2),%eax
14001211c:	66 41 03 c5          	add    %r13w,%ax
140012120:	66 41 3b c7          	cmp    %r15w,%ax
140012124:	77 18                	ja     0x14001213e
140012126:	42 0f b7 0c 42       	movzwl (%rdx,%r8,2),%ecx
14001212b:	42 0f b7 54 42 02    	movzwl 0x2(%rdx,%r8,2),%edx
140012131:	81 c2 00 24 a0 fc    	add    $0xfca02400,%edx
140012137:	c1 e1 0a             	shl    $0xa,%ecx
14001213a:	03 d1                	add    %ecx,%edx
14001213c:	eb 05                	jmp    0x140012143
14001213e:	42 0f b7 14 42       	movzwl (%rdx,%r8,2),%edx
140012143:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
140012149:	48 1b db             	sbb    %rbx,%rbx
14001214c:	48 83 c3 02          	add    $0x2,%rbx
140012150:	49 03 d8             	add    %r8,%rbx
140012153:	48 3b de             	cmp    %rsi,%rbx
140012156:	72 04                	jb     0x14001215c
140012158:	33 ff                	xor    %edi,%edi
14001215a:	eb 43                	jmp    0x14001219f
14001215c:	49 8b 16             	mov    (%r14),%rdx
14001215f:	0f b7 04 5a          	movzwl (%rdx,%rbx,2),%eax
140012163:	66 41 03 c4          	add    %r12w,%ax
140012167:	66 41 3b c7          	cmp    %r15w,%ax
14001216b:	77 2e                	ja     0x14001219b
14001216d:	48 8d 43 01          	lea    0x1(%rbx),%rax
140012171:	48 3b c6             	cmp    %rsi,%rax
140012174:	73 e2                	jae    0x140012158
140012176:	0f b7 44 5a 02       	movzwl 0x2(%rdx,%rbx,2),%eax
14001217b:	66 41 03 c5          	add    %r13w,%ax
14001217f:	66 41 3b c7          	cmp    %r15w,%ax
140012183:	77 16                	ja     0x14001219b
140012185:	0f b7 0c 5a          	movzwl (%rdx,%rbx,2),%ecx
140012189:	0f b7 7c 5a 02       	movzwl 0x2(%rdx,%rbx,2),%edi
14001218e:	c1 e1 0a             	shl    $0xa,%ecx
140012191:	81 c7 00 24 a0 fc    	add    $0xfca02400,%edi
140012197:	03 f9                	add    %ecx,%edi
140012199:	eb 04                	jmp    0x14001219f
14001219b:	0f b7 3c 5a          	movzwl (%rdx,%rbx,2),%edi
14001219f:	8b cf                	mov    %edi,%ecx
1400121a1:	e8 da 02 00 00       	call   0x140012480
1400121a6:	84 c0                	test   %al,%al
1400121a8:	75 12                	jne    0x1400121bc
1400121aa:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
1400121b0:	48 1b c0             	sbb    %rax,%rax
1400121b3:	48 83 c0 02          	add    $0x2,%rax
1400121b7:	48 03 d8             	add    %rax,%rbx
1400121ba:	eb 97                	jmp    0x140012153
1400121bc:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1400121c1:	48 8b c3             	mov    %rbx,%rax
1400121c4:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400121c9:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
1400121ce:	4c 8b 64 24 58       	mov    0x58(%rsp),%r12
1400121d3:	48 83 c4 20          	add    $0x20,%rsp
1400121d7:	41 5f                	pop    %r15
1400121d9:	41 5e                	pop    %r14
1400121db:	41 5d                	pop    %r13
1400121dd:	c3                   	ret
1400121de:	cc                   	int3
1400121df:	cc                   	int3
1400121e0:	cc                   	int3
1400121e1:	cc                   	int3
1400121e2:	cc                   	int3
1400121e3:	cc                   	int3
1400121e4:	cc                   	int3
1400121e5:	cc                   	int3
1400121e6:	cc                   	int3
1400121e7:	cc                   	int3
1400121e8:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1400121ed:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1400121f2:	55                   	push   %rbp
1400121f3:	56                   	push   %rsi
1400121f4:	57                   	push   %rdi
1400121f5:	41 54                	push   %r12
1400121f7:	41 55                	push   %r13
1400121f9:	41 56                	push   %r14
1400121fb:	41 57                	push   %r15
1400121fd:	48 83 ec 20          	sub    $0x20,%rsp
140012201:	41 83 20 00          	andl   $0x0,(%r8)
140012205:	49 8b f0             	mov    %r8,%rsi
140012208:	41 83 21 00          	andl   $0x0,(%r9)
14001220c:	48 83 79 18 08       	cmpq   $0x8,0x18(%rcx)
140012211:	72 05                	jb     0x140012218
140012213:	4c 8b 39             	mov    (%rcx),%r15
140012216:	eb 03                	jmp    0x14001221b
140012218:	4c 8b f9             	mov    %rcx,%r15
14001221b:	4c 89 7c 24 60       	mov    %r15,0x60(%rsp)
140012220:	72 05                	jb     0x140012227
140012222:	4c 8b 01             	mov    (%rcx),%r8
140012225:	eb 03                	jmp    0x14001222a
140012227:	4c 8b c1             	mov    %rcx,%r8
14001222a:	48 83 7a 18 08       	cmpq   $0x8,0x18(%rdx)
14001222f:	48 8b 41 10          	mov    0x10(%rcx),%rax
140012233:	4d 8d 24 40          	lea    (%r8,%rax,2),%r12
140012237:	72 05                	jb     0x14001223e
140012239:	48 8b 2a             	mov    (%rdx),%rbp
14001223c:	eb 03                	jmp    0x140012241
14001223e:	48 8b ea             	mov    %rdx,%rbp
140012241:	48 89 6c 24 68       	mov    %rbp,0x68(%rsp)
140012246:	72 05                	jb     0x14001224d
140012248:	48 8b 0a             	mov    (%rdx),%rcx
14001224b:	eb 03                	jmp    0x140012250
14001224d:	48 8b ca             	mov    %rdx,%rcx
140012250:	48 8b 42 10          	mov    0x10(%rdx),%rax
140012254:	41 bd ff ff ff 7f    	mov    $0x7fffffff,%r13d
14001225a:	4c 8d 34 41          	lea    (%rcx,%rax,2),%r14
14001225e:	49 3b ee             	cmp    %r14,%rbp
140012261:	0f 83 9c 01 00 00    	jae    0x140012403
140012267:	48 8b fd             	mov    %rbp,%rdi
14001226a:	4d 3b fc             	cmp    %r12,%r15
14001226d:	0f 83 87 01 00 00    	jae    0x1400123fa
140012273:	49 8b d4             	mov    %r12,%rdx
140012276:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
14001227b:	49 2b d7             	sub    %r15,%rdx
14001227e:	48 d1 fa             	sar    $1,%rdx
140012281:	8b d2                	mov    %edx,%edx
140012283:	e8 28 fe ff ff       	call   0x1400120b0
140012288:	49 8b d6             	mov    %r14,%rdx
14001228b:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140012290:	48 2b d7             	sub    %rdi,%rdx
140012293:	48 8b d8             	mov    %rax,%rbx
140012296:	48 d1 fa             	sar    $1,%rdx
140012299:	8b d2                	mov    %edx,%edx
14001229b:	e8 10 fe ff ff       	call   0x1400120b0
1400122a0:	48 8b d0             	mov    %rax,%rdx
1400122a3:	48 3b d8             	cmp    %rax,%rbx
1400122a6:	0f 85 4e 01 00 00    	jne    0x1400123fa
1400122ac:	48 85 c0             	test   %rax,%rax
1400122af:	0f 84 45 01 00 00    	je     0x1400123fa
1400122b5:	4c 8b c8             	mov    %rax,%r9
1400122b8:	49 8b cf             	mov    %r15,%rcx
1400122bb:	49 2b ff             	sub    %r15,%rdi
1400122be:	0f b7 04 0f          	movzwl (%rdi,%rcx,1),%eax
1400122c2:	66 3b 01             	cmp    (%rcx),%ax
1400122c5:	75 65                	jne    0x14001232c
1400122c7:	48 83 c1 02          	add    $0x2,%rcx
1400122cb:	49 83 e9 01          	sub    $0x1,%r9
1400122cf:	75 ed                	jne    0x1400122be
1400122d1:	33 c0                	xor    %eax,%eax
1400122d3:	85 c0                	test   %eax,%eax
1400122d5:	0f 85 1f 01 00 00    	jne    0x1400123fa
1400122db:	48 63 0e             	movslq (%rsi),%rcx
1400122de:	48 8d 04 12          	lea    (%rdx,%rdx,1),%rax
1400122e2:	48 03 e8             	add    %rax,%rbp
1400122e5:	4c 03 f8             	add    %rax,%r15
1400122e8:	48 03 ca             	add    %rdx,%rcx
1400122eb:	48 89 6c 24 68       	mov    %rbp,0x68(%rsp)
1400122f0:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
1400122f5:	83 c8 ff             	or     $0xffffffff,%eax
1400122f8:	49 3b cd             	cmp    %r13,%rcx
1400122fb:	4c 89 7c 24 60       	mov    %r15,0x60(%rsp)
140012300:	48 8b fd             	mov    %rbp,%rdi
140012303:	0f 46 c1             	cmovbe %ecx,%eax
140012306:	4c 3b e9             	cmp    %rcx,%r13
140012309:	45 1b c9             	sbb    %r9d,%r9d
14001230c:	41 81 e1 16 02 07 80 	and    $0x80070216,%r9d
140012313:	49 3b cd             	cmp    %r13,%rcx
140012316:	0f 87 11 01 00 00    	ja     0x14001242d
14001231c:	89 06                	mov    %eax,(%rsi)
14001231e:	49 3b ee             	cmp    %r14,%rbp
140012321:	0f 82 43 ff ff ff    	jb     0x14001226a
140012327:	e9 ce 00 00 00       	jmp    0x1400123fa
14001232c:	1b c0                	sbb    %eax,%eax
14001232e:	83 e0 fe             	and    $0xfffffffe,%eax
140012331:	ff c0                	inc    %eax
140012333:	eb 9e                	jmp    0x1400122d3
140012335:	4d 3b fc             	cmp    %r12,%r15
140012338:	0f 83 c5 00 00 00    	jae    0x140012403
14001233e:	49 8b c4             	mov    %r12,%rax
140012341:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140012346:	49 2b c7             	sub    %r15,%rax
140012349:	49 8b fe             	mov    %r14,%rdi
14001234c:	48 d1 f8             	sar    $1,%rax
14001234f:	48 2b fd             	sub    %rbp,%rdi
140012352:	48 63 f0             	movslq %eax,%rsi
140012355:	48 d1 ff             	sar    $1,%rdi
140012358:	48 8b d6             	mov    %rsi,%rdx
14001235b:	ff c8                	dec    %eax
14001235d:	4c 63 c0             	movslq %eax,%r8
140012360:	e8 b3 01 00 00       	call   0x140012518
140012365:	8d 4f ff             	lea    -0x1(%rdi),%ecx
140012368:	4c 63 ef             	movslq %edi,%r13
14001236b:	4c 63 c1             	movslq %ecx,%r8
14001236e:	49 8b d5             	mov    %r13,%rdx
140012371:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140012376:	48 8b d8             	mov    %rax,%rbx
140012379:	e8 9a 01 00 00       	call   0x140012518
14001237e:	4c 2b e8             	sub    %rax,%r13
140012381:	48 2b f3             	sub    %rbx,%rsi
140012384:	49 3b f5             	cmp    %r13,%rsi
140012387:	75 7a                	jne    0x140012403
140012389:	4d 85 ed             	test   %r13,%r13
14001238c:	74 75                	je     0x140012403
14001238e:	4a 8d 04 6d 00 00 00 	lea    0x0(,%r13,2),%rax
140012395:	00
140012396:	4d 8b cd             	mov    %r13,%r9
140012399:	4c 2b e0             	sub    %rax,%r12
14001239c:	4c 2b f0             	sub    %rax,%r14
14001239f:	49 8b cc             	mov    %r12,%rcx
1400123a2:	4d 85 ed             	test   %r13,%r13
1400123a5:	74 19                	je     0x1400123c0
1400123a7:	49 8b c6             	mov    %r14,%rax
1400123aa:	49 2b c4             	sub    %r12,%rax
1400123ad:	0f b7 14 08          	movzwl (%rax,%rcx,1),%edx
1400123b1:	66 3b 11             	cmp    (%rcx),%dx
1400123b4:	75 65                	jne    0x14001241b