140784009:	84 c0                	test   %al,%al
14078400b:	48 8d 1d 42 97 84 00 	lea    0x849742(%rip),%rbx        # 0x140fcd754
140784012:	48 0f 45 d9          	cmovne %rcx,%rbx
140784016:	b9 02 00 00 00       	mov    $0x2,%ecx
14078401b:	e8 70 ec 6a 00       	call   0x140e32c90
140784020:	4c 8b c3             	mov    %rbx,%r8
140784023:	48 8d 15 96 52 8a 00 	lea    0x8a5296(%rip),%rdx        # 0x1410292c0
14078402a:	48 8b c8             	mov    %rax,%rcx
14078402d:	e8 3e bb bf ff       	call   0x14037fb70
140784032:	b9 02 00 00 00       	mov    $0x2,%ecx
140784037:	e8 54 ec 6a 00       	call   0x140e32c90
14078403c:	48 8b c8             	mov    %rax,%rcx
14078403f:	48 8d 15 ba 52 8a 00 	lea    0x8a52ba(%rip),%rdx        # 0x141029300
140784046:	e8 25 bb bf ff       	call   0x14037fb70
14078404b:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140784050:	e8 1b 78 c1 ff       	call   0x14039b870
140784055:	48 8b c8             	mov    %rax,%rcx
140784058:	e8 73 b9 a1 ff       	call   0x14019f9d0
14078405d:	b9 02 00 00 00       	mov    $0x2,%ecx
140784062:	48 8b d8             	mov    %rax,%rbx
140784065:	e8 26 ec 6a 00       	call   0x140e32c90
14078406a:	4c 8b c3             	mov    %rbx,%r8
14078406d:	48 8d 15 dc 52 8a 00 	lea    0x8a52dc(%rip),%rdx        # 0x141029350
140784074:	48 8b c8             	mov    %rax,%rcx
140784077:	e8 f4 ba bf ff       	call   0x14037fb70
14078407c:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140784081:	e8 ca 39 a1 ff       	call   0x140197a50
140784086:	b9 02 00 00 00       	mov    $0x2,%ecx
14078408b:	e8 00 ec 6a 00       	call   0x140e32c90
140784090:	48 8b c8             	mov    %rax,%rcx
140784093:	48 8d 15 06 53 8a 00 	lea    0x8a5306(%rip),%rdx        # 0x1410293a0
14078409a:	e8 d1 ba bf ff       	call   0x14037fb70
14078409f:	48 8d 0d 72 be 88 00 	lea    0x88be72(%rip),%rcx        # 0x14100ff18
1407840a6:	e8 45 82 6b 00       	call   0x140e3c2f0
1407840ab:	48 8d 0d da c4 89 00 	lea    0x89c4da(%rip),%rcx        # 0x14102058c
1407840b2:	48 85 c0             	test   %rax,%rax
1407840b5:	48 8d 1d 44 53 8a 00 	lea    0x8a5344(%rip),%rbx        # 0x141029400
1407840bc:	48 0f 45 d9          	cmovne %rcx,%rbx
1407840c0:	b9 02 00 00 00       	mov    $0x2,%ecx
1407840c5:	e8 c6 eb 6a 00       	call   0x140e32c90
1407840ca:	4c 8b c3             	mov    %rbx,%r8
1407840cd:	48 8d 15 3c 53 8a 00 	lea    0x8a533c(%rip),%rdx        # 0x141029410
1407840d4:	48 8b c8             	mov    %rax,%rcx
1407840d7:	e8 94 ba bf ff       	call   0x14037fb70
1407840dc:	48 8d 0d 85 53 8a 00 	lea    0x8a5385(%rip),%rcx        # 0x141029468
1407840e3:	e8 08 82 6b 00       	call   0x140e3c2f0
1407840e8:	48 85 c0             	test   %rax,%rax
1407840eb:	74 11                	je     0x1407840fe
1407840ed:	48 8d 0d 74 53 8a 00 	lea    0x8a5374(%rip),%rcx        # 0x141029468
1407840f4:	e8 f7 81 6b 00       	call   0x140e3c2f0
1407840f9:	48 8b d8             	mov    %rax,%rbx
1407840fc:	eb 07                	jmp    0x140784105
1407840fe:	48 8d 1d 7b 53 8a 00 	lea    0x8a537b(%rip),%rbx        # 0x141029480
140784105:	b9 02 00 00 00       	mov    $0x2,%ecx
14078410a:	e8 81 eb 6a 00       	call   0x140e32c90
14078410f:	48 8b c8             	mov    %rax,%rcx
140784112:	48 8d 15 a7 53 8a 00 	lea    0x8a53a7(%rip),%rdx        # 0x1410294c0
140784119:	4c 8b c3             	mov    %rbx,%r8
14078411c:	e8 4f ba bf ff       	call   0x14037fb70
140784121:	b9 02 00 00 00       	mov    $0x2,%ecx
140784126:	e8 65 eb 6a 00       	call   0x140e32c90
14078412b:	48 8b c8             	mov    %rax,%rcx
14078412e:	48 8d 15 eb 53 8a 00 	lea    0x8a53eb(%rip),%rdx        # 0x141029520
140784135:	e8 36 ba bf ff       	call   0x14037fb70
14078413a:	b9 02 00 00 00       	mov    $0x2,%ecx
14078413f:	e8 4c eb 6a 00       	call   0x140e32c90
140784144:	48 8b c8             	mov    %rax,%rcx
140784147:	48 8d 15 1e 27 83 00 	lea    0x83271e(%rip),%rdx        # 0x140fb686c
14078414e:	e8 1d ba bf ff       	call   0x14037fb70
140784153:	8b ce                	mov    %esi,%ecx
140784155:	e8 b2 f5 6a 00       	call   0x140e3370c
14078415a:	cc                   	int3
14078415b:	cc                   	int3
14078415c:	cc                   	int3
14078415d:	cc                   	int3
14078415e:	cc                   	int3
14078415f:	cc                   	int3
140784160:	4c 8b 11             	mov    (%rcx),%r10
140784163:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
14078416a:	aa aa 2a
14078416d:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140784171:	44 8b ca             	mov    %edx,%r9d
140784174:	49 2b ca             	sub    %r10,%rcx
140784177:	48 f7 e9             	imul   %rcx
14078417a:	48 c1 fa 03          	sar    $0x3,%rdx
14078417e:	48 8b c2             	mov    %rdx,%rax
140784181:	48 c1 e8 3f          	shr    $0x3f,%rax
140784185:	48 03 d0             	add    %rax,%rdx
140784188:	4c 3b ca             	cmp    %rdx,%r9
14078418b:	73 48                	jae    0x1407841d5
14078418d:	4b 8d 0c 49          	lea    (%r9,%r9,2),%rcx
140784191:	48 c1 e1 04          	shl    $0x4,%rcx
140784195:	49 03 ca             	add    %r10,%rcx
140784198:	74 3b                	je     0x1407841d5
14078419a:	80 79 28 02          	cmpb   $0x2,0x28(%rcx)
14078419e:	75 35                	jne    0x1407841d5
1407841a0:	48 8b 09             	mov    (%rcx),%rcx
1407841a3:	0f 57 c0             	xorps  %xmm0,%xmm0
1407841a6:	48 85 c9             	test   %rcx,%rcx
1407841a9:	78 0d                	js     0x1407841b8
1407841ab:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
1407841b0:	b0 01                	mov    $0x1,%al
1407841b2:	f2 41 0f 11 00       	movsd  %xmm0,(%r8)
1407841b7:	c3                   	ret
1407841b8:	48 8b c1             	mov    %rcx,%rax
1407841bb:	83 e1 01             	and    $0x1,%ecx
1407841be:	48 d1 e8             	shr    $1,%rax
1407841c1:	48 0b c1             	or     %rcx,%rax
1407841c4:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
1407841c9:	b0 01                	mov    $0x1,%al
1407841cb:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
1407841cf:	f2 41 0f 11 00       	movsd  %xmm0,(%r8)
1407841d4:	c3                   	ret
1407841d5:	32 c0                	xor    %al,%al
1407841d7:	c3                   	ret
1407841d8:	cc                   	int3
1407841d9:	cc                   	int3
1407841da:	cc                   	int3
1407841db:	cc                   	int3
1407841dc:	cc                   	int3
1407841dd:	cc                   	int3
1407841de:	cc                   	int3
1407841df:	cc                   	int3
1407841e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407841e5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1407841ea:	57                   	push   %rdi
1407841eb:	48 83 ec 30          	sub    $0x30,%rsp
1407841ef:	48 8b f9             	mov    %rcx,%rdi
1407841f2:	33 f6                	xor    %esi,%esi
1407841f4:	b9 38 00 00 00       	mov    $0x38,%ecx
1407841f9:	e8 0a 6f 69 00       	call   0x140e1b108
1407841fe:	48 8b d8             	mov    %rax,%rbx
140784201:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140784206:	48 85 c0             	test   %rax,%rax
140784209:	74 4a                	je     0x140784255
14078420b:	48 8b 0d 2e ef ca 00 	mov    0xcaef2e(%rip),%rcx        # 0x141433140
140784212:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
140784217:	48 85 c9             	test   %rcx,%rcx
14078421a:	74 14                	je     0x140784230
14078421c:	8b 41 10             	mov    0x10(%rcx),%eax
14078421f:	ff c0                	inc    %eax
140784221:	89 41 10             	mov    %eax,0x10(%rcx)
140784224:	83 f8 01             	cmp    $0x1,%eax
140784227:	7e 50                	jle    0x140784279
140784229:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14078422e:	74 3e                	je     0x14078426e
140784230:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
140784235:	48 8b cb             	mov    %rbx,%rcx
140784238:	e8 73 04 00 00       	call   0x1407846b0
14078423d:	48 8d 05 ac 61 8a 00 	lea    0x8a61ac(%rip),%rax        # 0x14102a3f0
140784244:	48 89 03             	mov    %rax,(%rbx)
140784247:	48 89 73 20          	mov    %rsi,0x20(%rbx)
14078424b:	48 89 73 28          	mov    %rsi,0x28(%rbx)
14078424f:	48 89 73 30          	mov    %rsi,0x30(%rbx)
140784253:	eb 03                	jmp    0x140784258
140784255:	48 8b de             	mov    %rsi,%rbx
140784258:	48 89 1f             	mov    %rbx,(%rdi)
14078425b:	48 8b c7             	mov    %rdi,%rax
14078425e:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140784263:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140784268:	48 83 c4 30          	add    $0x30,%rsp
14078426c:	5f                   	pop    %rdi
14078426d:	c3                   	ret
14078426e:	b9 01 00 00 00       	mov    $0x1,%ecx
140784273:	e8 88 64 00 00       	call   0x14078a700
140784278:	cc                   	int3
140784279:	33 c9                	xor    %ecx,%ecx
14078427b:	e8 80 64 00 00       	call   0x14078a700
140784280:	cc                   	int3
140784281:	cc                   	int3
140784282:	cc                   	int3
140784283:	cc                   	int3
140784284:	cc                   	int3
140784285:	cc                   	int3
140784286:	cc                   	int3
140784287:	cc                   	int3
140784288:	cc                   	int3
140784289:	cc                   	int3
14078428a:	cc                   	int3
14078428b:	cc                   	int3
14078428c:	cc                   	int3
14078428d:	cc                   	int3
14078428e:	cc                   	int3
14078428f:	cc                   	int3
140784290:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140784295:	57                   	push   %rdi
140784296:	48 83 ec 30          	sub    $0x30,%rsp
14078429a:	48 8b f9             	mov    %rcx,%rdi
14078429d:	b9 30 00 00 00       	mov    $0x30,%ecx
1407842a2:	e8 61 6e 69 00       	call   0x140e1b108
1407842a7:	48 8b d8             	mov    %rax,%rbx
1407842aa:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1407842af:	48 85 c0             	test   %rax,%rax
1407842b2:	74 44                	je     0x1407842f8
1407842b4:	48 8b 0d 55 ee ca 00 	mov    0xcaee55(%rip),%rcx        # 0x141433110
1407842bb:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
1407842c0:	48 85 c9             	test   %rcx,%rcx
1407842c3:	74 14                	je     0x1407842d9
1407842c5:	8b 41 10             	mov    0x10(%rcx),%eax
1407842c8:	ff c0                	inc    %eax
1407842ca:	89 41 10             	mov    %eax,0x10(%rcx)
1407842cd:	83 f8 01             	cmp    $0x1,%eax
1407842d0:	7e 44                	jle    0x140784316
1407842d2:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1407842d7:	74 32                	je     0x14078430b
1407842d9:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
1407842de:	48 8b cb             	mov    %rbx,%rcx
1407842e1:	e8 ca 02 00 00       	call   0x1407845b0
1407842e6:	48 8d 05 5b 5e 8a 00 	lea    0x8a5e5b(%rip),%rax        # 0x14102a148
1407842ed:	48 89 03             	mov    %rax,(%rbx)
1407842f0:	33 c0                	xor    %eax,%eax
1407842f2:	48 89 43 28          	mov    %rax,0x28(%rbx)
1407842f6:	eb 02                	jmp    0x1407842fa
1407842f8:	33 db                	xor    %ebx,%ebx
1407842fa:	48 89 1f             	mov    %rbx,(%rdi)
1407842fd:	48 8b c7             	mov    %rdi,%rax
140784300:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140784305:	48 83 c4 30          	add    $0x30,%rsp
140784309:	5f                   	pop    %rdi
14078430a:	c3                   	ret
14078430b:	b9 01 00 00 00       	mov    $0x1,%ecx
140784310:	e8 eb 63 00 00       	call   0x14078a700
140784315:	cc                   	int3
140784316:	33 c9                	xor    %ecx,%ecx
140784318:	e8 e3 63 00 00       	call   0x14078a700
14078431d:	cc                   	int3
14078431e:	cc                   	int3
14078431f:	cc                   	int3
140784320:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140784325:	57                   	push   %rdi
140784326:	48 83 ec 30          	sub    $0x30,%rsp
14078432a:	48 8b f9             	mov    %rcx,%rdi
14078432d:	b9 30 00 00 00       	mov    $0x30,%ecx
140784332:	e8 d1 6d 69 00       	call   0x140e1b108
140784337:	48 8b d8             	mov    %rax,%rbx
14078433a:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
14078433f:	48 85 c0             	test   %rax,%rax
140784342:	74 44                	je     0x140784388
140784344:	48 8b 0d cd ed ca 00 	mov    0xcaedcd(%rip),%rcx        # 0x141433118
14078434b:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
140784350:	48 85 c9             	test   %rcx,%rcx
140784353:	74 14                	je     0x140784369
140784355:	8b 41 10             	mov    0x10(%rcx),%eax
140784358:	ff c0                	inc    %eax
14078435a:	89 41 10             	mov    %eax,0x10(%rcx)
14078435d:	83 f8 01             	cmp    $0x1,%eax
140784360:	7e 44                	jle    0x1407843a6
140784362:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140784367:	74 32                	je     0x14078439b
140784369:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
14078436e:	48 8b cb             	mov    %rbx,%rcx
140784371:	e8 3a 02 00 00       	call   0x1407845b0
140784376:	48 8d 05 7b 5e 8a 00 	lea    0x8a5e7b(%rip),%rax        # 0x14102a1f8
14078437d:	48 89 03             	mov    %rax,(%rbx)
140784380:	33 c0                	xor    %eax,%eax
140784382:	48 89 43 28          	mov    %rax,0x28(%rbx)
140784386:	eb 02                	jmp    0x14078438a
140784388:	33 db                	xor    %ebx,%ebx
14078438a:	48 89 1f             	mov    %rbx,(%rdi)
14078438d:	48 8b c7             	mov    %rdi,%rax
140784390:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140784395:	48 83 c4 30          	add    $0x30,%rsp
140784399:	5f                   	pop    %rdi
14078439a:	c3                   	ret
14078439b:	b9 01 00 00 00       	mov    $0x1,%ecx
1407843a0:	e8 5b 63 00 00       	call   0x14078a700
1407843a5:	cc                   	int3
1407843a6:	33 c9                	xor    %ecx,%ecx
1407843a8:	e8 53 63 00 00       	call   0x14078a700
1407843ad:	cc                   	int3
1407843ae:	cc                   	int3
1407843af:	cc                   	int3
1407843b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407843b5:	57                   	push   %rdi
1407843b6:	48 83 ec 30          	sub    $0x30,%rsp
1407843ba:	48 8b f9             	mov    %rcx,%rdi
1407843bd:	b9 30 00 00 00       	mov    $0x30,%ecx
1407843c2:	e8 41 6d 69 00       	call   0x140e1b108
1407843c7:	48 8b d8             	mov    %rax,%rbx
1407843ca:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1407843cf:	48 85 c0             	test   %rax,%rax
1407843d2:	74 44                	je     0x140784418
1407843d4:	48 8b 0d 45 ed ca 00 	mov    0xcaed45(%rip),%rcx        # 0x141433120
1407843db:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
1407843e0:	48 85 c9             	test   %rcx,%rcx
1407843e3:	74 14                	je     0x1407843f9
1407843e5:	8b 41 10             	mov    0x10(%rcx),%eax
1407843e8:	ff c0                	inc    %eax
1407843ea:	89 41 10             	mov    %eax,0x10(%rcx)
1407843ed:	83 f8 01             	cmp    $0x1,%eax
1407843f0:	7e 44                	jle    0x140784436
1407843f2:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1407843f7:	74 32                	je     0x14078442b
1407843f9:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
1407843fe:	48 8b cb             	mov    %rbx,%rcx
140784401:	e8 aa 01 00 00       	call   0x1407845b0
140784406:	48 8d 05 9b 5e 8a 00 	lea    0x8a5e9b(%rip),%rax        # 0x14102a2a8
14078440d:	48 89 03             	mov    %rax,(%rbx)
140784410:	33 c0                	xor    %eax,%eax
140784412:	48 89 43 28          	mov    %rax,0x28(%rbx)
140784416:	eb 02                	jmp    0x14078441a
140784418:	33 db                	xor    %ebx,%ebx
14078441a:	48 89 1f             	mov    %rbx,(%rdi)
14078441d:	48 8b c7             	mov    %rdi,%rax
140784420:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140784425:	48 83 c4 30          	add    $0x30,%rsp
140784429:	5f                   	pop    %rdi
14078442a:	c3                   	ret
14078442b:	b9 01 00 00 00       	mov    $0x1,%ecx
140784430:	e8 cb 62 00 00       	call   0x14078a700
140784435:	cc                   	int3
140784436:	33 c9                	xor    %ecx,%ecx
140784438:	e8 c3 62 00 00       	call   0x14078a700
14078443d:	cc                   	int3
14078443e:	cc                   	int3
14078443f:	cc                   	int3
140784440:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140784445:	57                   	push   %rdi
140784446:	48 83 ec 20          	sub    $0x20,%rsp
14078444a:	48 8b fa             	mov    %rdx,%rdi
14078444d:	48 8b d9             	mov    %rcx,%rbx
140784450:	48 8b 0d e9 ec ca 00 	mov    0xcaece9(%rip),%rcx        # 0x141433140
140784457:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
14078445c:	48 85 c9             	test   %rcx,%rcx
14078445f:	74 14                	je     0x140784475
140784461:	8b 41 10             	mov    0x10(%rcx),%eax
140784464:	ff c0                	inc    %eax
140784466:	89 41 10             	mov    %eax,0x10(%rcx)
140784469:	83 f8 01             	cmp    $0x1,%eax
14078446c:	7e 45                	jle    0x1407844b3
14078446e:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140784473:	74 33                	je     0x1407844a8
140784475:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
14078447a:	48 8b cb             	mov    %rbx,%rcx
14078447d:	e8 2e 02 00 00       	call   0x1407846b0
140784482:	48 8d 05 67 5f 8a 00 	lea    0x8a5f67(%rip),%rax        # 0x14102a3f0
140784489:	48 89 03             	mov    %rax,(%rbx)
14078448c:	33 c0                	xor    %eax,%eax
14078448e:	48 89 43 20          	mov    %rax,0x20(%rbx)
140784492:	48 89 43 28          	mov    %rax,0x28(%rbx)
140784496:	48 89 7b 30          	mov    %rdi,0x30(%rbx)
14078449a:	48 8b c3             	mov    %rbx,%rax
14078449d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1407844a2:	48 83 c4 20          	add    $0x20,%rsp
1407844a6:	5f                   	pop    %rdi
1407844a7:	c3                   	ret
1407844a8:	b9 01 00 00 00       	mov    $0x1,%ecx
1407844ad:	e8 4e 62 00 00       	call   0x14078a700
1407844b2:	cc                   	int3
1407844b3:	33 c9                	xor    %ecx,%ecx