140013335:	48 8b 07             	mov    (%rdi),%rax
140013338:	33 d2                	xor    %edx,%edx
14001333a:	48 8b cf             	mov    %rdi,%rcx
14001333d:	48 8b 80 f8 00 00 00 	mov    0xf8(%rax),%rax
140013344:	ff 15 7e 23 07 00    	call   *0x7237e(%rip)        # 0x1400856c8
14001334a:	44 8b 4f 4c          	mov    0x4c(%rdi),%r9d
14001334e:	44 3b ce             	cmp    %esi,%r9d
140013351:	74 42                	je     0x140013395
140013353:	8d 43 fe             	lea    -0x2(%rbx),%eax
140013356:	44 3b c8             	cmp    %eax,%r9d
140013359:	74 5d                	je     0x1400133b8
14001335b:	8d 4b ff             	lea    -0x1(%rbx),%ecx
14001335e:	44 3b c9             	cmp    %ecx,%r9d
140013361:	0f 84 73 9c 03 00    	je     0x14004cfda
140013367:	41 8d 41 fc          	lea    -0x4(%r9),%eax
14001336b:	3b c1                	cmp    %ecx,%eax
14001336d:	0f 87 37 9c 03 00    	ja     0x14004cfaa
140013373:	66 89 8f a8 00 00 00 	mov    %cx,0xa8(%rdi)
14001337a:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14001337f:	e8 00 f1 fe ff       	call   0x140002484
140013384:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140013389:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14001338e:	48 83 c4 20          	add    $0x20,%rsp
140013392:	5f                   	pop    %rdi
140013393:	c3                   	ret
140013394:	cc                   	int3
140013395:	66 39 b7 a8 00 00 00 	cmp    %si,0xa8(%rdi)
14001339c:	74 dc                	je     0x14001337a
14001339e:	8b 05 b0 d3 08 00    	mov    0x8d3b0(%rip),%eax        # 0x1400a0754
1400133a4:	33 c9                	xor    %ecx,%ecx
1400133a6:	85 c0                	test   %eax,%eax
1400133a8:	74 c9                	je     0x140013373
1400133aa:	81 7f 54 35 04 00 00 	cmpl   $0x435,0x54(%rdi)
1400133b1:	74 c0                	je     0x140013373
1400133b3:	e9 38 9c 03 00       	jmp    0x14004cff0
1400133b8:	66 89 87 a8 00 00 00 	mov    %ax,0xa8(%rdi)
1400133bf:	eb b9                	jmp    0x14001337a
1400133c1:	cc                   	int3
1400133c2:	cc                   	int3
1400133c3:	cc                   	int3
1400133c4:	cc                   	int3
1400133c5:	cc                   	int3
1400133c6:	cc                   	int3
1400133c7:	cc                   	int3
1400133c8:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400133cd:	57                   	push   %rdi
1400133ce:	48 83 ec 20          	sub    $0x20,%rsp
1400133d2:	48 8d 99 10 01 00 00 	lea    0x110(%rcx),%rbx
1400133d9:	48 8b f9             	mov    %rcx,%rdi
1400133dc:	48 8b cb             	mov    %rbx,%rcx
1400133df:	48 ff 15 4a 1a 07 00 	rex.W call *0x71a4a(%rip)        # 0x140084e30
1400133e6:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400133eb:	48 ff 15 5e 18 07 00 	rex.W call *0x7185e(%rip)        # 0x140084c50
1400133f2:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400133f7:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1400133fc:	b9 01 00 00 00       	mov    $0x1,%ecx
140013401:	89 43 08             	mov    %eax,0x8(%rbx)
140013404:	33 db                	xor    %ebx,%ebx
140013406:	0f b7 87 a8 00 00 00 	movzwl 0xa8(%rdi),%eax
14001340d:	66 85 c0             	test   %ax,%ax
140013410:	75 0f                	jne    0x140013421
140013412:	66 89 8f a8 00 00 00 	mov    %cx,0xa8(%rdi)
140013419:	8b c1                	mov    %ecx,%eax
14001341b:	89 9f a4 00 00 00    	mov    %ebx,0xa4(%rdi)
140013421:	66 2b c1             	sub    %cx,%ax
140013424:	66 3b c1             	cmp    %cx,%ax
140013427:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14001342c:	0f 96 c3             	setbe  %bl
14001342f:	e8 50 f0 fe ff       	call   0x140002484
140013434:	8b c3                	mov    %ebx,%eax
140013436:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14001343b:	48 83 c4 20          	add    $0x20,%rsp
14001343f:	5f                   	pop    %rdi
140013440:	c3                   	ret
140013441:	cc                   	int3
140013442:	cc                   	int3
140013443:	cc                   	int3
140013444:	cc                   	int3
140013445:	cc                   	int3
140013446:	cc                   	int3
140013447:	cc                   	int3
140013448:	48 8b c4             	mov    %rsp,%rax
14001344b:	48 89 58 08          	mov    %rbx,0x8(%rax)
14001344f:	44 89 48 20          	mov    %r9d,0x20(%rax)
140013453:	4c 89 40 18          	mov    %r8,0x18(%rax)
140013457:	89 50 10             	mov    %edx,0x10(%rax)
14001345a:	55                   	push   %rbp
14001345b:	56                   	push   %rsi
14001345c:	57                   	push   %rdi
14001345d:	41 54                	push   %r12
14001345f:	41 55                	push   %r13
140013461:	41 56                	push   %r14
140013463:	41 57                	push   %r15
140013465:	48 8b ec             	mov    %rsp,%rbp
140013468:	48 83 ec 50          	sub    $0x50,%rsp
14001346c:	33 db                	xor    %ebx,%ebx
14001346e:	4c 8b f9             	mov    %rcx,%r15
140013471:	89 5d e4             	mov    %ebx,-0x1c(%rbp)
140013474:	e8 e7 05 00 00       	call   0x140013a60
140013479:	48 8b 0d 58 cd 08 00 	mov    0x8cd58(%rip),%rcx        # 0x1400a01d8
140013480:	48 ff 15 d1 19 07 00 	rex.W call *0x719d1(%rip)        # 0x140084e58
140013487:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001348c:	85 c0                	test   %eax,%eax
14001348e:	0f 84 72 9b 03 00    	je     0x14004d006
140013494:	8b 55 68             	mov    0x68(%rbp),%edx
140013497:	48 8d 35 62 bb 08 00 	lea    0x8bb62(%rip),%rsi        # 0x14009f000
14001349e:	44 8b 45 68          	mov    0x68(%rbp),%r8d
1400134a2:	44 8d 73 01          	lea    0x1(%rbx),%r14d
1400134a6:	81 e2 80 00 00 00    	and    $0x80,%edx
1400134ac:	4c 8d 25 f5 dd 07 00 	lea    0x7ddf5(%rip),%r12        # 0x1400912a8
1400134b3:	8b c2                	mov    %edx,%eax
1400134b5:	f7 d8                	neg    %eax
1400134b7:	1b c9                	sbb    %ecx,%ecx
1400134b9:	83 e1 10             	and    $0x10,%ecx
1400134bc:	f7 da                	neg    %edx
1400134be:	8d 53 02             	lea    0x2(%rbx),%edx
1400134c1:	1b c0                	sbb    %eax,%eax
1400134c3:	83 e0 10             	and    $0x10,%eax
1400134c6:	03 c2                	add    %edx,%eax
1400134c8:	41 80 e0 10          	and    $0x10,%r8b
1400134cc:	0f 44 c1             	cmove  %ecx,%eax
1400134cf:	48 8b 0d 2a bb 08 00 	mov    0x8bb2a(%rip),%rcx        # 0x14009f000
1400134d6:	89 45 f4             	mov    %eax,-0xc(%rbp)
1400134d9:	44 8b 45 e4          	mov    -0x1c(%rbp),%r8d
1400134dd:	41 8b fe             	mov    %r14d,%edi
1400134e0:	45 03 c6             	add    %r14d,%r8d
1400134e3:	44 89 75 e0          	mov    %r14d,-0x20(%rbp)
1400134e7:	44 89 45 e4          	mov    %r8d,-0x1c(%rbp)
1400134eb:	89 5d ec             	mov    %ebx,-0x14(%rbp)
1400134ee:	89 5d e8             	mov    %ebx,-0x18(%rbp)
1400134f1:	89 5d f0             	mov    %ebx,-0x10(%rbp)
1400134f4:	48 3b ce             	cmp    %rsi,%rcx
1400134f7:	74 0a                	je     0x140013503
1400134f9:	f6 41 1c 40          	testb  $0x40,0x1c(%rcx)
1400134fd:	0f 85 6c 9b 03 00    	jne    0x14004d06f
140013503:	48 8b 45 70          	mov    0x70(%rbp),%rax
140013507:	48 8b 18             	mov    (%rax),%rbx
14001350a:	48 3b d8             	cmp    %rax,%rbx
14001350d:	0f 84 da 00 00 00    	je     0x1400135ed
140013513:	4c 8b 6b 10          	mov    0x10(%rbx),%r13
140013517:	41 0f b7 85 a8 00 00 	movzwl 0xa8(%r13),%eax
14001351e:	00
14001351f:	66 41 3b c6          	cmp    %r14w,%ax
140013523:	74 31                	je     0x140013556
140013525:	66 3b c2             	cmp    %dx,%ax
140013528:	0f 84 94 01 00 00    	je     0x1400136c2
14001352e:	33 c0                	xor    %eax,%eax
140013530:	39 45 f4             	cmp    %eax,-0xc(%rbp)
140013533:	74 0f                	je     0x140013544
140013535:	49 8b cd             	mov    %r13,%rcx
140013538:	e8 f3 01 00 00       	call   0x140013730
14001353d:	48 8b 0d bc ba 08 00 	mov    0x8babc(%rip),%rcx        # 0x14009f000
140013544:	48 8b 1b             	mov    (%rbx),%rbx
140013547:	ba 02 00 00 00       	mov    $0x2,%edx
14001354c:	44 8b 45 e4          	mov    -0x1c(%rbp),%r8d
140013550:	48 8b 45 70          	mov    0x70(%rbp),%rax
140013554:	eb b4                	jmp    0x14001350a
140013556:	48 3b ce             	cmp    %rsi,%rcx
140013559:	74 0a                	je     0x140013565
14001355b:	f6 41 1c 40          	testb  $0x40,0x1c(%rcx)
14001355f:	0f 85 4a 9b 03 00    	jne    0x14004d0af
140013565:	4c 8d 4d e8          	lea    -0x18(%rbp),%r9
140013569:	49 8b cd             	mov    %r13,%rcx
14001356c:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
140013570:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
140013574:	e8 db 01 00 00       	call   0x140013754
140013579:	85 c0                	test   %eax,%eax
14001357b:	0f 84 23 01 00 00    	je     0x1400136a4
140013581:	44 39 35 48 bc 08 00 	cmp    %r14d,0x8bc48(%rip)        # 0x14009f1d0
140013588:	0f 84 41 9b 03 00    	je     0x14004d0cf
14001358e:	48 8b 05 6b ba 08 00 	mov    0x8ba6b(%rip),%rax        # 0x14009f000
140013595:	48 3b c6             	cmp    %rsi,%rax
140013598:	74 0a                	je     0x1400135a4
14001359a:	f6 40 1c 40          	testb  $0x40,0x1c(%rax)
14001359e:	0f 85 8b 9b 03 00    	jne    0x14004d12f
1400135a4:	4d 3b ef             	cmp    %r15,%r13
1400135a7:	0f 85 6c 01 00 00    	jne    0x140013719
1400135ad:	8b 55 48             	mov    0x48(%rbp),%edx
1400135b0:	4c 8b 45 50          	mov    0x50(%rbp),%r8
1400135b4:	8b 45 58             	mov    0x58(%rbp),%eax
1400135b7:	8b 7d e0             	mov    -0x20(%rbp),%edi
1400135ba:	44 8b 4d 68          	mov    0x68(%rbp),%r9d
1400135be:	49 8b cd             	mov    %r13,%rcx
1400135c1:	89 44 24 20          	mov    %eax,0x20(%rsp)
1400135c5:	e8 d6 02 00 00       	call   0x1400138a0
1400135ca:	33 c9                	xor    %ecx,%ecx
1400135cc:	8b c1                	mov    %ecx,%eax
1400135ce:	b9 02 00 00 00       	mov    $0x2,%ecx
1400135d3:	66 41 39 8d a8 00 00 	cmp    %cx,0xa8(%r13)
1400135da:	00
1400135db:	0f 94 c0             	sete   %al
1400135de:	89 45 ec             	mov    %eax,-0x14(%rbp)
1400135e1:	48 8b 0d 18 ba 08 00 	mov    0x8ba18(%rip),%rcx        # 0x14009f000
1400135e8:	e9 41 ff ff ff       	jmp    0x14001352e
1400135ed:	44 8b 6d e8          	mov    -0x18(%rbp),%r13d
1400135f1:	33 db                	xor    %ebx,%ebx
1400135f3:	39 5d ec             	cmp    %ebx,-0x14(%rbp)
1400135f6:	74 0a                	je     0x140013602
1400135f8:	45 85 ed             	test   %r13d,%r13d
1400135fb:	75 3e                	jne    0x14001363b
1400135fd:	39 5d 60             	cmp    %ebx,0x60(%rbp)
140013600:	75 39                	jne    0x14001363b
140013602:	8b 5d f0             	mov    -0x10(%rbp),%ebx
140013605:	85 ff                	test   %edi,%edi
140013607:	74 09                	je     0x140013612
140013609:	45 85 ed             	test   %r13d,%r13d
14001360c:	0f 85 6b 9c 03 00    	jne    0x14004d27d
140013612:	85 db                	test   %ebx,%ebx
140013614:	0f 85 63 9c 03 00    	jne    0x14004d27d
14001361a:	33 db                	xor    %ebx,%ebx
14001361c:	85 ff                	test   %edi,%edi
14001361e:	74 7a                	je     0x14001369a
140013620:	33 c0                	xor    %eax,%eax
140013622:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
140013629:	00
14001362a:	48 83 c4 50          	add    $0x50,%rsp
14001362e:	41 5f                	pop    %r15
140013630:	41 5e                	pop    %r14
140013632:	41 5d                	pop    %r13
140013634:	41 5c                	pop    %r12
140013636:	5f                   	pop    %rdi
140013637:	5e                   	pop    %rsi
140013638:	5d                   	pop    %rbp
140013639:	c3                   	ret
14001363a:	cc                   	int3
14001363b:	48 3b ce             	cmp    %rsi,%rcx
14001363e:	74 0a                	je     0x14001364a
140013640:	f6 41 1c 40          	testb  $0x40,0x1c(%rcx)
140013644:	0f 85 79 9b 03 00    	jne    0x14004d1c3
14001364a:	8b 15 c8 c9 08 00    	mov    0x8c9c8(%rip),%edx        # 0x1400a0018
140013650:	48 8b 0d 81 cb 08 00 	mov    0x8cb81(%rip),%rcx        # 0x1400a01d8
140013657:	48 ff 15 6a 17 07 00 	rex.W call *0x7176a(%rip)        # 0x140084dc8
14001365e:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140013663:	3d 02 01 00 00       	cmp    $0x102,%eax
140013668:	0f 84 83 9b 03 00    	je     0x14004d1f1
14001366e:	85 c0                	test   %eax,%eax
140013670:	0f 85 8a 9b 03 00    	jne    0x14004d200
140013676:	48 8b 0d 5b cb 08 00 	mov    0x8cb5b(%rip),%rcx        # 0x1400a01d8
14001367d:	48 ff 15 d4 17 07 00 	rex.W call *0x717d4(%rip)        # 0x140084e58
140013684:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140013689:	85 c0                	test   %eax,%eax
14001368b:	0f 84 bf 9b 03 00    	je     0x14004d250
140013691:	48 8b 0d 68 b9 08 00 	mov    0x8b968(%rip),%rcx        # 0x14009f000
140013698:	eb 82                	jmp    0x14001361c
14001369a:	ba 02 00 00 00       	mov    $0x2,%edx
14001369f:	e9 35 fe ff ff       	jmp    0x1400134d9
1400136a4:	48 8b 0d 55 b9 08 00 	mov    0x8b955(%rip),%rcx        # 0x14009f000
1400136ab:	48 3b ce             	cmp    %rsi,%rcx
1400136ae:	74 0a                	je     0x1400136ba
1400136b0:	f6 41 1c 40          	testb  $0x40,0x1c(%rcx)
1400136b4:	0f 85 b5 9a 03 00    	jne    0x14004d16f
1400136ba:	8b 7d e0             	mov    -0x20(%rbp),%edi
1400136bd:	e9 6c fe ff ff       	jmp    0x14001352e
1400136c2:	4d 3b ef             	cmp    %r15,%r13
1400136c5:	0f 84 63 fe ff ff    	je     0x14001352e
1400136cb:	33 c0                	xor    %eax,%eax
1400136cd:	4d 85 ff             	test   %r15,%r15
1400136d0:	74 1e                	je     0x1400136f0
1400136d2:	66 41 83 bf a8 00 00 	cmpw   $0x4,0xa8(%r15)
1400136d9:	00 04
1400136db:	0f 84 4f fe ff ff    	je     0x140013530
1400136e1:	48 3b ce             	cmp    %rsi,%rcx
1400136e4:	74 0a                	je     0x1400136f0
1400136e6:	f6 41 1c 80          	testb  $0x80,0x1c(%rcx)
1400136ea:	0f 85 9c 9a 03 00    	jne    0x14004d18c
1400136f0:	49 8b cd             	mov    %r13,%rcx
1400136f3:	e8 d4 c5 00 00       	call   0x14001fccc
1400136f8:	b9 02 00 00 00       	mov    $0x2,%ecx
1400136fd:	3b c1                	cmp    %ecx,%eax
1400136ff:	0f 85 ab 9a 03 00    	jne    0x14004d1b0
140013705:	33 c9                	xor    %ecx,%ecx
140013707:	44 89 75 ec          	mov    %r14d,-0x14(%rbp)
14001370b:	8b f9                	mov    %ecx,%edi
14001370d:	89 4d e0             	mov    %ecx,-0x20(%rbp)
140013710:	44 89 75 e8          	mov    %r14d,-0x18(%rbp)
140013714:	e9 c8 fe ff ff       	jmp    0x1400135e1
140013719:	33 c0                	xor    %eax,%eax
14001371b:	8b f8                	mov    %eax,%edi
14001371d:	89 45 e0             	mov    %eax,-0x20(%rbp)
140013720:	8b d0                	mov    %eax,%edx
140013722:	44 8b c0             	mov    %eax,%r8d
140013725:	e9 90 fe ff ff       	jmp    0x1400135ba
14001372a:	cc                   	int3
14001372b:	cc                   	int3
14001372c:	cc                   	int3
14001372d:	cc                   	int3
14001372e:	cc                   	int3
14001372f:	cc                   	int3
140013730:	40 53                	rex push %rbx
140013732:	48 83 ec 40          	sub    $0x40,%rsp
140013736:	48 8b d9             	mov    %rcx,%rbx
140013739:	66 83 b9 a8 00 00 00 	cmpw   $0x4,0xa8(%rcx)
140013740:	04
140013741:	0f 84 fd 9b 03 00    	je     0x14004d344
140013747:	48 83 c4 40          	add    $0x40,%rsp
14001374b:	5b                   	pop    %rbx
14001374c:	c3                   	ret
14001374d:	cc                   	int3
14001374e:	cc                   	int3
14001374f:	cc                   	int3
140013750:	cc                   	int3
140013751:	cc                   	int3
140013752:	cc                   	int3
140013753:	cc                   	int3
140013754:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140013759:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14001375e:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140013763:	55                   	push   %rbp
140013764:	56                   	push   %rsi
140013765:	57                   	push   %rdi
140013766:	41 54                	push   %r12
140013768:	41 55                	push   %r13
14001376a:	41 56                	push   %r14
14001376c:	41 57                	push   %r15
14001376e:	48 8b ec             	mov    %rsp,%rbp
140013771:	48 83 ec 70          	sub    $0x70,%rsp
140013775:	33 c0                	xor    %eax,%eax
140013777:	48 8d 99 10 01 00 00 	lea    0x110(%rcx),%rbx
14001377e:	48 8b f9             	mov    %rcx,%rdi
140013781:	4d 8b f1             	mov    %r9,%r14
140013784:	48 8b cb             	mov    %rbx,%rcx
140013787:	4d 8b e8             	mov    %r8,%r13
14001378a:	8b f0                	mov    %eax,%esi
14001378c:	44 8d 78 01          	lea    0x1(%rax),%r15d
140013790:	48 ff 15 59 16 07 00 	rex.W call *0x71659(%rip)        # 0x140084df0
140013797:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001379c:	4c 8b 67 68          	mov    0x68(%rdi),%r12
1400137a0:	41 8d 57 03          	lea    0x3(%r15),%edx
1400137a4:	48 89 5d e0          	mov    %rbx,-0x20(%rbp)
1400137a8:	33 db                	xor    %ebx,%ebx
1400137aa:	4d 85 e4             	test   %r12,%r12
1400137ad:	74 43                	je     0x1400137f2
1400137af:	41 8b 4c 24 08       	mov    0x8(%r12),%ecx
1400137b4:	81 e9 80 00 00 00    	sub    $0x80,%ecx
1400137ba:	0f 85 88 9c 03 00    	jne    0x14004d448
1400137c0:	4d 8b 74 24 10       	mov    0x10(%r12),%r14
1400137c5:	41 0f b7 86 a8 00 00 	movzwl 0xa8(%r14),%eax
1400137cc:	00
1400137cd:	66 3b c2             	cmp    %dx,%ax
1400137d0:	0f 84 06 9f 03 00    	je     0x14004d6dc
1400137d6:	66 85 c0             	test   %ax,%ax
1400137d9:	74 7f                	je     0x14001385a
1400137db:	4c 8b 75 58          	mov    0x58(%rbp),%r14
1400137df:	b9 03 00 00 00       	mov    $0x3,%ecx
1400137e4:	66 3b c1             	cmp    %cx,%ax
1400137e7:	75 53                	jne    0x14001383c
1400137e9:	4d 8b 24 24          	mov    (%r12),%r12
1400137ed:	4d 85 e4             	test   %r12,%r12
1400137f0:	75 40                	jne    0x140013832
1400137f2:	48 8b 07             	mov    (%rdi),%rax