14056612a:	74 14                	je     0x140566140
14056612c:	48 c1 e6 04          	shl    $0x4,%rsi
140566130:	33 d2                	xor    %edx,%edx
140566132:	4c 8b c6             	mov    %rsi,%r8
140566135:	48 8b cd             	mov    %rbp,%rcx
140566138:	e8 73 95 97 00       	call   0x140edf6b0
14056613d:	48 03 ee             	add    %rsi,%rbp
140566140:	48 89 6b 30          	mov    %rbp,0x30(%rbx)
140566144:	48 8b 93 b0 00 00 00 	mov    0xb0(%rbx),%rdx
14056614b:	48 85 ff             	test   %rdi,%rdi
14056614e:	48 8b cb             	mov    %rbx,%rcx
140566151:	44 88 bb d8 00 00 00 	mov    %r15b,0xd8(%rbx)
140566158:	0f 95 c0             	setne  %al
14056615b:	c7 83 dc 00 00 00 80 	movl   $0x989680,0xdc(%rbx)
140566162:	96 98 00
140566165:	88 83 c1 00 00 00    	mov    %al,0xc1(%rbx)
14056616b:	c7 83 e0 00 00 00 58 	movl   $0x258,0xe0(%rbx)
140566172:	02 00 00
140566175:	c6 83 c0 00 00 00 00 	movb   $0x0,0xc0(%rbx)
14056617c:	e8 af 62 00 00       	call   0x14056c430
140566181:	84 c0                	test   %al,%al
140566183:	0f 84 03 01 00 00    	je     0x14056628c
140566189:	48 85 ff             	test   %rdi,%rdi
14056618c:	0f 84 f8 00 00 00    	je     0x14056628a
140566192:	8b 93 c4 00 00 00    	mov    0xc4(%rbx),%edx
140566198:	48 8b cf             	mov    %rdi,%rcx
14056619b:	e8 f0 99 e4 ff       	call   0x1403afb90
1405661a0:	45 33 c0             	xor    %r8d,%r8d
1405661a3:	44 39 83 c4 00 00 00 	cmp    %r8d,0xc4(%rbx)
1405661aa:	0f 86 7f 00 00 00    	jbe    0x14056622f
1405661b0:	48 8b 43 48          	mov    0x48(%rbx),%rax
1405661b4:	4f 8d 0c 40          	lea    (%r8,%r8,2),%r9
1405661b8:	4c 8b 5f 10          	mov    0x10(%rdi),%r11
1405661bc:	41 8b c8             	mov    %r8d,%ecx
1405661bf:	48 c1 e9 05          	shr    $0x5,%rcx
1405661c3:	45 8b d0             	mov    %r8d,%r10d
1405661c6:	48 8d 14 88          	lea    (%rax,%rcx,4),%rdx
1405661ca:	41 0f b6 c0          	movzbl %r8b,%eax
1405661ce:	24 1f                	and    $0x1f,%al
1405661d0:	0f b6 c8             	movzbl %al,%ecx
1405661d3:	8b 02                	mov    (%rdx),%eax
1405661d5:	0f a3 c8             	bt     %ecx,%eax
1405661d8:	73 24                	jae    0x1405661fe
1405661da:	43 c6 44 cb 10 01    	movb   $0x1,0x10(%r11,%r9,8)
1405661e0:	4d 03 d2             	add    %r10,%r10
1405661e3:	48 8b 43 68          	mov    0x68(%rbx),%rax
1405661e7:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1405661eb:	4a 8b 04 d0          	mov    (%rax,%r10,8),%rax
1405661ef:	4a 89 04 c9          	mov    %rax,(%rcx,%r9,8)
1405661f3:	48 8b 43 68          	mov    0x68(%rbx),%rax
1405661f7:	4a 8b 44 d0 08       	mov    0x8(%rax,%r10,8),%rax
1405661fc:	eb 1c                	jmp    0x14056621a
1405661fe:	43 c6 44 cb 10 00    	movb   $0x0,0x10(%r11,%r9,8)
140566204:	48 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%rax
14056620b:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14056620f:	4a 89 04 c9          	mov    %rax,(%rcx,%r9,8)
140566213:	48 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%rax
14056621a:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14056621e:	41 ff c0             	inc    %r8d
140566221:	4a 89 44 c9 08       	mov    %rax,0x8(%rcx,%r9,8)
140566226:	44 3b 83 c4 00 00 00 	cmp    0xc4(%rbx),%r8d
14056622d:	72 81                	jb     0x1405661b0
14056622f:	48 8b 83 98 00 00 00 	mov    0x98(%rbx),%rax
140566236:	48 89 07             	mov    %rax,(%rdi)
140566239:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
140566240:	48 89 4f 28          	mov    %rcx,0x28(%rdi)
140566244:	48 8b 57 10          	mov    0x10(%rdi),%rdx
140566248:	48 8b 02             	mov    (%rdx),%rax
14056624b:	48 3b c8             	cmp    %rax,%rcx
14056624e:	48 89 47 30          	mov    %rax,0x30(%rdi)
140566252:	0f 95 c0             	setne  %al
140566255:	88 47 38             	mov    %al,0x38(%rdi)
140566258:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
14056625c:	48 89 4f 40          	mov    %rcx,0x40(%rdi)
140566260:	48 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%rax
140566267:	48 3b c8             	cmp    %rax,%rcx
14056626a:	48 89 47 48          	mov    %rax,0x48(%rdi)
14056626e:	0f 95 c0             	setne  %al
140566271:	88 47 50             	mov    %al,0x50(%rdi)
140566274:	48 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%rax
14056627b:	48 89 47 58          	mov    %rax,0x58(%rdi)
14056627f:	48 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%rax
140566286:	48 89 47 60          	mov    %rax,0x60(%rdi)
14056628a:	b0 01                	mov    $0x1,%al
14056628c:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140566291:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140566296:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
14056629b:	48 83 c4 20          	add    $0x20,%rsp
14056629f:	41 5f                	pop    %r15
1405662a1:	41 5e                	pop    %r14
1405662a3:	5f                   	pop    %rdi
1405662a4:	c3                   	ret
1405662a5:	cc                   	int3
1405662a6:	cc                   	int3
1405662a7:	cc                   	int3
1405662a8:	cc                   	int3
1405662a9:	cc                   	int3
1405662aa:	cc                   	int3
1405662ab:	cc                   	int3
1405662ac:	cc                   	int3
1405662ad:	cc                   	int3
1405662ae:	cc                   	int3
1405662af:	cc                   	int3
1405662b0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1405662b5:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1405662ba:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1405662bf:	55                   	push   %rbp
1405662c0:	56                   	push   %rsi
1405662c1:	57                   	push   %rdi
1405662c2:	41 54                	push   %r12
1405662c4:	41 55                	push   %r13
1405662c6:	41 56                	push   %r14
1405662c8:	41 57                	push   %r15
1405662ca:	48 8d 6c 24 f1       	lea    -0xf(%rsp),%rbp
1405662cf:	48 81 ec b0 00 00 00 	sub    $0xb0,%rsp
1405662d6:	49 8b c1             	mov    %r9,%rax
1405662d9:	4d 8b f0             	mov    %r8,%r14
1405662dc:	48 8b fa             	mov    %rdx,%rdi
1405662df:	33 c9                	xor    %ecx,%ecx
1405662e1:	48 89 4d 9f          	mov    %rcx,-0x61(%rbp)
1405662e5:	88 4d a7             	mov    %cl,-0x59(%rbp)
1405662e8:	0f 57 c0             	xorps  %xmm0,%xmm0
1405662eb:	66 0f 7f 45 af       	movdqa %xmm0,-0x51(%rbp)
1405662f0:	0f 57 c9             	xorps  %xmm1,%xmm1
1405662f3:	66 0f 7f 4d bf       	movdqa %xmm1,-0x41(%rbp)
1405662f8:	48 89 4d cf          	mov    %rcx,-0x31(%rbp)
1405662fc:	88 4d d7             	mov    %cl,-0x29(%rbp)
1405662ff:	66 0f 7f 45 df       	movdqa %xmm0,-0x21(%rbp)
140566304:	88 4d ef             	mov    %cl,-0x11(%rbp)
140566307:	48 89 4d f7          	mov    %rcx,-0x9(%rbp)
14056630b:	48 89 4d ff          	mov    %rcx,-0x1(%rbp)
14056630f:	88 4d 07             	mov    %cl,0x7(%rbp)
140566312:	44 8b 6d 7f          	mov    0x7f(%rbp),%r13d
140566316:	45 8b e5             	mov    %r13d,%r12d
140566319:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
14056631e:	44 89 6c 24 20       	mov    %r13d,0x20(%rsp)
140566323:	4c 8b 4d 6f          	mov    0x6f(%rbp),%r9
140566327:	4c 8d 45 9f          	lea    -0x61(%rbp),%r8
14056632b:	48 8b d0             	mov    %rax,%rdx
14056632e:	49 8b ce             	mov    %r14,%rcx
140566331:	e8 2a 02 00 00       	call   0x140566560
140566336:	49 b9 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r9
14056633d:	aa aa 2a
140566340:	84 c0                	test   %al,%al
140566342:	0f 84 66 01 00 00    	je     0x1405664ae
140566348:	41 8b c5             	mov    %r13d,%eax
14056634b:	25 00 08 00 00       	and    $0x800,%eax
140566350:	89 45 7f             	mov    %eax,0x7f(%rbp)
140566353:	4c 8b 7d 77          	mov    0x77(%rbp),%r15
140566357:	0f b6 5d 7f          	movzbl 0x7f(%rbp),%ebx
14056635b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140566360:	85 c0                	test   %eax,%eax
140566362:	75 56                	jne    0x1405663ba
140566364:	48 8b 75 c7          	mov    -0x39(%rbp),%rsi
140566368:	4c 8b 75 cf          	mov    -0x31(%rbp),%r14
14056636c:	49 3b f6             	cmp    %r14,%rsi
14056636f:	74 49                	je     0x1405663ba
140566371:	44 0f b6 0e          	movzbl (%rsi),%r9d
140566375:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140566379:	48 8b 57 18          	mov    0x18(%rdi),%rdx
14056637d:	48 3b ca             	cmp    %rdx,%rcx
140566380:	73 1f                	jae    0x1405663a1
140566382:	48 8d 41 01          	lea    0x1(%rcx),%rax
140566386:	48 89 47 10          	mov    %rax,0x10(%rdi)
14056638a:	48 8b c7             	mov    %rdi,%rax
14056638d:	48 83 fa 0f          	cmp    $0xf,%rdx
140566391:	76 03                	jbe    0x140566396
140566393:	48 8b 07             	mov    (%rdi),%rax
140566396:	44 88 0c 08          	mov    %r9b,(%rax,%rcx,1)
14056639a:	c6 44 08 01 00       	movb   $0x0,0x1(%rax,%rcx,1)
14056639f:	eb 11                	jmp    0x1405663b2
1405663a1:	44 0f b6 c3          	movzbl %bl,%r8d
1405663a5:	ba 01 00 00 00       	mov    $0x1,%edx
1405663aa:	48 8b cf             	mov    %rdi,%rcx
1405663ad:	e8 0e 24 c4 ff       	call   0x1401a87c0
1405663b2:	48 ff c6             	inc    %rsi
1405663b5:	49 3b f6             	cmp    %r14,%rsi
1405663b8:	75 b7                	jne    0x140566371
1405663ba:	49 8b 57 10          	mov    0x10(%r15),%rdx
1405663be:	49 83 7f 18 0f       	cmpq   $0xf,0x18(%r15)
1405663c3:	76 08                	jbe    0x1405663cd
1405663c5:	49 03 17             	add    (%r15),%rdx
1405663c8:	4d 8b 0f             	mov    (%r15),%r9
1405663cb:	eb 06                	jmp    0x1405663d3
1405663cd:	49 03 d7             	add    %r15,%rdx
1405663d0:	4d 8b cf             	mov    %r15,%r9
1405663d3:	44 89 64 24 28       	mov    %r12d,0x28(%rsp)
1405663d8:	4c 8b c7             	mov    %rdi,%r8
1405663db:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1405663e0:	48 8d 55 9f          	lea    -0x61(%rbp),%rdx
1405663e4:	41 0f ba e4 0a       	bt     $0xa,%r12d
1405663e9:	73 0b                	jae    0x1405663f6
1405663eb:	48 8d 4d 5f          	lea    0x5f(%rbp),%rcx
1405663ef:	e8 fc f9 ff ff       	call   0x140565df0
1405663f4:	eb 09                	jmp    0x1405663ff
1405663f6:	48 8d 4d 8f          	lea    -0x71(%rbp),%rcx
1405663fa:	e8 31 f3 ff ff       	call   0x140565730
1405663ff:	48 8b 38             	mov    (%rax),%rdi
140566402:	48 8b 4d b7          	mov    -0x49(%rbp),%rcx
140566406:	48 8b 75 af          	mov    -0x51(%rbp),%rsi
14056640a:	48 2b ce             	sub    %rsi,%rcx
14056640d:	49 b9 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r9
140566414:	aa aa 2a
140566417:	49 8b c1             	mov    %r9,%rax
14056641a:	48 f7 e9             	imul   %rcx
14056641d:	48 c1 fa 02          	sar    $0x2,%rdx
140566421:	48 8b c2             	mov    %rdx,%rax
140566424:	48 c1 e8 3f          	shr    $0x3f,%rax
140566428:	48 03 d0             	add    %rax,%rdx
14056642b:	48 8d 45 f7          	lea    -0x9(%rbp),%rax
14056642f:	48 0f 45 c6          	cmovne %rsi,%rax
140566433:	4c 8b 70 08          	mov    0x8(%rax),%r14
140566437:	4c 8b 55 67          	mov    0x67(%rbp),%r10
14056643b:	4d 3b f2             	cmp    %r10,%r14
14056643e:	74 76                	je     0x1405664b6
140566440:	41 0f ba e5 0c       	bt     $0xc,%r13d
140566445:	72 6f                	jb     0x1405664b6
140566447:	48 85 d2             	test   %rdx,%rdx
14056644a:	75 0a                	jne    0x140566456
14056644c:	48 8d 75 f7          	lea    -0x9(%rbp),%rsi
140566450:	48 8d 45 f7          	lea    -0x9(%rbp),%rax
140566454:	eb 03                	jmp    0x140566459
140566456:	48 8b c6             	mov    %rsi,%rax
140566459:	48 8b 0e             	mov    (%rsi),%rcx
14056645c:	48 8b 50 08          	mov    0x8(%rax),%rdx
140566460:	48 3b ca             	cmp    %rdx,%rcx
140566463:	74 05                	je     0x14056646a
140566465:	41 0f ba ec 08       	bts    $0x8,%r12d
14056646a:	b8 00 20 00 00       	mov    $0x2000,%eax
14056646f:	48 3b ca             	cmp    %rdx,%rcx
140566472:	b9 00 00 00 00       	mov    $0x0,%ecx
140566477:	0f 45 c1             	cmovne %ecx,%eax
14056647a:	41 0b c4             	or     %r12d,%eax
14056647d:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140566482:	89 44 24 20          	mov    %eax,0x20(%rsp)
140566486:	4c 8b 4d 6f          	mov    0x6f(%rbp),%r9
14056648a:	4c 8d 45 9f          	lea    -0x61(%rbp),%r8
14056648e:	49 8b d2             	mov    %r10,%rdx
140566491:	49 8b ce             	mov    %r14,%rcx
140566494:	e8 c7 00 00 00       	call   0x140566560
140566499:	84 c0                	test   %al,%al
14056649b:	8b 45 7f             	mov    0x7f(%rbp),%eax
14056649e:	0f 85 bc fe ff ff    	jne    0x140566360
1405664a4:	49 b9 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r9
1405664ab:	aa aa 2a
1405664ae:	48 8b 75 af          	mov    -0x51(%rbp),%rsi
1405664b2:	4c 8b 55 67          	mov    0x67(%rbp),%r10
1405664b6:	41 0f ba e5 0b       	bt     $0xb,%r13d
1405664bb:	72 1f                	jb     0x1405664dc
1405664bd:	4c 8b cf             	mov    %rdi,%r9
1405664c0:	4d 8b c2             	mov    %r10,%r8
1405664c3:	49 8b d6             	mov    %r14,%rdx
1405664c6:	48 8d 4d 5f          	lea    0x5f(%rbp),%rcx
1405664ca:	e8 b1 f1 ff ff       	call   0x140565680
1405664cf:	48 8b 38             	mov    (%rax),%rdi
1405664d2:	49 b9 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r9
1405664d9:	aa aa 2a
1405664dc:	48 8b 5d 4f          	mov    0x4f(%rbp),%rbx
1405664e0:	48 89 3b             	mov    %rdi,(%rbx)
1405664e3:	48 85 f6             	test   %rsi,%rsi
1405664e6:	74 4c                	je     0x140566534
1405664e8:	48 8b 4d bf          	mov    -0x41(%rbp),%rcx
1405664ec:	48 2b ce             	sub    %rsi,%rcx
1405664ef:	49 8b c1             	mov    %r9,%rax
1405664f2:	48 f7 e9             	imul   %rcx
1405664f5:	48 c1 fa 02          	sar    $0x2,%rdx
1405664f9:	48 8b c2             	mov    %rdx,%rax
1405664fc:	48 c1 e8 3f          	shr    $0x3f,%rax
140566500:	48 03 d0             	add    %rax,%rdx
140566503:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140566507:	48 c1 e2 03          	shl    $0x3,%rdx
14056650b:	48 8b c6             	mov    %rsi,%rax
14056650e:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140566515:	72 15                	jb     0x14056652c
140566517:	48 83 c2 27          	add    $0x27,%rdx
14056651b:	48 8b 76 f8          	mov    -0x8(%rsi),%rsi
14056651f:	48 2b c6             	sub    %rsi,%rax
140566522:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140566526:	48 83 f8 1f          	cmp    $0x1f,%rax
14056652a:	77 26                	ja     0x140566552
14056652c:	48 8b ce             	mov    %rsi,%rcx
14056652f:	e8 10 4c 8b 00       	call   0x140e1b144
140566534:	48 8b c3             	mov    %rbx,%rax
140566537:	48 8b 9c 24 f8 00 00 	mov    0xf8(%rsp),%rbx
14056653e:	00
14056653f:	48 81 c4 b0 00 00 00 	add    $0xb0,%rsp
140566546:	41 5f                	pop    %r15
140566548:	41 5e                	pop    %r14
14056654a:	41 5d                	pop    %r13
14056654c:	41 5c                	pop    %r12
14056654e:	5f                   	pop    %rdi
14056654f:	5e                   	pop    %rsi
140566550:	5d                   	pop    %rbp
140566551:	c3                   	ret
140566552:	e8 4d 3c 8c 00       	call   0x140e2a1a4
140566557:	cc                   	int3
140566558:	cc                   	int3
140566559:	cc                   	int3
14056655a:	cc                   	int3
14056655b:	cc                   	int3
14056655c:	cc                   	int3
14056655d:	cc                   	int3
14056655e:	cc                   	int3
14056655f:	cc                   	int3
140566560:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140566565:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14056656a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14056656f:	57                   	push   %rdi
140566570:	41 56                	push   %r14
140566572:	41 57                	push   %r15
140566574:	48 81 ec 30 01 00 00 	sub    $0x130,%rsp
14056657b:	49 8b f0             	mov    %r8,%rsi
14056657e:	48 8b fa             	mov    %rdx,%rdi
140566581:	48 8b d9             	mov    %rcx,%rbx
140566584:	49 8b 11             	mov    (%r9),%rdx
140566587:	48 85 d2             	test   %rdx,%rdx
14056658a:	75 07                	jne    0x140566593
14056658c:	32 c0                	xor    %al,%al
14056658e:	e9 99 01 00 00       	jmp    0x14056672c
140566593:	40 32 ed             	xor    %bpl,%bpl
140566596:	4c 8b fb             	mov    %rbx,%r15
140566599:	44 8b b4 24 70 01 00 	mov    0x170(%rsp),%r14d
1405665a0:	00
1405665a1:	41 0f ba e6 0e       	bt     $0xe,%r14d
1405665a6:	73 08                	jae    0x1405665b0
1405665a8:	48 3b df             	cmp    %rdi,%rbx
1405665ab:	74 03                	je     0x1405665b0
1405665ad:	48 ff c3             	inc    %rbx
1405665b0:	8b 42 20             	mov    0x20(%rdx),%eax
1405665b3:	8b 4a 28             	mov    0x28(%rdx),%ecx
1405665b6:	49 83 c1 08          	add    $0x8,%r9
1405665ba:	44 89 74 24 38       	mov    %r14d,0x38(%rsp)
1405665bf:	89 44 24 30          	mov    %eax,0x30(%rsp)
1405665c3:	89 4c 24 28          	mov    %ecx,0x28(%rsp)
1405665c7:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1405665cc:	4c 8b c7             	mov    %rdi,%r8
1405665cf:	48 8b d3             	mov    %rbx,%rdx
1405665d2:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1405665d7:	e8 94 03 00 00       	call   0x140566970
1405665dc:	90                   	nop
1405665dd:	45 33 c0             	xor    %r8d,%r8d
1405665e0:	48 8b d6             	mov    %rsi,%rdx
1405665e3:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1405665e8:	e8 93 fa ff ff       	call   0x140566080
1405665ed:	84 c0                	test   %al,%al
1405665ef:	0f 85 9f 00 00 00    	jne    0x140566694
1405665f5:	48 3b df             	cmp    %rdi,%rbx
1405665f8:	0f 84 b7 00 00 00    	je     0x1405666b5
1405665fe:	41 f6 c6 40          	test   $0x40,%r14b
140566602:	0f 85 ad 00 00 00    	jne    0x1405666b5