1401a82e8:	5b                   	pop    %rbx
1401a82e9:	c3                   	ret
1401a82ea:	cc                   	int3
1401a82eb:	cc                   	int3
1401a82ec:	48 8b c4             	mov    %rsp,%rax
1401a82ef:	48 89 58 08          	mov    %rbx,0x8(%rax)
1401a82f3:	48 89 68 10          	mov    %rbp,0x10(%rax)
1401a82f7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1401a82fb:	48 89 78 20          	mov    %rdi,0x20(%rax)
1401a82ff:	41 56                	push   %r14
1401a8301:	48 83 ec 50          	sub    $0x50,%rsp
1401a8305:	45 33 f6             	xor    %r14d,%r14d
1401a8308:	49 8b e8             	mov    %r8,%rbp
1401a830b:	48 8b f2             	mov    %rdx,%rsi
1401a830e:	48 8b f9             	mov    %rcx,%rdi
1401a8311:	48 85 d2             	test   %rdx,%rdx
1401a8314:	74 13                	je     0x1401a8329
1401a8316:	4d 85 c0             	test   %r8,%r8
1401a8319:	74 0e                	je     0x1401a8329
1401a831b:	44 38 32             	cmp    %r14b,(%rdx)
1401a831e:	75 26                	jne    0x1401a8346
1401a8320:	48 85 c9             	test   %rcx,%rcx
1401a8323:	74 04                	je     0x1401a8329
1401a8325:	66 44 89 31          	mov    %r14w,(%rcx)
1401a8329:	33 c0                	xor    %eax,%eax
1401a832b:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1401a8330:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1401a8335:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1401a833a:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
1401a833f:	48 83 c4 50          	add    $0x50,%rsp
1401a8343:	41 5e                	pop    %r14
1401a8345:	c3                   	ret
1401a8346:	49 8b d1             	mov    %r9,%rdx
1401a8349:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1401a834e:	e8 4d 39 fe ff       	call   0x14018bca0
1401a8353:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1401a8358:	4c 39 b0 38 01 00 00 	cmp    %r14,0x138(%rax)
1401a835f:	75 15                	jne    0x1401a8376
1401a8361:	48 85 ff             	test   %rdi,%rdi
1401a8364:	74 06                	je     0x1401a836c
1401a8366:	0f b6 06             	movzbl (%rsi),%eax
1401a8369:	66 89 07             	mov    %ax,(%rdi)
1401a836c:	bb 01 00 00 00       	mov    $0x1,%ebx
1401a8371:	e9 a4 00 00 00       	jmp    0x1401a841a
1401a8376:	0f b6 0e             	movzbl (%rsi),%ecx
1401a8379:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
1401a837e:	e8 95 1b 00 00       	call   0x1401a9f18
1401a8383:	bb 01 00 00 00       	mov    $0x1,%ebx
1401a8388:	85 c0                	test   %eax,%eax
1401a838a:	74 51                	je     0x1401a83dd
1401a838c:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1401a8391:	44 8b 49 08          	mov    0x8(%rcx),%r9d
1401a8395:	44 3b cb             	cmp    %ebx,%r9d
1401a8398:	7e 2f                	jle    0x1401a83c9
1401a839a:	41 3b e9             	cmp    %r9d,%ebp
1401a839d:	7c 2a                	jl     0x1401a83c9
1401a839f:	8b 49 0c             	mov    0xc(%rcx),%ecx
1401a83a2:	8d 53 08             	lea    0x8(%rbx),%edx
1401a83a5:	41 8b c6             	mov    %r14d,%eax
1401a83a8:	48 85 ff             	test   %rdi,%rdi
1401a83ab:	4c 8b c6             	mov    %rsi,%r8
1401a83ae:	0f 95 c0             	setne  %al
1401a83b1:	89 44 24 28          	mov    %eax,0x28(%rsp)
1401a83b5:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1401a83ba:	ff 15 a0 5c 05 00    	call   *0x55ca0(%rip)        # 0x1401fe060
1401a83c0:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1401a83c5:	85 c0                	test   %eax,%eax
1401a83c7:	75 0f                	jne    0x1401a83d8
1401a83c9:	48 63 41 08          	movslq 0x8(%rcx),%rax
1401a83cd:	48 3b e8             	cmp    %rax,%rbp
1401a83d0:	72 3a                	jb     0x1401a840c
1401a83d2:	44 38 76 01          	cmp    %r14b,0x1(%rsi)
1401a83d6:	74 34                	je     0x1401a840c
1401a83d8:	8b 59 08             	mov    0x8(%rcx),%ebx
1401a83db:	eb 3d                	jmp    0x1401a841a
1401a83dd:	41 8b c6             	mov    %r14d,%eax
1401a83e0:	48 85 ff             	test   %rdi,%rdi
1401a83e3:	44 8b cb             	mov    %ebx,%r9d
1401a83e6:	4c 8b c6             	mov    %rsi,%r8
1401a83e9:	0f 95 c0             	setne  %al
1401a83ec:	ba 09 00 00 00       	mov    $0x9,%edx
1401a83f1:	89 44 24 28          	mov    %eax,0x28(%rsp)
1401a83f5:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1401a83fa:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1401a83ff:	8b 48 0c             	mov    0xc(%rax),%ecx
1401a8402:	ff 15 58 5c 05 00    	call   *0x55c58(%rip)        # 0x1401fe060
1401a8408:	85 c0                	test   %eax,%eax
1401a840a:	75 0e                	jne    0x1401a841a
1401a840c:	e8 fb 7a fe ff       	call   0x14018ff0c
1401a8411:	83 cb ff             	or     $0xffffffff,%ebx
1401a8414:	c7 00 2a 00 00 00    	movl   $0x2a,(%rax)
1401a841a:	44 38 74 24 48       	cmp    %r14b,0x48(%rsp)
1401a841f:	74 0c                	je     0x1401a842d
1401a8421:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1401a8426:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
1401a842d:	8b c3                	mov    %ebx,%eax
1401a842f:	e9 f7 fe ff ff       	jmp    0x1401a832b
1401a8434:	45 33 c9             	xor    %r9d,%r9d
1401a8437:	e9 b0 fe ff ff       	jmp    0x1401a82ec
1401a843c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401a8441:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401a8446:	66 44 89 4c 24 20    	mov    %r9w,0x20(%rsp)
1401a844c:	57                   	push   %rdi
1401a844d:	48 83 ec 60          	sub    $0x60,%rsp
1401a8451:	49 8b f8             	mov    %r8,%rdi
1401a8454:	48 8b f2             	mov    %rdx,%rsi
1401a8457:	48 8b d9             	mov    %rcx,%rbx
1401a845a:	48 85 d2             	test   %rdx,%rdx
1401a845d:	75 13                	jne    0x1401a8472
1401a845f:	4d 85 c0             	test   %r8,%r8
1401a8462:	74 0e                	je     0x1401a8472
1401a8464:	48 85 c9             	test   %rcx,%rcx
1401a8467:	74 02                	je     0x1401a846b
1401a8469:	21 11                	and    %edx,(%rcx)
1401a846b:	33 c0                	xor    %eax,%eax
1401a846d:	e9 8f 00 00 00       	jmp    0x1401a8501
1401a8472:	48 85 c9             	test   %rcx,%rcx
1401a8475:	74 03                	je     0x1401a847a
1401a8477:	83 09 ff             	orl    $0xffffffff,(%rcx)
1401a847a:	49 81 f8 ff ff ff 7f 	cmp    $0x7fffffff,%r8
1401a8481:	76 13                	jbe    0x1401a8496
1401a8483:	e8 84 7a fe ff       	call   0x14018ff0c
1401a8488:	bb 16 00 00 00       	mov    $0x16,%ebx
1401a848d:	89 18                	mov    %ebx,(%rax)
1401a848f:	e8 d0 30 fe ff       	call   0x14018b564
1401a8494:	eb 69                	jmp    0x1401a84ff
1401a8496:	48 8b 94 24 90 00 00 	mov    0x90(%rsp),%rdx
1401a849d:	00
1401a849e:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1401a84a3:	e8 f8 37 fe ff       	call   0x14018bca0
1401a84a8:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
1401a84ad:	48 83 b8 38 01 00 00 	cmpq   $0x0,0x138(%rax)
1401a84b4:	00
1401a84b5:	75 79                	jne    0x1401a8530
1401a84b7:	0f b7 84 24 88 00 00 	movzwl 0x88(%rsp),%eax
1401a84be:	00
1401a84bf:	b9 ff 00 00 00       	mov    $0xff,%ecx
1401a84c4:	66 3b c1             	cmp    %cx,%ax
1401a84c7:	76 4a                	jbe    0x1401a8513
1401a84c9:	48 85 f6             	test   %rsi,%rsi
1401a84cc:	74 12                	je     0x1401a84e0
1401a84ce:	48 85 ff             	test   %rdi,%rdi
1401a84d1:	74 0d                	je     0x1401a84e0
1401a84d3:	4c 8b c7             	mov    %rdi,%r8
1401a84d6:	33 d2                	xor    %edx,%edx
1401a84d8:	48 8b ce             	mov    %rsi,%rcx
1401a84db:	e8 90 05 fe ff       	call   0x140188a70
1401a84e0:	e8 27 7a fe ff       	call   0x14018ff0c
1401a84e5:	bb 2a 00 00 00       	mov    $0x2a,%ebx
1401a84ea:	89 18                	mov    %ebx,(%rax)
1401a84ec:	80 7c 24 58 00       	cmpb   $0x0,0x58(%rsp)
1401a84f1:	74 0c                	je     0x1401a84ff
1401a84f3:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
1401a84f8:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
1401a84ff:	8b c3                	mov    %ebx,%eax
1401a8501:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
1401a8506:	49 8b 5b 10          	mov    0x10(%r11),%rbx
1401a850a:	49 8b 73 20          	mov    0x20(%r11),%rsi
1401a850e:	49 8b e3             	mov    %r11,%rsp
1401a8511:	5f                   	pop    %rdi
1401a8512:	c3                   	ret
1401a8513:	48 85 f6             	test   %rsi,%rsi
1401a8516:	74 0b                	je     0x1401a8523
1401a8518:	48 85 ff             	test   %rdi,%rdi
1401a851b:	0f 84 89 00 00 00    	je     0x1401a85aa
1401a8521:	88 06                	mov    %al,(%rsi)
1401a8523:	48 85 db             	test   %rbx,%rbx
1401a8526:	74 55                	je     0x1401a857d
1401a8528:	c7 03 01 00 00 00    	movl   $0x1,(%rbx)
1401a852e:	eb 4d                	jmp    0x1401a857d
1401a8530:	83 64 24 78 00       	andl   $0x0,0x78(%rsp)
1401a8535:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
1401a853a:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
1401a853f:	4c 8d 84 24 88 00 00 	lea    0x88(%rsp),%r8
1401a8546:	00
1401a8547:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
1401a854d:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1401a8553:	8b 48 0c             	mov    0xc(%rax),%ecx
1401a8556:	33 d2                	xor    %edx,%edx
1401a8558:	89 7c 24 28          	mov    %edi,0x28(%rsp)
1401a855c:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1401a8561:	ff 15 01 5b 05 00    	call   *0x55b01(%rip)        # 0x1401fe068
1401a8567:	85 c0                	test   %eax,%eax
1401a8569:	74 19                	je     0x1401a8584
1401a856b:	83 7c 24 78 00       	cmpl   $0x0,0x78(%rsp)
1401a8570:	0f 85 6a ff ff ff    	jne    0x1401a84e0
1401a8576:	48 85 db             	test   %rbx,%rbx
1401a8579:	74 02                	je     0x1401a857d
1401a857b:	89 03                	mov    %eax,(%rbx)
1401a857d:	33 db                	xor    %ebx,%ebx
1401a857f:	e9 68 ff ff ff       	jmp    0x1401a84ec
1401a8584:	ff 15 3e 5d 05 00    	call   *0x55d3e(%rip)        # 0x1401fe2c8
1401a858a:	83 f8 7a             	cmp    $0x7a,%eax
1401a858d:	0f 85 4d ff ff ff    	jne    0x1401a84e0
1401a8593:	48 85 f6             	test   %rsi,%rsi
1401a8596:	74 12                	je     0x1401a85aa
1401a8598:	48 85 ff             	test   %rdi,%rdi
1401a859b:	74 0d                	je     0x1401a85aa
1401a859d:	4c 8b c7             	mov    %rdi,%r8
1401a85a0:	33 d2                	xor    %edx,%edx
1401a85a2:	48 8b ce             	mov    %rsi,%rcx
1401a85a5:	e8 c6 04 fe ff       	call   0x140188a70
1401a85aa:	e8 5d 79 fe ff       	call   0x14018ff0c
1401a85af:	bb 22 00 00 00       	mov    $0x22,%ebx
1401a85b4:	89 18                	mov    %ebx,(%rax)
1401a85b6:	e8 a9 2f fe ff       	call   0x14018b564
1401a85bb:	e9 2c ff ff ff       	jmp    0x1401a84ec
1401a85c0:	48 83 ec 38          	sub    $0x38,%rsp
1401a85c4:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1401a85ca:	e8 6d fe ff ff       	call   0x1401a843c
1401a85cf:	48 83 c4 38          	add    $0x38,%rsp
1401a85d3:	c3                   	ret
1401a85d4:	48 8b 11             	mov    (%rcx),%rdx
1401a85d7:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
1401a85dc:	48 8b c2             	mov    %rdx,%rax
1401a85df:	48 c1 e8 34          	shr    $0x34,%rax
1401a85e3:	48 23 c1             	and    %rcx,%rax
1401a85e6:	48 3b c1             	cmp    %rcx,%rax
1401a85e9:	74 03                	je     0x1401a85ee
1401a85eb:	33 c0                	xor    %eax,%eax
1401a85ed:	c3                   	ret
1401a85ee:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%rcx
1401a85f5:	ff 0f 00
1401a85f8:	48 8b c2             	mov    %rdx,%rax
1401a85fb:	48 23 c1             	and    %rcx,%rax
1401a85fe:	75 06                	jne    0x1401a8606
1401a8600:	b8 01 00 00 00       	mov    $0x1,%eax
1401a8605:	c3                   	ret
1401a8606:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
1401a860d:	00 00 80
1401a8610:	48 85 d1             	test   %rdx,%rcx
1401a8613:	74 15                	je     0x1401a862a
1401a8615:	48 b9 00 00 00 00 00 	movabs $0x8000000000000,%rcx
1401a861c:	00 08 00
1401a861f:	48 3b c1             	cmp    %rcx,%rax
1401a8622:	75 06                	jne    0x1401a862a
1401a8624:	b8 04 00 00 00       	mov    $0x4,%eax
1401a8629:	c3                   	ret
1401a862a:	48 c1 ea 33          	shr    $0x33,%rdx
1401a862e:	f7 d2                	not    %edx
1401a8630:	83 e2 01             	and    $0x1,%edx
1401a8633:	83 ca 02             	or     $0x2,%edx
1401a8636:	8b c2                	mov    %edx,%eax
1401a8638:	c3                   	ret
1401a8639:	cc                   	int3
1401a863a:	cc                   	int3
1401a863b:	cc                   	int3
1401a863c:	48 8b c4             	mov    %rsp,%rax
1401a863f:	48 89 58 08          	mov    %rbx,0x8(%rax)
1401a8643:	48 89 68 10          	mov    %rbp,0x10(%rax)
1401a8647:	48 89 70 18          	mov    %rsi,0x18(%rax)
1401a864b:	48 89 78 20          	mov    %rdi,0x20(%rax)
1401a864f:	41 54                	push   %r12
1401a8651:	41 56                	push   %r14
1401a8653:	41 57                	push   %r15
1401a8655:	48 83 ec 70          	sub    $0x70,%rsp
1401a8659:	8b 9c 24 b8 00 00 00 	mov    0xb8(%rsp),%ebx
1401a8660:	45 33 e4             	xor    %r12d,%r12d
1401a8663:	48 8b fa             	mov    %rdx,%rdi
1401a8666:	44 88 22             	mov    %r12b,(%rdx)
1401a8669:	48 8b 94 24 d0 00 00 	mov    0xd0(%rsp),%rdx
1401a8670:	00
1401a8671:	48 8b f1             	mov    %rcx,%rsi
1401a8674:	85 db                	test   %ebx,%ebx
1401a8676:	48 8d 48 c8          	lea    -0x38(%rax),%rcx
1401a867a:	4d 8b f1             	mov    %r9,%r14
1401a867d:	49 8b e8             	mov    %r8,%rbp
1401a8680:	41 0f 48 dc          	cmovs  %r12d,%ebx
1401a8684:	e8 17 36 fe ff       	call   0x14018bca0
1401a8689:	8d 43 0b             	lea    0xb(%rbx),%eax
1401a868c:	48 63 d0             	movslq %eax,%rdx
1401a868f:	48 3b ea             	cmp    %rdx,%rbp
1401a8692:	77 16                	ja     0x1401a86aa
1401a8694:	e8 73 78 fe ff       	call   0x14018ff0c
1401a8699:	41 8d 5c 24 22       	lea    0x22(%r12),%ebx
1401a869e:	89 18                	mov    %ebx,(%rax)
1401a86a0:	e8 bf 2e fe ff       	call   0x14018b564
1401a86a5:	e9 bb 02 00 00       	jmp    0x1401a8965
1401a86aa:	48 8b 06             	mov    (%rsi),%rax
1401a86ad:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
1401a86b2:	48 c1 e8 34          	shr    $0x34,%rax
1401a86b6:	48 23 c1             	and    %rcx,%rax
1401a86b9:	48 3b c1             	cmp    %rcx,%rax
1401a86bc:	75 77                	jne    0x1401a8735
1401a86be:	8b 84 24 c8 00 00 00 	mov    0xc8(%rsp),%eax
1401a86c5:	4d 8b ce             	mov    %r14,%r9
1401a86c8:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
1401a86cd:	4c 8b c5             	mov    %rbp,%r8
1401a86d0:	89 44 24 38          	mov    %eax,0x38(%rsp)
1401a86d4:	48 8b d7             	mov    %rdi,%rdx
1401a86d7:	48 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%rax
1401a86de:	00
1401a86df:	48 8b ce             	mov    %rsi,%rcx
1401a86e2:	44 88 64 24 30       	mov    %r12b,0x30(%rsp)
1401a86e7:	89 5c 24 28          	mov    %ebx,0x28(%rsp)
1401a86eb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1401a86f0:	e8 a7 02 00 00       	call   0x1401a899c
1401a86f5:	8b d8                	mov    %eax,%ebx
1401a86f7:	85 c0                	test   %eax,%eax
1401a86f9:	74 08                	je     0x1401a8703
1401a86fb:	44 88 27             	mov    %r12b,(%rdi)
1401a86fe:	e9 62 02 00 00       	jmp    0x1401a8965
1401a8703:	ba 65 00 00 00       	mov    $0x65,%edx
1401a8708:	48 8b cf             	mov    %rdi,%rcx
1401a870b:	e8 9c dd 00 00       	call   0x1401b64ac
1401a8710:	48 85 c0             	test   %rax,%rax
1401a8713:	0f 84 49 02 00 00    	je     0x1401a8962
1401a8719:	8a 8c 24 c0 00 00 00 	mov    0xc0(%rsp),%cl
1401a8720:	f6 d9                	neg    %cl
1401a8722:	1a d2                	sbb    %dl,%dl
1401a8724:	80 e2 e0             	and    $0xe0,%dl
1401a8727:	80 c2 70             	add    $0x70,%dl
1401a872a:	88 10                	mov    %dl,(%rax)
1401a872c:	44 88 60 03          	mov    %r12b,0x3(%rax)
1401a8730:	e9 2d 02 00 00       	jmp    0x1401a8962
1401a8735:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1401a873c:	00 00 80
1401a873f:	48 85 06             	test   %rax,(%rsi)
1401a8742:	74 06                	je     0x1401a874a
1401a8744:	c6 07 2d             	movb   $0x2d,(%rdi)
1401a8747:	48 ff c7             	inc    %rdi
1401a874a:	44 8a bc 24 c0 00 00 	mov    0xc0(%rsp),%r15b
1401a8751:	00
1401a8752:	bd ff 03 00 00       	mov    $0x3ff,%ebp
1401a8757:	41 8a c7             	mov    %r15b,%al
1401a875a:	41 ba 30 00 00 00    	mov    $0x30,%r10d
1401a8760:	f6 d8                	neg    %al
1401a8762:	49 bb ff ff ff ff ff 	movabs $0xfffffffffffff,%r11
1401a8769:	ff 0f 00
1401a876c:	48 b8 00 00 00 00 00 	movabs $0x7ff0000000000000,%rax
1401a8773:	00 f0 7f
1401a8776:	1b d2                	sbb    %edx,%edx
1401a8778:	83 e2 e0             	and    $0xffffffe0,%edx
1401a877b:	83 ea d9             	sub    $0xffffffd9,%edx
1401a877e:	48 85 06             	test   %rax,(%rsi)
1401a8781:	75 1a                	jne    0x1401a879d
1401a8783:	44 88 17             	mov    %r10b,(%rdi)
1401a8786:	48 ff c7             	inc    %rdi
1401a8789:	48 8b 06             	mov    (%rsi),%rax
1401a878c:	49 23 c3             	and    %r11,%rax
1401a878f:	48 f7 d8             	neg    %rax
1401a8792:	48 1b ed             	sbb    %rbp,%rbp
1401a8795:	81 e5 fe 03 00 00    	and    $0x3fe,%ebp
1401a879b:	eb 06                	jmp    0x1401a87a3
1401a879d:	c6 07 31             	movb   $0x31,(%rdi)
1401a87a0:	48 ff c7             	inc    %rdi
1401a87a3:	4c 8b f7             	mov    %rdi,%r14
1401a87a6:	48 ff c7             	inc    %rdi
1401a87a9:	85 db                	test   %ebx,%ebx
1401a87ab:	75 05                	jne    0x1401a87b2