1400393f1:	5d                   	pop    %rbp
1400393f2:	c3                   	ret
1400393f3:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
1400393f8:	45 8b ce             	mov    %r14d,%r9d
1400393fb:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140039400:	4c 8b c3             	mov    %rbx,%r8
140039403:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
140039408:	41 8b d7             	mov    %r15d,%edx
14003940b:	89 7c 24 28          	mov    %edi,0x28(%rsp)
14003940f:	49 8b cd             	mov    %r13,%rcx
140039412:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140039417:	ff 15 53 2c 00 00    	call   *0x2c53(%rip)        # 0x14003c070
14003941d:	48 63 f0             	movslq %eax,%rsi
140039420:	85 c0                	test   %eax,%eax
140039422:	74 96                	je     0x1400393ba
140039424:	ba 00 04 00 00       	mov    $0x400,%edx
140039429:	44 85 fa             	test   %r15d,%edx
14003942c:	74 46                	je     0x140039474
14003942e:	8b 45 58             	mov    0x58(%rbp),%eax
140039431:	85 c0                	test   %eax,%eax
140039433:	0f 84 48 01 00 00    	je     0x140039581
140039439:	3b f0                	cmp    %eax,%esi
14003943b:	0f 8f 40 01 00 00    	jg     0x140039581
140039441:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
140039446:	45 8b ce             	mov    %r14d,%r9d
140039449:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
14003944e:	4c 8b c3             	mov    %rbx,%r8
140039451:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
140039456:	41 8b d7             	mov    %r15d,%edx
140039459:	89 44 24 28          	mov    %eax,0x28(%rsp)
14003945d:	49 8b cd             	mov    %r13,%rcx
140039460:	48 8b 45 50          	mov    0x50(%rbp),%rax
140039464:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140039469:	ff 15 01 2c 00 00    	call   *0x2c01(%rip)        # 0x14003c070
14003946f:	e9 0d 01 00 00       	jmp    0x140039581
140039474:	48 8b ce             	mov    %rsi,%rcx
140039477:	48 03 c9             	add    %rcx,%rcx
14003947a:	48 8d 41 10          	lea    0x10(%rcx),%rax
14003947e:	48 3b c8             	cmp    %rax,%rcx
140039481:	48 1b c9             	sbb    %rcx,%rcx
140039484:	48 23 c8             	and    %rax,%rcx
140039487:	0f 84 f4 00 00 00    	je     0x140039581
14003948d:	48 3b ca             	cmp    %rdx,%rcx
140039490:	77 35                	ja     0x1400394c7
140039492:	48 8d 41 0f          	lea    0xf(%rcx),%rax
140039496:	48 3b c1             	cmp    %rcx,%rax
140039499:	77 0a                	ja     0x1400394a5
14003949b:	48 b8 f0 ff ff ff ff 	movabs $0xffffffffffffff0,%rax
1400394a2:	ff ff 0f
1400394a5:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
1400394a9:	e8 92 fe fc ff       	call   0x140009340
1400394ae:	48 2b e0             	sub    %rax,%rsp
1400394b1:	48 8d 7c 24 50       	lea    0x50(%rsp),%rdi
1400394b6:	48 85 ff             	test   %rdi,%rdi
1400394b9:	0f 84 c2 00 00 00    	je     0x140039581
1400394bf:	c7 07 cc cc 00 00    	movl   $0xcccc,(%rdi)
1400394c5:	eb 13                	jmp    0x1400394da
1400394c7:	e8 34 80 fc ff       	call   0x140001500
1400394cc:	48 8b f8             	mov    %rax,%rdi
1400394cf:	48 85 c0             	test   %rax,%rax
1400394d2:	74 0a                	je     0x1400394de
1400394d4:	c7 00 dd dd 00 00    	movl   $0xdddd,(%rax)
1400394da:	48 83 c7 10          	add    $0x10,%rdi
1400394de:	48 85 ff             	test   %rdi,%rdi
1400394e1:	0f 84 9a 00 00 00    	je     0x140039581
1400394e7:	48 83 64 24 40 00    	andq   $0x0,0x40(%rsp)
1400394ed:	45 8b ce             	mov    %r14d,%r9d
1400394f0:	48 83 64 24 38 00    	andq   $0x0,0x38(%rsp)
1400394f6:	4c 8b c3             	mov    %rbx,%r8
1400394f9:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
1400394ff:	41 8b d7             	mov    %r15d,%edx
140039502:	89 74 24 28          	mov    %esi,0x28(%rsp)
140039506:	49 8b cd             	mov    %r13,%rcx
140039509:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14003950e:	ff 15 5c 2b 00 00    	call   *0x2b5c(%rip)        # 0x14003c070
140039514:	33 c9                	xor    %ecx,%ecx
140039516:	85 c0                	test   %eax,%eax
140039518:	75 1a                	jne    0x140039534
14003951a:	48 8d 4f f0          	lea    -0x10(%rdi),%rcx
14003951e:	bf dd dd 00 00       	mov    $0xdddd,%edi
140039523:	39 39                	cmp    %edi,(%rcx)
140039525:	75 05                	jne    0x14003952c
140039527:	e8 b4 7f fc ff       	call   0x1400014e0
14003952c:	48 8d 4b f0          	lea    -0x10(%rbx),%rcx
140039530:	39 39                	cmp    %edi,(%rcx)
140039532:	eb 57                	jmp    0x14003958b
140039534:	8b 45 58             	mov    0x58(%rbp),%eax
140039537:	33 d2                	xor    %edx,%edx
140039539:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
14003953e:	44 8b ce             	mov    %esi,%r9d
140039541:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140039546:	4c 8b c7             	mov    %rdi,%r8
140039549:	85 c0                	test   %eax,%eax
14003954b:	75 0b                	jne    0x140039558
14003954d:	89 4c 24 28          	mov    %ecx,0x28(%rsp)
140039551:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140039556:	eb 0d                	jmp    0x140039565
140039558:	89 44 24 28          	mov    %eax,0x28(%rsp)
14003955c:	48 8b 45 50          	mov    0x50(%rbp),%rax
140039560:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140039565:	8b 4d 60             	mov    0x60(%rbp),%ecx
140039568:	ff 15 42 2b 00 00    	call   *0x2b42(%rip)        # 0x14003c0b0
14003956e:	48 8d 4f f0          	lea    -0x10(%rdi),%rcx
140039572:	8b f0                	mov    %eax,%esi
140039574:	81 39 dd dd 00 00    	cmpl   $0xdddd,(%rcx)
14003957a:	75 05                	jne    0x140039581
14003957c:	e8 5f 7f fc ff       	call   0x1400014e0
140039581:	48 8d 4b f0          	lea    -0x10(%rbx),%rcx
140039585:	81 39 dd dd 00 00    	cmpl   $0xdddd,(%rcx)
14003958b:	75 05                	jne    0x140039592
14003958d:	e8 4e 7f fc ff       	call   0x1400014e0
140039592:	8b c6                	mov    %esi,%eax
140039594:	e9 34 fe ff ff       	jmp    0x1400393cd
140039599:	cc                   	int3
14003959a:	cc                   	int3
14003959b:	cc                   	int3
14003959c:	48 83 ec 28          	sub    $0x28,%rsp
1400395a0:	48 83 3d e8 58 01 00 	cmpq   $0x0,0x158e8(%rip)        # 0x14004ee90
1400395a7:	00
1400395a8:	74 27                	je     0x1400395d1
1400395aa:	ff 15 e8 2d 00 00    	call   *0x2de8(%rip)        # 0x14003c398
1400395b0:	48 8b 0d d9 58 01 00 	mov    0x158d9(%rip),%rcx        # 0x14004ee90
1400395b7:	48 8d 15 a2 97 01 00 	lea    0x197a2(%rip),%rdx        # 0x140052d60
1400395be:	48 ff c9             	dec    %rcx
1400395c1:	48 89 0d c8 58 01 00 	mov    %rcx,0x158c8(%rip)        # 0x14004ee90
1400395c8:	48 89 04 ca          	mov    %rax,(%rdx,%rcx,8)
1400395cc:	48 83 c4 28          	add    $0x28,%rsp
1400395d0:	c3                   	ret
1400395d1:	e8 0a 72 fe ff       	call   0x1400207e0
1400395d6:	cc                   	int3
1400395d7:	cc                   	int3
1400395d8:	cc                   	int3
1400395d9:	cc                   	int3
1400395da:	cc                   	int3
1400395db:	cc                   	int3
1400395dc:	cc                   	int3
1400395dd:	cc                   	int3
1400395de:	cc                   	int3
1400395df:	cc                   	int3
1400395e0:	4c 63 41 3c          	movslq 0x3c(%rcx),%r8
1400395e4:	45 33 c9             	xor    %r9d,%r9d
1400395e7:	4c 03 c1             	add    %rcx,%r8
1400395ea:	4c 8b d2             	mov    %rdx,%r10
1400395ed:	41 0f b7 40 14       	movzwl 0x14(%r8),%eax
1400395f2:	45 0f b7 58 06       	movzwl 0x6(%r8),%r11d
1400395f7:	48 83 c0 18          	add    $0x18,%rax
1400395fb:	49 03 c0             	add    %r8,%rax
1400395fe:	45 85 db             	test   %r11d,%r11d
140039601:	74 1e                	je     0x140039621
140039603:	8b 50 0c             	mov    0xc(%rax),%edx
140039606:	4c 3b d2             	cmp    %rdx,%r10
140039609:	72 0a                	jb     0x140039615
14003960b:	8b 48 08             	mov    0x8(%rax),%ecx
14003960e:	03 ca                	add    %edx,%ecx
140039610:	4c 3b d1             	cmp    %rcx,%r10
140039613:	72 0e                	jb     0x140039623
140039615:	41 ff c1             	inc    %r9d
140039618:	48 83 c0 28          	add    $0x28,%rax
14003961c:	45 3b cb             	cmp    %r11d,%r9d
14003961f:	72 e2                	jb     0x140039603
140039621:	33 c0                	xor    %eax,%eax
140039623:	c3                   	ret
140039624:	cc                   	int3
140039625:	cc                   	int3
140039626:	cc                   	int3
140039627:	cc                   	int3
140039628:	cc                   	int3
140039629:	cc                   	int3
14003962a:	cc                   	int3
14003962b:	cc                   	int3
14003962c:	cc                   	int3
14003962d:	cc                   	int3
14003962e:	cc                   	int3
14003962f:	cc                   	int3
140039630:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140039635:	57                   	push   %rdi
140039636:	48 83 ec 20          	sub    $0x20,%rsp
14003963a:	48 8b d9             	mov    %rcx,%rbx
14003963d:	48 8d 3d bc 69 fc ff 	lea    -0x39644(%rip),%rdi        # 0x140000000
140039644:	48 8b cf             	mov    %rdi,%rcx
140039647:	e8 34 00 00 00       	call   0x140039680
14003964c:	85 c0                	test   %eax,%eax
14003964e:	74 22                	je     0x140039672
140039650:	48 2b df             	sub    %rdi,%rbx
140039653:	48 8b d3             	mov    %rbx,%rdx
140039656:	48 8b cf             	mov    %rdi,%rcx
140039659:	e8 82 ff ff ff       	call   0x1400395e0
14003965e:	48 85 c0             	test   %rax,%rax
140039661:	74 0f                	je     0x140039672
140039663:	8b 40 24             	mov    0x24(%rax),%eax
140039666:	c1 e8 1f             	shr    $0x1f,%eax
140039669:	f7 d0                	not    %eax
14003966b:	83 e0 01             	and    $0x1,%eax
14003966e:	eb 02                	jmp    0x140039672
140039670:	33 c0                	xor    %eax,%eax
140039672:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140039677:	48 83 c4 20          	add    $0x20,%rsp
14003967b:	5f                   	pop    %rdi
14003967c:	c3                   	ret
14003967d:	cc                   	int3
14003967e:	cc                   	int3
14003967f:	cc                   	int3
140039680:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
140039685:	66 39 01             	cmp    %ax,(%rcx)
140039688:	75 1e                	jne    0x1400396a8
14003968a:	48 63 51 3c          	movslq 0x3c(%rcx),%rdx
14003968e:	48 03 d1             	add    %rcx,%rdx
140039691:	81 3a 50 45 00 00    	cmpl   $0x4550,(%rdx)
140039697:	75 0f                	jne    0x1400396a8
140039699:	33 c0                	xor    %eax,%eax
14003969b:	b9 0b 02 00 00       	mov    $0x20b,%ecx
1400396a0:	66 39 4a 18          	cmp    %cx,0x18(%rdx)
1400396a4:	0f 94 c0             	sete   %al
1400396a7:	c3                   	ret
1400396a8:	33 c0                	xor    %eax,%eax
1400396aa:	c3                   	ret
1400396ab:	cc                   	int3
1400396ac:	48 8b c4             	mov    %rsp,%rax
1400396af:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400396b3:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400396b7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400396bb:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400396bf:	41 56                	push   %r14
1400396c1:	48 83 ec 20          	sub    $0x20,%rsp
1400396c5:	4d 8b 51 38          	mov    0x38(%r9),%r10
1400396c9:	48 8b f2             	mov    %rdx,%rsi
1400396cc:	4d 8b f0             	mov    %r8,%r14
1400396cf:	48 8b e9             	mov    %rcx,%rbp
1400396d2:	49 8b d1             	mov    %r9,%rdx
1400396d5:	48 8b ce             	mov    %rsi,%rcx
1400396d8:	49 8b f9             	mov    %r9,%rdi
1400396db:	41 8b 1a             	mov    (%r10),%ebx
1400396de:	48 c1 e3 04          	shl    $0x4,%rbx
1400396e2:	49 03 da             	add    %r10,%rbx
1400396e5:	4c 8d 43 04          	lea    0x4(%rbx),%r8
1400396e9:	e8 de fb fc ff       	call   0x1400092cc
1400396ee:	8b 45 04             	mov    0x4(%rbp),%eax
1400396f1:	24 66                	and    $0x66,%al
1400396f3:	f6 d8                	neg    %al
1400396f5:	b8 01 00 00 00       	mov    $0x1,%eax
1400396fa:	1b d2                	sbb    %edx,%edx
1400396fc:	f7 da                	neg    %edx
1400396fe:	03 d0                	add    %eax,%edx
140039700:	85 53 04             	test   %edx,0x4(%rbx)
140039703:	74 11                	je     0x140039716
140039705:	4c 8b cf             	mov    %rdi,%r9
140039708:	4d 8b c6             	mov    %r14,%r8
14003970b:	48 8b d6             	mov    %rsi,%rdx
14003970e:	48 8b cd             	mov    %rbp,%rcx
140039711:	e8 9a 18 fd ff       	call   0x14000afb0
140039716:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14003971b:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140039720:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140039725:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
14003972a:	48 83 c4 20          	add    $0x20,%rsp
14003972e:	41 5e                	pop    %r14
140039730:	c3                   	ret
140039731:	cc                   	int3
140039732:	cc                   	int3
140039733:	cc                   	int3
140039734:	48 8b c4             	mov    %rsp,%rax
140039737:	48 89 58 08          	mov    %rbx,0x8(%rax)
14003973b:	48 89 68 10          	mov    %rbp,0x10(%rax)
14003973f:	48 89 70 18          	mov    %rsi,0x18(%rax)
140039743:	48 89 78 20          	mov    %rdi,0x20(%rax)
140039747:	41 56                	push   %r14
140039749:	48 83 ec 20          	sub    $0x20,%rsp
14003974d:	49 8b 59 38          	mov    0x38(%r9),%rbx
140039751:	48 8b f2             	mov    %rdx,%rsi
140039754:	4d 8b f0             	mov    %r8,%r14
140039757:	48 8b e9             	mov    %rcx,%rbp
14003975a:	49 8b d1             	mov    %r9,%rdx
14003975d:	48 8b ce             	mov    %rsi,%rcx
140039760:	49 8b f9             	mov    %r9,%rdi
140039763:	4c 8d 43 04          	lea    0x4(%rbx),%r8
140039767:	e8 60 fb fc ff       	call   0x1400092cc
14003976c:	8b 45 04             	mov    0x4(%rbp),%eax
14003976f:	24 66                	and    $0x66,%al
140039771:	f6 d8                	neg    %al
140039773:	b8 01 00 00 00       	mov    $0x1,%eax
140039778:	45 1b c0             	sbb    %r8d,%r8d
14003977b:	41 f7 d8             	neg    %r8d
14003977e:	44 03 c0             	add    %eax,%r8d
140039781:	44 85 43 04          	test   %r8d,0x4(%rbx)
140039785:	74 11                	je     0x140039798
140039787:	4c 8b cf             	mov    %rdi,%r9
14003978a:	4d 8b c6             	mov    %r14,%r8
14003978d:	48 8b d6             	mov    %rsi,%rdx
140039790:	48 8b cd             	mov    %rbp,%rcx
140039793:	e8 80 13 fd ff       	call   0x14000ab18
140039798:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14003979d:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400397a2:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400397a7:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400397ac:	48 83 c4 20          	add    $0x20,%rsp
1400397b0:	41 5e                	pop    %r14
1400397b2:	c3                   	ret
1400397b3:	cc                   	int3
1400397b4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400397b9:	57                   	push   %rdi
1400397ba:	48 83 ec 20          	sub    $0x20,%rsp
1400397be:	49 8b f8             	mov    %r8,%rdi
1400397c1:	48 8b d9             	mov    %rcx,%rbx
1400397c4:	e8 e7 17 fd ff       	call   0x14000afb0
1400397c9:	f6 43 04 66          	testb  $0x66,0x4(%rbx)
1400397cd:	75 0d                	jne    0x1400397dc
1400397cf:	81 3b 63 73 6d e0    	cmpl   $0xe06d7363,(%rbx)
1400397d5:	75 05                	jne    0x1400397dc
1400397d7:	83 f8 01             	cmp    $0x1,%eax
1400397da:	74 0b                	je     0x1400397e7
1400397dc:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400397e1:	48 83 c4 20          	add    $0x20,%rsp
1400397e5:	5f                   	pop    %rdi
1400397e6:	c3                   	ret
1400397e7:	e8 cc 1b fd ff       	call   0x14000b3b8
1400397ec:	48 89 58 20          	mov    %rbx,0x20(%rax)
1400397f0:	e8 c3 1b fd ff       	call   0x14000b3b8
1400397f5:	48 89 78 28          	mov    %rdi,0x28(%rax)
1400397f9:	e8 b6 6f fe ff       	call   0x1400207b4
1400397fe:	cc                   	int3
1400397ff:	cc                   	int3
140039800:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140039805:	45 33 c9             	xor    %r9d,%r9d
140039808:	4c 8b c1             	mov    %rcx,%r8
14003980b:	84 d2                	test   %dl,%dl
14003980d:	75 43                	jne    0x140039852
14003980f:	48 8b d1             	mov    %rcx,%rdx
140039812:	41 83 e0 0f          	and    $0xf,%r8d
140039816:	48 83 e2 f0          	and    $0xfffffffffffffff0,%rdx
14003981a:	41 83 ca ff          	or     $0xffffffff,%r10d
14003981e:	0f 57 c0             	xorps  %xmm0,%xmm0
140039821:	41 8b c8             	mov    %r8d,%ecx
140039824:	41 d3 e2             	shl    %cl,%r10d
140039827:	66 0f 74 02          	pcmpeqb (%rdx),%xmm0
14003982b:	66 0f d7 c0          	pmovmskb %xmm0,%eax
14003982f:	41 23 c2             	and    %r10d,%eax
140039832:	75 13                	jne    0x140039847
140039834:	48 83 c2 10          	add    $0x10,%rdx
140039838:	0f 57 c0             	xorps  %xmm0,%xmm0
14003983b:	66 0f 74 02          	pcmpeqb (%rdx),%xmm0
14003983f:	66 0f d7 c0          	pmovmskb %xmm0,%eax
140039843:	85 c0                	test   %eax,%eax
140039845:	74 ed                	je     0x140039834
140039847:	0f bc c0             	bsf    %eax,%eax
14003984a:	48 03 c2             	add    %rdx,%rax
14003984d:	e9 a5 00 00 00       	jmp    0x1400398f7
140039852:	83 3d c7 49 01 00 02 	cmpl   $0x2,0x149c7(%rip)        # 0x14004e220
140039859:	0f 8d ae 00 00 00    	jge    0x14003990d
14003985f:	0f b6 c2             	movzbl %dl,%eax
140039862:	41 83 ca ff          	or     $0xffffffff,%r10d