140b20222:	48 83 ec 20          	sub    $0x20,%rsp
140b20226:	48 8b 19             	mov    (%rcx),%rbx
140b20229:	48 8b 02             	mov    (%rdx),%rax
140b2022c:	48 85 db             	test   %rbx,%rbx
140b2022f:	0f 84 e0 00 00 00    	je     0x140b20315
140b20235:	48 85 c0             	test   %rax,%rax
140b20238:	0f 84 e4 00 00 00    	je     0x140b20322
140b2023e:	48 8b 48 08          	mov    0x8(%rax),%rcx
140b20242:	49 b9 67 66 66 66 66 	movabs $0x6666666666666667,%r9
140b20249:	66 66 66
140b2024c:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
140b20251:	48 8b 73 08          	mov    0x8(%rbx),%rsi
140b20255:	48 8b 1b             	mov    (%rbx),%rbx
140b20258:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
140b2025d:	48 8b 38             	mov    (%rax),%rdi
140b20260:	49 8b c1             	mov    %r9,%rax
140b20263:	48 2b cf             	sub    %rdi,%rcx
140b20266:	48 f7 e9             	imul   %rcx
140b20269:	49 8b c1             	mov    %r9,%rax
140b2026c:	4c 8b c2             	mov    %rdx,%r8
140b2026f:	49 c1 f8 04          	sar    $0x4,%r8
140b20273:	49 8b c8             	mov    %r8,%rcx
140b20276:	48 c1 e9 3f          	shr    $0x3f,%rcx
140b2027a:	4c 03 c1             	add    %rcx,%r8
140b2027d:	48 8b ce             	mov    %rsi,%rcx
140b20280:	48 2b cb             	sub    %rbx,%rcx
140b20283:	48 f7 e9             	imul   %rcx
140b20286:	48 c1 fa 04          	sar    $0x4,%rdx
140b2028a:	48 8b c2             	mov    %rdx,%rax
140b2028d:	48 c1 e8 3f          	shr    $0x3f,%rax
140b20291:	48 03 d0             	add    %rax,%rdx
140b20294:	49 3b d0             	cmp    %r8,%rdx
140b20297:	74 12                	je     0x140b202ab
140b20299:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140b2029e:	32 c0                	xor    %al,%al
140b202a0:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140b202a5:	48 83 c4 20          	add    $0x20,%rsp
140b202a9:	5b                   	pop    %rbx
140b202aa:	c3                   	ret
140b202ab:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
140b202b0:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
140b202b5:	48 3b de             	cmp    %rsi,%rbx
140b202b8:	74 3b                	je     0x140b202f5
140b202ba:	48 8b c3             	mov    %rbx,%rax
140b202bd:	4c 8b f7             	mov    %rdi,%r14
140b202c0:	48 8b cb             	mov    %rbx,%rcx
140b202c3:	48 8d 58 28          	lea    0x28(%rax),%rbx
140b202c7:	e8 74 1b fa ff       	call   0x140ac1e40
140b202cc:	48 8b cf             	mov    %rdi,%rcx
140b202cf:	48 8b e8             	mov    %rax,%rbp
140b202d2:	49 8d 7e 28          	lea    0x28(%r14),%rdi
140b202d6:	e8 65 1b fa ff       	call   0x140ac1e40
140b202db:	48 8b d0             	mov    %rax,%rdx
140b202de:	48 8b cd             	mov    %rbp,%rcx
140b202e1:	e8 4a 00 00 00       	call   0x140b20330
140b202e6:	84 c0                	test   %al,%al
140b202e8:	74 27                	je     0x140b20311
140b202ea:	48 8b c3             	mov    %rbx,%rax
140b202ed:	4c 8b f7             	mov    %rdi,%r14
140b202f0:	48 3b de             	cmp    %rsi,%rbx
140b202f3:	75 cb                	jne    0x140b202c0
140b202f5:	b0 01                	mov    $0x1,%al
140b202f7:	48 8b 6c 24 30       	mov    0x30(%rsp),%rbp
140b202fc:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
140b20301:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140b20306:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140b2030b:	48 83 c4 20          	add    $0x20,%rsp
140b2030f:	5b                   	pop    %rbx
140b20310:	c3                   	ret
140b20311:	32 c0                	xor    %al,%al
140b20313:	eb e2                	jmp    0x140b202f7
140b20315:	48 85 c0             	test   %rax,%rax
140b20318:	75 08                	jne    0x140b20322
140b2031a:	b0 01                	mov    $0x1,%al
140b2031c:	48 83 c4 20          	add    $0x20,%rsp
140b20320:	5b                   	pop    %rbx
140b20321:	c3                   	ret
140b20322:	32 c0                	xor    %al,%al
140b20324:	48 83 c4 20          	add    $0x20,%rsp
140b20328:	5b                   	pop    %rbx
140b20329:	c3                   	ret
140b2032a:	cc                   	int3
140b2032b:	cc                   	int3
140b2032c:	cc                   	int3
140b2032d:	cc                   	int3
140b2032e:	cc                   	int3
140b2032f:	cc                   	int3
140b20330:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140b20335:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
140b2033a:	55                   	push   %rbp
140b2033b:	48 8d 6c 24 a0       	lea    -0x60(%rsp),%rbp
140b20340:	48 81 ec 60 01 00 00 	sub    $0x160,%rsp
140b20347:	48 8b da             	mov    %rdx,%rbx
140b2034a:	48 8b f9             	mov    %rcx,%rdi
140b2034d:	48 83 c2 70          	add    $0x70,%rdx
140b20351:	48 83 c1 70          	add    $0x70,%rcx
140b20355:	48 8b 42 10          	mov    0x10(%rdx),%rax
140b20359:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
140b2035e:	76 03                	jbe    0x140b20363
140b20360:	48 8b 12             	mov    (%rdx),%rdx
140b20363:	4c 8b 41 10          	mov    0x10(%rcx),%r8
140b20367:	48 83 79 18 0f       	cmpq   $0xf,0x18(%rcx)
140b2036c:	76 03                	jbe    0x140b20371
140b2036e:	48 8b 09             	mov    (%rcx),%rcx
140b20371:	4c 3b c0             	cmp    %rax,%r8
140b20374:	0f 85 ce 01 00 00    	jne    0x140b20548
140b2037a:	e8 d1 f6 3b 00       	call   0x140edfa50
140b2037f:	85 c0                	test   %eax,%eax
140b20381:	0f 85 c1 01 00 00    	jne    0x140b20548
140b20387:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
140b2038b:	48 8b cf             	mov    %rdi,%rcx
140b2038e:	e8 8d c8 01 00       	call   0x140b3cc20
140b20393:	90                   	nop
140b20394:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
140b20399:	80 7d 00 00          	cmpb   $0x0,0x0(%rbp)
140b2039d:	75 6a                	jne    0x140b20409
140b2039f:	48 8b cb             	mov    %rbx,%rcx
140b203a2:	e8 79 c8 01 00       	call   0x140b3cc20
140b203a7:	90                   	nop
140b203a8:	80 7d b0 00          	cmpb   $0x0,-0x50(%rbp)
140b203ac:	75 31                	jne    0x140b203df
140b203ae:	80 7d 00 00          	cmpb   $0x0,0x0(%rbp)
140b203b2:	0f 85 ad 01 00 00    	jne    0x140b20565
140b203b8:	48 8b 4d c0          	mov    -0x40(%rbp),%rcx
140b203bc:	48 8b 54 24 70       	mov    0x70(%rsp),%rdx
140b203c1:	48 3b ca             	cmp    %rdx,%rcx
140b203c4:	74 15                	je     0x140b203db
140b203c6:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140b203ca:	48 8b 01             	mov    (%rcx),%rax
140b203cd:	48 8b 40 40          	mov    0x40(%rax),%rax
140b203d1:	ff 15 49 36 46 00    	call   *0x463649(%rip)        # 0x140f83a20
140b203d7:	84 c0                	test   %al,%al
140b203d9:	74 04                	je     0x140b203df
140b203db:	b3 01                	mov    $0x1,%bl
140b203dd:	eb 02                	jmp    0x140b203e1
140b203df:	32 db                	xor    %bl,%bl
140b203e1:	48 0f be 45 b0       	movsbq -0x50(%rbp),%rax
140b203e6:	48 83 c0 01          	add    $0x1,%rax
140b203ea:	0f 84 fd 00 00 00    	je     0x140b204ed
140b203f0:	48 83 f8 01          	cmp    $0x1,%rax
140b203f4:	0f 84 f3 00 00 00    	je     0x140b204ed
140b203fa:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140b203ff:	e8 0c 92 67 ff       	call   0x140199610
140b20404:	e9 e4 00 00 00       	jmp    0x140b204ed
140b20409:	48 8b cf             	mov    %rdi,%rcx
140b2040c:	e8 3f 52 fe ff       	call   0x140b05650
140b20411:	90                   	nop
140b20412:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140b20417:	80 7d b0 00          	cmpb   $0x0,-0x50(%rbp)
140b2041b:	75 42                	jne    0x140b2045f
140b2041d:	48 8b cb             	mov    %rbx,%rcx
140b20420:	e8 2b 52 fe ff       	call   0x140b05650
140b20425:	90                   	nop
140b20426:	80 7c 24 60 00       	cmpb   $0x0,0x60(%rsp)
140b2042b:	75 21                	jne    0x140b2044e
140b2042d:	80 7d b0 00          	cmpb   $0x0,-0x50(%rbp)
140b20431:	0f 85 34 01 00 00    	jne    0x140b2056b
140b20437:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140b2043c:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140b20441:	e8 7a 37 6f ff       	call   0x140213bc0
140b20446:	84 c0                	test   %al,%al
140b20448:	74 04                	je     0x140b2044e
140b2044a:	b3 01                	mov    $0x1,%bl
140b2044c:	eb 02                	jmp    0x140b20450
140b2044e:	32 db                	xor    %bl,%bl
140b20450:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140b20455:	e8 d6 30 fe ff       	call   0x140b03530
140b2045a:	e9 83 00 00 00       	jmp    0x140b204e2
140b2045f:	48 8b cf             	mov    %rdi,%rcx
140b20462:	e8 a9 c9 01 00       	call   0x140b3ce10
140b20467:	90                   	nop
140b20468:	48 0f be 44 24 60    	movsbq 0x60(%rsp),%rax
140b2046e:	84 c0                	test   %al,%al
140b20470:	0f 85 96 00 00 00    	jne    0x140b2050c
140b20476:	48 8d 55 10          	lea    0x10(%rbp),%rdx
140b2047a:	48 8b cb             	mov    %rbx,%rcx
140b2047d:	e8 8e c9 01 00       	call   0x140b3ce10
140b20482:	90                   	nop
140b20483:	0f b6 4c 24 60       	movzbl 0x60(%rsp),%ecx
140b20488:	48 0f be 55 50       	movsbq 0x50(%rbp),%rdx
140b2048d:	84 d2                	test   %dl,%dl
140b2048f:	75 17                	jne    0x140b204a8
140b20491:	84 c9                	test   %cl,%cl
140b20493:	0f 85 c6 00 00 00    	jne    0x140b2055f
140b20499:	48 8b 45 10          	mov    0x10(%rbp),%rax
140b2049d:	48 39 44 24 20       	cmp    %rax,0x20(%rsp)
140b204a2:	75 04                	jne    0x140b204a8
140b204a4:	b3 01                	mov    $0x1,%bl
140b204a6:	eb 02                	jmp    0x140b204aa
140b204a8:	32 db                	xor    %bl,%bl
140b204aa:	48 8b c2             	mov    %rdx,%rax
140b204ad:	48 83 c0 01          	add    $0x1,%rax
140b204b1:	74 14                	je     0x140b204c7
140b204b3:	48 83 f8 01          	cmp    $0x1,%rax
140b204b7:	74 0e                	je     0x140b204c7
140b204b9:	48 8d 4d 10          	lea    0x10(%rbp),%rcx
140b204bd:	e8 4e 91 67 ff       	call   0x140199610
140b204c2:	0f b6 4c 24 60       	movzbl 0x60(%rsp),%ecx
140b204c7:	48 0f be c1          	movsbq %cl,%rax
140b204cb:	48 83 c0 01          	add    $0x1,%rax
140b204cf:	74 11                	je     0x140b204e2
140b204d1:	48 83 f8 01          	cmp    $0x1,%rax
140b204d5:	74 0b                	je     0x140b204e2
140b204d7:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140b204dc:	e8 2f 91 67 ff       	call   0x140199610
140b204e1:	90                   	nop
140b204e2:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140b204e7:	e8 44 30 fe ff       	call   0x140b03530
140b204ec:	90                   	nop
140b204ed:	48 0f be 45 00       	movsbq 0x0(%rbp),%rax
140b204f2:	48 83 c0 01          	add    $0x1,%rax
140b204f6:	74 0f                	je     0x140b20507
140b204f8:	48 83 f8 01          	cmp    $0x1,%rax
140b204fc:	74 09                	je     0x140b20507
140b204fe:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140b20502:	e8 09 91 67 ff       	call   0x140199610
140b20507:	0f b6 c3             	movzbl %bl,%eax
140b2050a:	eb 3e                	jmp    0x140b2054a
140b2050c:	48 83 c0 01          	add    $0x1,%rax
140b20510:	74 11                	je     0x140b20523
140b20512:	48 83 f8 01          	cmp    $0x1,%rax
140b20516:	74 0b                	je     0x140b20523
140b20518:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140b2051d:	e8 ee 90 67 ff       	call   0x140199610
140b20522:	90                   	nop
140b20523:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140b20528:	e8 03 30 fe ff       	call   0x140b03530
140b2052d:	90                   	nop
140b2052e:	48 0f be 45 00       	movsbq 0x0(%rbp),%rax
140b20533:	48 83 c0 01          	add    $0x1,%rax
140b20537:	74 0f                	je     0x140b20548
140b20539:	48 83 f8 01          	cmp    $0x1,%rax
140b2053d:	74 09                	je     0x140b20548
140b2053f:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140b20543:	e8 c8 90 67 ff       	call   0x140199610
140b20548:	32 c0                	xor    %al,%al
140b2054a:	4c 8d 9c 24 60 01 00 	lea    0x160(%rsp),%r11
140b20551:	00
140b20552:	49 8b 5b 10          	mov    0x10(%r11),%rbx
140b20556:	49 8b 7b 18          	mov    0x18(%r11),%rdi
140b2055a:	49 8b e3             	mov    %r11,%rsp
140b2055d:	5d                   	pop    %rbp
140b2055e:	c3                   	ret
140b2055f:	e8 3c 82 6c ff       	call   0x1401e87a0
140b20564:	90                   	nop
140b20565:	e8 36 82 6c ff       	call   0x1401e87a0
140b2056a:	90                   	nop
140b2056b:	e8 30 82 6c ff       	call   0x1401e87a0
140b20570:	cc                   	int3
140b20571:	cc                   	int3
140b20572:	cc                   	int3
140b20573:	cc                   	int3
140b20574:	cc                   	int3
140b20575:	cc                   	int3
140b20576:	cc                   	int3
140b20577:	cc                   	int3
140b20578:	cc                   	int3
140b20579:	cc                   	int3
140b2057a:	cc                   	int3
140b2057b:	cc                   	int3
140b2057c:	cc                   	int3
140b2057d:	cc                   	int3
140b2057e:	cc                   	int3
140b2057f:	cc                   	int3
140b20580:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140b20585:	57                   	push   %rdi
140b20586:	48 83 ec 20          	sub    $0x20,%rsp
140b2058a:	48 8b 09             	mov    (%rcx),%rcx
140b2058d:	48 8b da             	mov    %rdx,%rbx
140b20590:	e8 7b 73 f9 ff       	call   0x140ab7910
140b20595:	48 8b 0b             	mov    (%rbx),%rcx
140b20598:	48 8b f8             	mov    %rax,%rdi
140b2059b:	e8 70 73 f9 ff       	call   0x140ab7910
140b205a0:	48 8b d8             	mov    %rax,%rbx
140b205a3:	48 85 ff             	test   %rdi,%rdi
140b205a6:	0f 84 a3 01 00 00    	je     0x140b2074f
140b205ac:	48 85 c0             	test   %rax,%rax
140b205af:	0f 84 8d 01 00 00    	je     0x140b20742
140b205b5:	48 3b f8             	cmp    %rax,%rdi
140b205b8:	0f 84 96 01 00 00    	je     0x140b20754
140b205be:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140b205c2:	48 8b 01             	mov    (%rcx),%rax
140b205c5:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
140b205cc:	ff 15 4e 34 46 00    	call   *0x46344e(%rip)        # 0x140f83a20
140b205d2:	84 c0                	test   %al,%al
140b205d4:	75 1c                	jne    0x140b205f2
140b205d6:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140b205da:	48 8b 01             	mov    (%rcx),%rax
140b205dd:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
140b205e4:	ff 15 36 34 46 00    	call   *0x463436(%rip)        # 0x140f83a20
140b205ea:	84 c0                	test   %al,%al
140b205ec:	0f 84 c8 00 00 00    	je     0x140b206ba
140b205f2:	f6 87 d8 01 00 00 01 	testb  $0x1,0x1d8(%rdi)
140b205f9:	75 25                	jne    0x140b20620
140b205fb:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140b205ff:	48 8b 01             	mov    (%rcx),%rax
140b20602:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
140b20609:	ff 15 11 34 46 00    	call   *0x463411(%rip)        # 0x140f83a20
140b2060f:	84 c0                	test   %al,%al
140b20611:	75 43                	jne    0x140b20656
140b20613:	0f b6 87 d8 01 00 00 	movzbl 0x1d8(%rdi),%eax
140b2061a:	d0 e8                	shr    $1,%al
140b2061c:	a8 01                	test   $0x1,%al
140b2061e:	75 36                	jne    0x140b20656
140b20620:	f6 83 d8 01 00 00 01 	testb  $0x1,0x1d8(%rbx)
140b20627:	75 5b                	jne    0x140b20684
140b20629:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140b2062d:	48 8b 01             	mov    (%rcx),%rax
140b20630:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
140b20637:	ff 15 e3 33 46 00    	call   *0x4633e3(%rip)        # 0x140f83a20
140b2063d:	84 c0                	test   %al,%al
140b2063f:	0f 85 fd 00 00 00    	jne    0x140b20742
140b20645:	0f b6 83 d8 01 00 00 	movzbl 0x1d8(%rbx),%eax
140b2064c:	d0 e8                	shr    $1,%al
140b2064e:	a8 01                	test   $0x1,%al
140b20650:	0f 85 ec 00 00 00    	jne    0x140b20742
140b20656:	f6 83 d8 01 00 00 01 	testb  $0x1,0x1d8(%rbx)
140b2065d:	75 25                	jne    0x140b20684
140b2065f:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140b20663:	48 8b 01             	mov    (%rcx),%rax
140b20666:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
140b2066d:	ff 15 ad 33 46 00    	call   *0x4633ad(%rip)        # 0x140f83a20
140b20673:	84 c0                	test   %al,%al
140b20675:	75 43                	jne    0x140b206ba
140b20677:	0f b6 83 d8 01 00 00 	movzbl 0x1d8(%rbx),%eax
140b2067e:	d0 e8                	shr    $1,%al
140b20680:	a8 01                	test   $0x1,%al
140b20682:	75 36                	jne    0x140b206ba
140b20684:	f6 87 d8 01 00 00 01 	testb  $0x1,0x1d8(%rdi)
140b2068b:	75 2d                	jne    0x140b206ba
140b2068d:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140b20691:	48 8b 01             	mov    (%rcx),%rax
140b20694:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
140b2069b:	ff 15 7f 33 46 00    	call   *0x46337f(%rip)        # 0x140f83a20
140b206a1:	84 c0                	test   %al,%al
140b206a3:	0f 85 99 00 00 00    	jne    0x140b20742
140b206a9:	0f b6 87 d8 01 00 00 	movzbl 0x1d8(%rdi),%eax
140b206b0:	d0 e8                	shr    $1,%al
140b206b2:	a8 01                	test   $0x1,%al
140b206b4:	0f 85 88 00 00 00    	jne    0x140b20742
140b206ba:	80 bf a0 00 00 00 00 	cmpb   $0x0,0xa0(%rdi)
140b206c1:	74 20                	je     0x140b206e3
140b206c3:	80 bb a0 00 00 00 00 	cmpb   $0x0,0xa0(%rbx)
140b206ca:	74 17                	je     0x140b206e3
140b206cc:	48 8d 53 10          	lea    0x10(%rbx),%rdx
140b206d0:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
140b206d4:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140b206d9:	48 83 c4 20          	add    $0x20,%rsp
140b206dd:	5f                   	pop    %rdi
140b206de:	e9 dd 34 6f ff       	jmp    0x140213bc0