140ad91db:	48 d1 fb             	sar    $1,%rbx
140ad91de:	0f 84 8a 00 00 00    	je     0x140ad926e
140ad91e4:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140ad91eb:	ff ff 7f
140ad91ee:	48 3b d8             	cmp    %rax,%rbx
140ad91f1:	0f 87 96 00 00 00    	ja     0x140ad928d
140ad91f7:	48 03 db             	add    %rbx,%rbx
140ad91fa:	74 43                	je     0x140ad923f
140ad91fc:	48 81 fb 00 10 00 00 	cmp    $0x1000,%rbx
140ad9203:	72 22                	jb     0x140ad9227
140ad9205:	48 8d 4b 27          	lea    0x27(%rbx),%rcx
140ad9209:	48 3b cb             	cmp    %rbx,%rcx
140ad920c:	76 79                	jbe    0x140ad9287
140ad920e:	ff 15 b4 36 03 00    	call   *0x336b4(%rip)        # 0x140b0c8c8
140ad9214:	48 85 c0             	test   %rax,%rax
140ad9217:	74 1c                	je     0x140ad9235
140ad9219:	48 8d 78 27          	lea    0x27(%rax),%rdi
140ad921d:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
140ad9221:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
140ad9225:	eb 18                	jmp    0x140ad923f
140ad9227:	48 8b cb             	mov    %rbx,%rcx
140ad922a:	ff 15 98 36 03 00    	call   *0x33698(%rip)        # 0x140b0c8c8
140ad9230:	48 85 c0             	test   %rax,%rax
140ad9233:	75 07                	jne    0x140ad923c
140ad9235:	ff 15 5d 32 03 00    	call   *0x3325d(%rip)        # 0x140b0c498
140ad923b:	cc                   	int3
140ad923c:	48 8b f8             	mov    %rax,%rdi
140ad923f:	48 89 3e             	mov    %rdi,(%rsi)
140ad9242:	48 8d 04 3b          	lea    (%rbx,%rdi,1),%rax
140ad9246:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
140ad924a:	48 8b cf             	mov    %rdi,%rcx
140ad924d:	48 89 46 10          	mov    %rax,0x10(%rsi)
140ad9251:	49 8b 5e 08          	mov    0x8(%r14),%rbx
140ad9255:	49 2b 1e             	sub    (%r14),%rbx
140ad9258:	49 8b 16             	mov    (%r14),%rdx
140ad925b:	4c 8b c3             	mov    %rbx,%r8
140ad925e:	e8 03 72 01 00       	call   0x140af0466
140ad9263:	48 d1 fb             	sar    $1,%rbx
140ad9266:	48 8d 04 5f          	lea    (%rdi,%rbx,2),%rax
140ad926a:	48 89 46 08          	mov    %rax,0x8(%rsi)
140ad926e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140ad9273:	48 8b c6             	mov    %rsi,%rax
140ad9276:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140ad927b:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140ad9280:	48 83 c4 20          	add    $0x20,%rsp
140ad9284:	41 5e                	pop    %r14
140ad9286:	c3                   	ret
140ad9287:	e8 44 aa 52 ff       	call   0x140003cd0
140ad928c:	cc                   	int3
140ad928d:	e8 d6 2a 54 ff       	call   0x14001bd68
140ad9292:	cc                   	int3
140ad9293:	90                   	nop
140ad9294:	90                   	nop
140ad9295:	90                   	nop
140ad9296:	90                   	nop
140ad9297:	90                   	nop
140ad9298:	90                   	nop
140ad9299:	90                   	nop
140ad929a:	90                   	nop
140ad929b:	90                   	nop
140ad929c:	90                   	nop
140ad929d:	90                   	nop
140ad929e:	90                   	nop
140ad929f:	90                   	nop
140ad92a0:	48 8b 41 18          	mov    0x18(%rcx),%rax
140ad92a4:	48 8b 50 08          	mov    0x8(%rax),%rdx
140ad92a8:	48 2b 10             	sub    (%rax),%rdx
140ad92ab:	8b 41 08             	mov    0x8(%rcx),%eax
140ad92ae:	48 3b c2             	cmp    %rdx,%rax
140ad92b1:	0f 94 c0             	sete   %al
140ad92b4:	c3                   	ret
140ad92b5:	90                   	nop
140ad92b6:	90                   	nop
140ad92b7:	90                   	nop
140ad92b8:	90                   	nop
140ad92b9:	90                   	nop
140ad92ba:	90                   	nop
140ad92bb:	90                   	nop
140ad92bc:	90                   	nop
140ad92bd:	90                   	nop
140ad92be:	90                   	nop
140ad92bf:	90                   	nop
140ad92c0:	48 83 ec 78          	sub    $0x78,%rsp
140ad92c4:	48 8b 05 75 5d 1e 00 	mov    0x1e5d75(%rip),%rax        # 0x140cbf040
140ad92cb:	48 33 c4             	xor    %rsp,%rax
140ad92ce:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140ad92d3:	48 8b 41 18          	mov    0x18(%rcx),%rax
140ad92d7:	4c 8b c1             	mov    %rcx,%r8
140ad92da:	44 8b 49 08          	mov    0x8(%rcx),%r9d
140ad92de:	48 8b 10             	mov    (%rax),%rdx
140ad92e1:	48 8b 40 08          	mov    0x8(%rax),%rax
140ad92e5:	48 2b c2             	sub    %rdx,%rax
140ad92e8:	4c 3b c8             	cmp    %rax,%r9
140ad92eb:	73 58                	jae    0x140ad9345
140ad92ed:	46 8a 14 0a          	mov    (%rdx,%r9,1),%r10b
140ad92f1:	ba 01 00 00 00       	mov    $0x1,%edx
140ad92f6:	8b 49 0c             	mov    0xc(%rcx),%ecx
140ad92f9:	d3 e2                	shl    %cl,%edx
140ad92fb:	41 84 d2             	test   %dl,%r10b
140ad92fe:	ba 00 00 00 00       	mov    $0x0,%edx
140ad9303:	0f 95 c2             	setne  %dl
140ad9306:	85 c9                	test   %ecx,%ecx
140ad9308:	75 20                	jne    0x140ad932a
140ad930a:	41 38 48 10          	cmp    %cl,0x10(%r8)
140ad930e:	74 0b                	je     0x140ad931b
140ad9310:	b9 06 00 00 00       	mov    $0x6,%ecx
140ad9315:	41 80 fa ff          	cmp    $0xff,%r10b
140ad9319:	74 05                	je     0x140ad9320
140ad931b:	b9 07 00 00 00       	mov    $0x7,%ecx
140ad9320:	41 8d 41 01          	lea    0x1(%r9),%eax
140ad9324:	41 89 40 08          	mov    %eax,0x8(%r8)
140ad9328:	eb 02                	jmp    0x140ad932c
140ad932a:	ff c9                	dec    %ecx
140ad932c:	41 89 48 0c          	mov    %ecx,0xc(%r8)
140ad9330:	0f b7 c2             	movzwl %dx,%eax
140ad9333:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140ad9338:	48 33 cc             	xor    %rsp,%rcx
140ad933b:	e8 a0 62 01 00       	call   0x140aef5e0
140ad9340:	48 83 c4 78          	add    $0x78,%rsp
140ad9344:	c3                   	ret
140ad9345:	48 8d 15 e4 70 0d 00 	lea    0xd70e4(%rip),%rdx        # 0x140bb0430
140ad934c:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad9351:	e8 76 e5 e8 ff       	call   0x1409678cc
140ad9356:	48 8d 15 83 da 15 00 	lea    0x15da83(%rip),%rdx        # 0x140c36de0
140ad935d:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad9362:	e8 17 71 01 00       	call   0x140af047e
140ad9367:	cc                   	int3
140ad9368:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140ad936d:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140ad9372:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140ad9377:	57                   	push   %rdi
140ad9378:	48 83 ec 70          	sub    $0x70,%rsp
140ad937c:	48 8b 05 bd 5c 1e 00 	mov    0x1e5cbd(%rip),%rax        # 0x140cbf040
140ad9383:	48 33 c4             	xor    %rsp,%rax
140ad9386:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140ad938b:	0f b7 fa             	movzwl %dx,%edi
140ad938e:	48 8b f1             	mov    %rcx,%rsi
140ad9391:	66 83 fa 20          	cmp    $0x20,%dx
140ad9395:	77 57                	ja     0x140ad93ee
140ad9397:	33 ed                	xor    %ebp,%ebp
140ad9399:	8b cd                	mov    %ebp,%ecx
140ad939b:	66 85 d2             	test   %dx,%dx
140ad939e:	74 29                	je     0x140ad93c9
140ad93a0:	b8 ff ff 00 00       	mov    $0xffff,%eax
140ad93a5:	8d 1c 09             	lea    (%rcx,%rcx,1),%ebx
140ad93a8:	66 03 f8             	add    %ax,%di
140ad93ab:	48 8b ce             	mov    %rsi,%rcx
140ad93ae:	48 8b 06             	mov    (%rsi),%rax
140ad93b1:	48 8b 40 10          	mov    0x10(%rax),%rax
140ad93b5:	ff 15 7d 38 03 00    	call   *0x3387d(%rip)        # 0x140b0cc38
140ad93bb:	66 85 c0             	test   %ax,%ax
140ad93be:	8d 4b 01             	lea    0x1(%rbx),%ecx
140ad93c1:	0f 44 cb             	cmove  %ebx,%ecx
140ad93c4:	66 85 ff             	test   %di,%di
140ad93c7:	75 d7                	jne    0x140ad93a0
140ad93c9:	8b c1                	mov    %ecx,%eax
140ad93cb:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140ad93d0:	48 33 cc             	xor    %rsp,%rcx
140ad93d3:	e8 08 62 01 00       	call   0x140aef5e0
140ad93d8:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
140ad93dd:	49 8b 5b 18          	mov    0x18(%r11),%rbx
140ad93e1:	49 8b 6b 20          	mov    0x20(%r11),%rbp
140ad93e5:	49 8b 73 28          	mov    0x28(%r11),%rsi
140ad93e9:	49 8b e3             	mov    %r11,%rsp
140ad93ec:	5f                   	pop    %rdi
140ad93ed:	c3                   	ret
140ad93ee:	48 8d 15 fb 6f 0d 00 	lea    0xd6ffb(%rip),%rdx        # 0x140bb03f0
140ad93f5:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad93fa:	e8 cd e4 e8 ff       	call   0x1409678cc
140ad93ff:	48 8d 15 da d9 15 00 	lea    0x15d9da(%rip),%rdx        # 0x140c36de0
140ad9406:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad940b:	e8 6e 70 01 00       	call   0x140af047e
140ad9410:	cc                   	int3
140ad9411:	90                   	nop
140ad9412:	90                   	nop
140ad9413:	90                   	nop
140ad9414:	90                   	nop
140ad9415:	90                   	nop
140ad9416:	90                   	nop
140ad9417:	90                   	nop
140ad9418:	90                   	nop
140ad9419:	90                   	nop
140ad941a:	90                   	nop
140ad941b:	90                   	nop
140ad941c:	90                   	nop
140ad941d:	90                   	nop
140ad941e:	90                   	nop
140ad941f:	90                   	nop
140ad9420:	48 83 ec 78          	sub    $0x78,%rsp
140ad9424:	48 8b 05 15 5c 1e 00 	mov    0x1e5c15(%rip),%rax        # 0x140cbf040
140ad942b:	48 33 c4             	xor    %rsp,%rax
140ad942e:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140ad9433:	4c 8b 49 18          	mov    0x18(%rcx),%r9
140ad9437:	8b 51 08             	mov    0x8(%rcx),%edx
140ad943a:	49 8b 41 08          	mov    0x8(%r9),%rax
140ad943e:	49 2b 01             	sub    (%r9),%rax
140ad9441:	48 3b d0             	cmp    %rax,%rdx
140ad9444:	73 4c                	jae    0x140ad9492
140ad9446:	8d 42 01             	lea    0x1(%rdx),%eax
140ad9449:	89 41 08             	mov    %eax,0x8(%rcx)
140ad944c:	4d 8b 01             	mov    (%r9),%r8
140ad944f:	49 8b 41 08          	mov    0x8(%r9),%rax
140ad9453:	49 2b c0             	sub    %r8,%rax
140ad9456:	48 3b d0             	cmp    %rax,%rdx
140ad9459:	72 07                	jb     0x140ad9462
140ad945b:	ff 15 37 35 03 00    	call   *0x33537(%rip)        # 0x140b0c998
140ad9461:	cc                   	int3
140ad9462:	80 79 10 00          	cmpb   $0x0,0x10(%rcx)
140ad9466:	41 8a 14 10          	mov    (%r8,%rdx,1),%dl
140ad946a:	74 0a                	je     0x140ad9476
140ad946c:	b8 06 00 00 00       	mov    $0x6,%eax
140ad9471:	80 fa ff             	cmp    $0xff,%dl
140ad9474:	74 05                	je     0x140ad947b
140ad9476:	b8 07 00 00 00       	mov    $0x7,%eax
140ad947b:	89 41 0c             	mov    %eax,0xc(%rcx)
140ad947e:	8a c2                	mov    %dl,%al
140ad9480:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140ad9485:	48 33 cc             	xor    %rsp,%rcx
140ad9488:	e8 53 61 01 00       	call   0x140aef5e0
140ad948d:	48 83 c4 78          	add    $0x78,%rsp
140ad9491:	c3                   	ret
140ad9492:	48 8d 15 97 6f 0d 00 	lea    0xd6f97(%rip),%rdx        # 0x140bb0430
140ad9499:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad949e:	e8 29 e4 e8 ff       	call   0x1409678cc
140ad94a3:	48 8d 15 36 d9 15 00 	lea    0x15d936(%rip),%rdx        # 0x140c36de0
140ad94aa:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad94af:	e8 ca 6f 01 00       	call   0x140af047e
140ad94b4:	cc                   	int3
140ad94b5:	90                   	nop
140ad94b6:	90                   	nop
140ad94b7:	90                   	nop
140ad94b8:	90                   	nop
140ad94b9:	90                   	nop
140ad94ba:	90                   	nop
140ad94bb:	90                   	nop
140ad94bc:	90                   	nop
140ad94bd:	90                   	nop
140ad94be:	90                   	nop
140ad94bf:	90                   	nop
140ad94c0:	40 53                	rex push %rbx
140ad94c2:	48 83 ec 70          	sub    $0x70,%rsp
140ad94c6:	48 8b 05 73 5b 1e 00 	mov    0x1e5b73(%rip),%rax        # 0x140cbf040
140ad94cd:	48 33 c4             	xor    %rsp,%rax
140ad94d0:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140ad94d5:	48 8b 59 18          	mov    0x18(%rcx),%rbx
140ad94d9:	4c 8b c1             	mov    %rcx,%r8
140ad94dc:	44 8b 49 08          	mov    0x8(%rcx),%r9d
140ad94e0:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140ad94e4:	48 2b 13             	sub    (%rbx),%rdx
140ad94e7:	41 8d 49 04          	lea    0x4(%r9),%ecx
140ad94eb:	48 3b ca             	cmp    %rdx,%rcx
140ad94ee:	77 66                	ja     0x140ad9556
140ad94f0:	ba 04 00 00 00       	mov    $0x4,%edx
140ad94f5:	33 c9                	xor    %ecx,%ecx
140ad94f7:	ff ca                	dec    %edx
140ad94f9:	c1 e1 08             	shl    $0x8,%ecx
140ad94fc:	45 8b d1             	mov    %r9d,%r10d
140ad94ff:	41 ff c1             	inc    %r9d
140ad9502:	45 89 48 08          	mov    %r9d,0x8(%r8)
140ad9506:	4c 8b 1b             	mov    (%rbx),%r11
140ad9509:	48 8b 43 08          	mov    0x8(%rbx),%rax
140ad950d:	49 2b c3             	sub    %r11,%rax
140ad9510:	4c 3b d0             	cmp    %rax,%r10
140ad9513:	73 3a                	jae    0x140ad954f
140ad9515:	43 0f b6 04 1a       	movzbl (%r10,%r11,1),%eax
140ad951a:	03 c8                	add    %eax,%ecx
140ad951c:	85 d2                	test   %edx,%edx
140ad951e:	7f d7                	jg     0x140ad94f7
140ad9520:	41 80 78 10 00       	cmpb   $0x0,0x10(%r8)
140ad9525:	74 0a                	je     0x140ad9531
140ad9527:	b8 06 00 00 00       	mov    $0x6,%eax
140ad952c:	80 f9 ff             	cmp    $0xff,%cl
140ad952f:	74 05                	je     0x140ad9536
140ad9531:	b8 07 00 00 00       	mov    $0x7,%eax
140ad9536:	41 89 40 0c          	mov    %eax,0xc(%r8)
140ad953a:	8b c1                	mov    %ecx,%eax
140ad953c:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140ad9541:	48 33 cc             	xor    %rsp,%rcx
140ad9544:	e8 97 60 01 00       	call   0x140aef5e0
140ad9549:	48 83 c4 70          	add    $0x70,%rsp
140ad954d:	5b                   	pop    %rbx
140ad954e:	c3                   	ret
140ad954f:	ff 15 43 34 03 00    	call   *0x33443(%rip)        # 0x140b0c998
140ad9555:	cc                   	int3
140ad9556:	48 8d 15 d3 6e 0d 00 	lea    0xd6ed3(%rip),%rdx        # 0x140bb0430
140ad955d:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad9562:	e8 65 e3 e8 ff       	call   0x1409678cc
140ad9567:	48 8d 15 72 d8 15 00 	lea    0x15d872(%rip),%rdx        # 0x140c36de0
140ad956e:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad9573:	e8 06 6f 01 00       	call   0x140af047e
140ad9578:	cc                   	int3
140ad9579:	90                   	nop
140ad957a:	90                   	nop
140ad957b:	90                   	nop
140ad957c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140ad9581:	57                   	push   %rdi
140ad9582:	48 83 ec 70          	sub    $0x70,%rsp
140ad9586:	48 8b 05 b3 5a 1e 00 	mov    0x1e5ab3(%rip),%rax        # 0x140cbf040
140ad958d:	48 33 c4             	xor    %rsp,%rax
140ad9590:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140ad9595:	4c 8b 59 18          	mov    0x18(%rcx),%r11
140ad9599:	4c 8b c1             	mov    %rcx,%r8
140ad959c:	8b 59 08             	mov    0x8(%rcx),%ebx
140ad959f:	44 0f b7 ca          	movzwl %dx,%r9d
140ad95a3:	49 8b 43 08          	mov    0x8(%r11),%rax
140ad95a7:	49 2b 03             	sub    (%r11),%rax
140ad95aa:	42 8d 0c 0b          	lea    (%rbx,%r9,1),%ecx
140ad95ae:	48 3b c8             	cmp    %rax,%rcx
140ad95b1:	77 7a                	ja     0x140ad962d
140ad95b3:	33 ff                	xor    %edi,%edi
140ad95b5:	8b cf                	mov    %edi,%ecx
140ad95b7:	8b d3                	mov    %ebx,%edx
140ad95b9:	b8 ff ff 00 00       	mov    $0xffff,%eax
140ad95be:	66 44 03 c8          	add    %ax,%r9w
140ad95c2:	48 c1 e1 08          	shl    $0x8,%rcx
140ad95c6:	8d 5a 01             	lea    0x1(%rdx),%ebx
140ad95c9:	41 89 58 08          	mov    %ebx,0x8(%r8)
140ad95cd:	4d 8b 13             	mov    (%r11),%r10
140ad95d0:	49 8b 43 08          	mov    0x8(%r11),%rax
140ad95d4:	49 2b c2             	sub    %r10,%rax
140ad95d7:	48 3b d0             	cmp    %rax,%rdx
140ad95da:	73 4a                	jae    0x140ad9626
140ad95dc:	41 0f b6 04 12       	movzbl (%r10,%rdx,1),%eax
140ad95e1:	48 03 c8             	add    %rax,%rcx
140ad95e4:	66 45 85 c9          	test   %r9w,%r9w
140ad95e8:	75 cd                	jne    0x140ad95b7
140ad95ea:	41 38 78 10          	cmp    %dil,0x10(%r8)
140ad95ee:	74 0a                	je     0x140ad95fa
140ad95f0:	ba 06 00 00 00       	mov    $0x6,%edx
140ad95f5:	80 f9 ff             	cmp    $0xff,%cl
140ad95f8:	74 05                	je     0x140ad95ff
140ad95fa:	ba 07 00 00 00       	mov    $0x7,%edx
140ad95ff:	b8 0c 00 00 00       	mov    $0xc,%eax
140ad9604:	41 89 14 00          	mov    %edx,(%r8,%rax,1)
140ad9608:	48 8b c1             	mov    %rcx,%rax
140ad960b:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140ad9610:	48 33 cc             	xor    %rsp,%rcx
140ad9613:	e8 c8 5f 01 00       	call   0x140aef5e0
140ad9618:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140ad961f:	00
140ad9620:	48 83 c4 70          	add    $0x70,%rsp
140ad9624:	5f                   	pop    %rdi
140ad9625:	c3                   	ret
140ad9626:	ff 15 6c 33 03 00    	call   *0x3336c(%rip)        # 0x140b0c998
140ad962c:	cc                   	int3
140ad962d:	48 8d 15 fc 6d 0d 00 	lea    0xd6dfc(%rip),%rdx        # 0x140bb0430
140ad9634:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad9639:	e8 8e e2 e8 ff       	call   0x1409678cc
140ad963e:	48 8d 15 9b d7 15 00 	lea    0x15d79b(%rip),%rdx        # 0x140c36de0
140ad9645:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx