180116092:	33 db                	xor    %ebx,%ebx
180116094:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
180116099:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
18011609e:	48 85 f6             	test   %rsi,%rsi
1801160a1:	74 28                	je     0x1801160cb
1801160a3:	85 db                	test   %ebx,%ebx
1801160a5:	74 1a                	je     0x1801160c1
1801160a7:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
1801160ab:	4d 8b c6             	mov    %r14,%r8
1801160ae:	49 c1 e0 03          	shl    $0x3,%r8
1801160b2:	48 8b d7             	mov    %rdi,%rdx
1801160b5:	e8 06 f9 01 00       	call   0x1801359c0
1801160ba:	bb 01 00 00 00       	mov    $0x1,%ebx
1801160bf:	eb 02                	jmp    0x1801160c3
1801160c1:	33 db                	xor    %ebx,%ebx
1801160c3:	48 8b ce             	mov    %rsi,%rcx
1801160c6:	e8 31 3f f8 ff       	call   0x180099ffc
1801160cb:	8b c3                	mov    %ebx,%eax
1801160cd:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
1801160d1:	48 33 cc             	xor    %rsp,%rcx
1801160d4:	e8 53 fa ef ff       	call   0x180015b2c
1801160d9:	48 81 c4 08 01 00 00 	add    $0x108,%rsp
1801160e0:	41 5f                	pop    %r15
1801160e2:	41 5e                	pop    %r14
1801160e4:	41 5d                	pop    %r13
1801160e6:	41 5c                	pop    %r12
1801160e8:	5f                   	pop    %rdi
1801160e9:	5e                   	pop    %rsi
1801160ea:	5b                   	pop    %rbx
1801160eb:	5d                   	pop    %rbp
1801160ec:	c3                   	ret
1801160ed:	cc                   	int3
1801160ee:	cc                   	int3
1801160ef:	cc                   	int3
1801160f0:	48 8b c4             	mov    %rsp,%rax
1801160f3:	48 89 58 18          	mov    %rbx,0x18(%rax)
1801160f7:	4c 89 48 20          	mov    %r9,0x20(%rax)
1801160fb:	48 89 50 10          	mov    %rdx,0x10(%rax)
1801160ff:	48 89 48 08          	mov    %rcx,0x8(%rax)
180116103:	55                   	push   %rbp
180116104:	56                   	push   %rsi
180116105:	57                   	push   %rdi
180116106:	41 54                	push   %r12
180116108:	41 55                	push   %r13
18011610a:	41 56                	push   %r14
18011610c:	41 57                	push   %r15
18011610e:	48 8d 68 b9          	lea    -0x47(%rax),%rbp
180116112:	48 81 ec b0 00 00 00 	sub    $0xb0,%rsp
180116119:	4c 8b ca             	mov    %rdx,%r9
18011611c:	4d 8b d0             	mov    %r8,%r10
18011611f:	49 8b c9             	mov    %r9,%rcx
180116122:	49 8b d0             	mov    %r8,%rdx
180116125:	e8 16 b2 ff ff       	call   0x180111340
18011612a:	49 8b d2             	mov    %r10,%rdx
18011612d:	49 8b c9             	mov    %r9,%rcx
180116130:	4c 8b e0             	mov    %rax,%r12
180116133:	e8 a8 af ff ff       	call   0x1801110e0
180116138:	48 8b 7d 77          	mov    0x77(%rbp),%rdi
18011613c:	0f 57 c0             	xorps  %xmm0,%xmm0
18011613f:	48 89 45 9f          	mov    %rax,-0x61(%rbp)
180116143:	ba 01 00 00 00       	mov    $0x1,%edx
180116148:	48 8b 45 6f          	mov    0x6f(%rbp),%rax
18011614c:	8b ca                	mov    %edx,%ecx
18011614e:	33 f6                	xor    %esi,%esi
180116150:	0f 11 07             	movups %xmm0,(%rdi)
180116153:	4c 8b 08             	mov    (%rax),%r9
180116156:	48 8b 58 10          	mov    0x10(%rax),%rbx
18011615a:	4c 89 4d 8f          	mov    %r9,-0x71(%rbp)
18011615e:	0f 11 47 10          	movups %xmm0,0x10(%rdi)
180116162:	48 8d 05 e7 71 04 00 	lea    0x471e7(%rip),%rax        # 0x18015d350
180116169:	0f b7 04 48          	movzwl (%rax,%rcx,2),%eax
18011616d:	4c 3b e0             	cmp    %rax,%r12
180116170:	76 09                	jbe    0x18011617b
180116172:	48 03 ca             	add    %rdx,%rcx
180116175:	48 83 f9 06          	cmp    $0x6,%rcx
180116179:	72 e7                	jb     0x180116162
18011617b:	4c 8b c2             	mov    %rdx,%r8
18011617e:	48 89 4d cf          	mov    %rcx,-0x31(%rbp)
180116182:	33 d2                	xor    %edx,%edx
180116184:	49 d3 e0             	shl    %cl,%r8
180116187:	4d 8d 7c 24 ff       	lea    -0x1(%r12),%r15
18011618c:	4c 89 45 af          	mov    %r8,-0x51(%rbp)
180116190:	49 8b c7             	mov    %r15,%rax
180116193:	48 f7 f1             	div    %rcx
180116196:	49 8d 48 02          	lea    0x2(%r8),%rcx
18011619a:	49 0f af c9          	imul   %r9,%rcx
18011619e:	4c 8d 70 02          	lea    0x2(%rax),%r14
1801161a2:	49 03 ce             	add    %r14,%rcx
1801161a5:	4c 89 75 bf          	mov    %r14,-0x41(%rbp)
1801161a9:	48 03 cb             	add    %rbx,%rcx
1801161ac:	48 c1 e1 03          	shl    $0x3,%rcx
1801161b0:	e8 9b 3c f8 ff       	call   0x180099e50
1801161b5:	4c 8b 6d 7f          	mov    0x7f(%rbp),%r13
1801161b9:	48 8b 4d 4f          	mov    0x4f(%rbp),%rcx
1801161bd:	48 89 45 97          	mov    %rax,-0x69(%rbp)
1801161c1:	48 8b 45 6f          	mov    0x6f(%rbp),%rax
1801161c5:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
1801161ca:	4c 8b 00             	mov    (%rax),%r8
1801161cd:	48 8b 50 38          	mov    0x38(%rax),%rdx
1801161d1:	e8 e2 a5 ff ff       	call   0x1801107b8
1801161d6:	85 c0                	test   %eax,%eax
1801161d8:	0f 84 f8 04 00 00    	je     0x1801166d6
1801161de:	48 8b 45 97          	mov    -0x69(%rbp),%rax
1801161e2:	48 85 c0             	test   %rax,%rax
1801161e5:	75 07                	jne    0x1801161ee
1801161e7:	33 db                	xor    %ebx,%ebx
1801161e9:	e9 23 05 00 00       	jmp    0x180116711
1801161ee:	48 8b 55 8f          	mov    -0x71(%rbp),%rdx
1801161f2:	4c 8d 04 d8          	lea    (%rax,%rbx,8),%r8
1801161f6:	48 8b 45 af          	mov    -0x51(%rbp),%rax
1801161fa:	48 ff 07             	incq   (%rdi)
1801161fd:	48 0f af c2          	imul   %rdx,%rax
180116201:	49 8d 34 d0          	lea    (%r8,%rdx,8),%rsi
180116205:	4c 89 45 c7          	mov    %r8,-0x39(%rbp)
180116209:	48 8d 0c d6          	lea    (%rsi,%rdx,8),%rcx
18011620d:	48 c1 e0 03          	shl    $0x3,%rax
180116211:	48 8b 55 6f          	mov    0x6f(%rbp),%rdx
180116215:	48 89 45 07          	mov    %rax,0x7(%rbp)
180116219:	48 03 c1             	add    %rcx,%rax
18011621c:	48 89 4d d7          	mov    %rcx,-0x29(%rbp)
180116220:	48 89 45 b7          	mov    %rax,-0x49(%rbp)
180116224:	48 8b 02             	mov    (%rdx),%rax
180116227:	48 8b 4a 50          	mov    0x50(%rdx),%rcx
18011622b:	4c 8b 4a 38          	mov    0x38(%rdx),%r9
18011622f:	48 8b d1             	mov    %rcx,%rdx
180116232:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180116237:	48 89 75 ff          	mov    %rsi,-0x1(%rbp)
18011623b:	e8 44 a1 ff ff       	call   0x180110384
180116240:	85 c0                	test   %eax,%eax
180116242:	74 21                	je     0x180116265
180116244:	4c 8b 45 8f          	mov    -0x71(%rbp),%r8
180116248:	bb 01 00 00 00       	mov    $0x1,%ebx
18011624d:	48 8b 55 c7          	mov    -0x39(%rbp),%rdx
180116251:	48 8b 4d 4f          	mov    0x4f(%rbp),%rcx
180116255:	e8 0e a3 ff ff       	call   0x180110568
18011625a:	85 c0                	test   %eax,%eax
18011625c:	75 09                	jne    0x180116267
18011625e:	8b c3                	mov    %ebx,%eax
180116260:	89 5d a7             	mov    %ebx,-0x59(%rbp)
180116263:	eb 0f                	jmp    0x180116274
180116265:	33 db                	xor    %ebx,%ebx
180116267:	33 c0                	xor    %eax,%eax
180116269:	89 45 a7             	mov    %eax,-0x59(%rbp)
18011626c:	85 db                	test   %ebx,%ebx
18011626e:	0f 84 64 04 00 00    	je     0x1801166d8
180116274:	4d 85 e4             	test   %r12,%r12
180116277:	75 29                	jne    0x1801162a2
180116279:	4c 8b 7d 6f          	mov    0x6f(%rbp),%r15
18011627d:	48 8b ce             	mov    %rsi,%rcx
180116280:	4c 8b 65 8f          	mov    -0x71(%rbp),%r12
180116284:	48 ff 47 18          	incq   0x18(%rdi)
180116288:	4d 8b c4             	mov    %r12,%r8
18011628b:	49 c1 e0 03          	shl    $0x3,%r8
18011628f:	49 8b 57 50          	mov    0x50(%r15),%rdx
180116293:	e8 28 f7 01 00       	call   0x1801359c0
180116298:	bb 01 00 00 00       	mov    $0x1,%ebx
18011629d:	e9 3a 04 00 00       	jmp    0x1801166dc
1801162a2:	85 c0                	test   %eax,%eax
1801162a4:	0f 85 10 03 00 00    	jne    0x1801165ba
1801162aa:	48 83 7d 9f 04       	cmpq   $0x4,-0x61(%rbp)
1801162af:	0f 86 05 03 00 00    	jbe    0x1801165ba
1801162b5:	4c 8b 45 af          	mov    -0x51(%rbp),%r8
1801162b9:	33 c0                	xor    %eax,%eax
1801162bb:	48 8b 7d cf          	mov    -0x31(%rbp),%rdi
1801162bf:	49 ff c8             	dec    %r8
1801162c2:	4c 8b 6d af          	mov    -0x51(%rbp),%r13
1801162c6:	45 33 ff             	xor    %r15d,%r15d
1801162c9:	48 8b 75 57          	mov    0x57(%rbp),%rsi
1801162cd:	33 d2                	xor    %edx,%edx
1801162cf:	4c 8b 4d b7          	mov    -0x49(%rbp),%r9
1801162d3:	48 89 45 9f          	mov    %rax,-0x61(%rbp)
1801162d7:	49 3b c6             	cmp    %r14,%rax
1801162da:	0f 84 89 00 00 00    	je     0x180116369
1801162e0:	48 8d 0c 3a          	lea    (%rdx,%rdi,1),%rcx
1801162e4:	49 3b cc             	cmp    %r12,%rcx
1801162e7:	48 89 4d f7          	mov    %rcx,-0x9(%rbp)
1801162eb:	48 8b c1             	mov    %rcx,%rax
1801162ee:	49 0f 47 c4          	cmova  %r12,%rax
1801162f2:	48 83 65 a7 00       	andq   $0x0,-0x59(%rbp)
1801162f7:	48 ff c8             	dec    %rax
1801162fa:	48 3b c2             	cmp    %rdx,%rax
1801162fd:	72 30                	jb     0x18011632f
1801162ff:	85 db                	test   %ebx,%ebx
180116301:	74 26                	je     0x180116329
180116303:	48 2b c2             	sub    %rdx,%rax
180116306:	4c 8d 45 a7          	lea    -0x59(%rbp),%r8
18011630a:	48 ff c0             	inc    %rax
18011630d:	48 8b ce             	mov    %rsi,%rcx
180116310:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180116315:	e8 56 af ff ff       	call   0x180111270
18011631a:	4d 8d 45 ff          	lea    -0x1(%r13),%r8
18011631e:	85 c0                	test   %eax,%eax
180116320:	74 07                	je     0x180116329
180116322:	bb 01 00 00 00       	mov    $0x1,%ebx
180116327:	eb 02                	jmp    0x18011632b
180116329:	33 db                	xor    %ebx,%ebx
18011632b:	4c 8b 4d b7          	mov    -0x49(%rbp),%r9
18011632f:	48 8b 4d a7          	mov    -0x59(%rbp),%rcx
180116333:	48 8b 55 f7          	mov    -0x9(%rbp),%rdx
180116337:	49 2b cf             	sub    %r15,%rcx
18011633a:	48 8b c1             	mov    %rcx,%rax
18011633d:	4d 8b fd             	mov    %r13,%r15
180116340:	48 f7 d8             	neg    %rax
180116343:	49 23 c0             	and    %r8,%rax
180116346:	4c 2b f8             	sub    %rax,%r15
180116349:	48 8b 45 9f          	mov    -0x61(%rbp),%rax
18011634d:	4d 89 3c c1          	mov    %r15,(%r9,%rax,8)
180116351:	4c 2b f9             	sub    %rcx,%r15
180116354:	48 ff c0             	inc    %rax
180116357:	48 8b cf             	mov    %rdi,%rcx
18011635a:	49 d3 ef             	shr    %cl,%r15
18011635d:	48 89 45 9f          	mov    %rax,-0x61(%rbp)
180116361:	85 db                	test   %ebx,%ebx
180116363:	0f 85 6e ff ff ff    	jne    0x1801162d7
180116369:	48 8b 7d 77          	mov    0x77(%rbp),%rdi
18011636d:	48 8b 75 ff          	mov    -0x1(%rbp),%rsi
180116371:	4c 8b 6d 7f          	mov    0x7f(%rbp),%r13
180116375:	85 db                	test   %ebx,%ebx
180116377:	0f 84 5b 03 00 00    	je     0x1801166d8
18011637d:	48 8b 4d af          	mov    -0x51(%rbp),%rcx
180116381:	49 8d 46 ff          	lea    -0x1(%r14),%rax
180116385:	49 8d 04 c1          	lea    (%r9,%rax,8),%rax
180116389:	ba 05 00 00 00       	mov    $0x5,%edx
18011638e:	49 83 ff 01          	cmp    $0x1,%r15
180116392:	75 30                	jne    0x1801163c4
180116394:	4d 85 f6             	test   %r14,%r14
180116397:	74 2b                	je     0x1801163c4
180116399:	4c 39 00             	cmp    %r8,(%rax)
18011639c:	72 13                	jb     0x1801163b1
18011639e:	49 ff ce             	dec    %r14
1801163a1:	4c 8b f9             	mov    %rcx,%r15
1801163a4:	4c 2b 38             	sub    (%rax),%r15
1801163a7:	48 83 e8 08          	sub    $0x8,%rax
1801163ab:	4c 89 75 bf          	mov    %r14,-0x41(%rbp)
1801163af:	eb 0f                	jmp    0x1801163c0
1801163b1:	33 db                	xor    %ebx,%ebx
1801163b3:	4d 85 ed             	test   %r13,%r13
1801163b6:	0f 84 1c 03 00 00    	je     0x1801166d8
1801163bc:	41 89 55 10          	mov    %edx,0x10(%r13)
1801163c0:	85 db                	test   %ebx,%ebx
1801163c2:	75 ca                	jne    0x18011638e
1801163c4:	85 db                	test   %ebx,%ebx
1801163c6:	0f 84 0c 03 00 00    	je     0x1801166d8
1801163cc:	4d 85 f6             	test   %r14,%r14
1801163cf:	75 18                	jne    0x1801163e9
1801163d1:	4c 8b 65 8f          	mov    -0x71(%rbp),%r12
1801163d5:	33 db                	xor    %ebx,%ebx
1801163d7:	4d 85 ed             	test   %r13,%r13
1801163da:	0f 84 fc 02 00 00    	je     0x1801166dc
1801163e0:	41 89 55 10          	mov    %edx,0x10(%r13)
1801163e4:	e9 f3 02 00 00       	jmp    0x1801166dc
1801163e9:	4c 8b 75 07          	mov    0x7(%rbp),%r14
1801163ed:	33 d2                	xor    %edx,%edx
1801163ef:	48 8b 5d d7          	mov    -0x29(%rbp),%rbx
1801163f3:	4d 8b c6             	mov    %r14,%r8
1801163f6:	48 8b cb             	mov    %rbx,%rcx
1801163f9:	e8 82 f8 01 00       	call   0x180135c80
1801163fe:	48 8b 45 8f          	mov    -0x71(%rbp),%rax
180116402:	48 8b ce             	mov    %rsi,%rcx
180116405:	4c 8b 65 af          	mov    -0x51(%rbp),%r12
180116409:	4c 8b c0             	mov    %rax,%r8
18011640c:	48 8b 55 4f          	mov    0x4f(%rbp),%rdx
180116410:	49 c1 e0 03          	shl    $0x3,%r8
180116414:	4c 89 75 df          	mov    %r14,-0x21(%rbp)
180116418:	48 89 5d d7          	mov    %rbx,-0x29(%rbp)
18011641c:	4c 89 65 e7          	mov    %r12,-0x19(%rbp)
180116420:	48 89 45 ef          	mov    %rax,-0x11(%rbp)
180116424:	e8 97 f5 01 00       	call   0x1801359c0
180116429:	4c 8b 7d 6f          	mov    0x6f(%rbp),%r15
18011642d:	b8 01 00 00 00       	mov    $0x1,%eax
180116432:	4c 8b 75 97          	mov    -0x69(%rbp),%r14
180116436:	33 db                	xor    %ebx,%ebx
180116438:	48 ff 47 18          	incq   0x18(%rdi)
18011643c:	85 c0                	test   %eax,%eax
18011643e:	74 1d                	je     0x18011645d
180116440:	4d 8b cd             	mov    %r13,%r9
180116443:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
180116447:	4c 8b c6             	mov    %rsi,%r8
18011644a:	48 8b d3             	mov    %rbx,%rdx
18011644d:	e8 de 02 00 00       	call   0x180116730
180116452:	85 c0                	test   %eax,%eax
180116454:	74 07                	je     0x18011645d
180116456:	b8 01 00 00 00       	mov    $0x1,%eax
18011645b:	eb 02                	jmp    0x18011645f
18011645d:	33 c0                	xor    %eax,%eax
18011645f:	49 8d 4c 24 ff       	lea    -0x1(%r12),%rcx
180116464:	48 3b d9             	cmp    %rcx,%rbx
180116467:	74 31                	je     0x18011649a
180116469:	48 ff 47 08          	incq   0x8(%rdi)
18011646d:	85 c0                	test   %eax,%eax
18011646f:	74 27                	je     0x180116498
180116471:	48 8b 55 4f          	mov    0x4f(%rbp),%rdx
180116475:	4d 8b cf             	mov    %r15,%r9
180116478:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
18011647d:	4c 8b c6             	mov    %rsi,%r8
180116480:	48 8b ce             	mov    %rsi,%rcx
180116483:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
180116488:	e8 7b cf ff ff       	call   0x180113408
18011648d:	85 c0                	test   %eax,%eax
18011648f:	74 07                	je     0x180116498
180116491:	b8 01 00 00 00       	mov    $0x1,%eax
180116496:	eb 02                	jmp    0x18011649a
180116498:	33 c0                	xor    %eax,%eax
18011649a:	48 ff c3             	inc    %rbx
18011649d:	49 3b dc             	cmp    %r12,%rbx
1801164a0:	75 96                	jne    0x180116438
1801164a2:	48 ff 47 18          	incq   0x18(%rdi)
1801164a6:	4c 8b 75 bf          	mov    -0x41(%rbp),%r14
1801164aa:	4c 8b 7d b7          	mov    -0x49(%rbp),%r15
1801164ae:	85 c0                	test   %eax,%eax
1801164b0:	74 22                	je     0x1801164d4
1801164b2:	4b 8b 54 f7 f8       	mov    -0x8(%r15,%r14,8),%rdx
1801164b7:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
1801164bb:	48 ff ca             	dec    %rdx
1801164be:	4d 8b cd             	mov    %r13,%r9
1801164c1:	4c 8b c6             	mov    %rsi,%r8
1801164c4:	e8 6f 03 00 00       	call   0x180116838
1801164c9:	85 c0                	test   %eax,%eax
1801164cb:	74 07                	je     0x1801164d4
1801164cd:	bb 01 00 00 00       	mov    $0x1,%ebx
1801164d2:	eb 02                	jmp    0x1801164d6
1801164d4:	33 db                	xor    %ebx,%ebx
1801164d6:	49 83 ee 01          	sub    $0x1,%r14
1801164da:	4c 89 75 bf          	mov    %r14,-0x41(%rbp)
1801164de:	0f 84 f4 01 00 00    	je     0x1801166d8
1801164e4:	4d 8d 66 ff          	lea    -0x1(%r14),%r12
1801164e8:	4f 8d 24 e7          	lea    (%r15,%r12,8),%r12
1801164ec:	4c 89 65 9f          	mov    %r12,-0x61(%rbp)
1801164f0:	4c 8b 7d cf          	mov    -0x31(%rbp),%r15
1801164f4:	4c 8b 65 6f          	mov    0x6f(%rbp),%r12
1801164f8:	4c 8b 75 97          	mov    -0x69(%rbp),%r14
1801164fc:	48 ff 47 08          	incq   0x8(%rdi)
180116500:	85 db                	test   %ebx,%ebx
180116502:	74 26                	je     0x18011652a
180116504:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
180116509:	4d 8b cc             	mov    %r12,%r9
18011650c:	4c 8b c6             	mov    %rsi,%r8
18011650f:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
180116514:	48 8b d6             	mov    %rsi,%rdx
180116517:	48 8b ce             	mov    %rsi,%rcx
18011651a:	e8 e9 ce ff ff       	call   0x180113408
18011651f:	85 c0                	test   %eax,%eax
180116521:	74 07                	je     0x18011652a
180116523:	bb 01 00 00 00       	mov    $0x1,%ebx
180116528:	eb 02                	jmp    0x18011652c
18011652a:	33 db                	xor    %ebx,%ebx
18011652c:	49 83 ef 01          	sub    $0x1,%r15
180116530:	75 ca                	jne    0x1801164fc
180116532:	4c 8b 75 bf          	mov    -0x41(%rbp),%r14
180116536:	85 db                	test   %ebx,%ebx