5f0529:	e8 bd 16 ff ff       	call   0x5e1beb
5f052e:	50                   	push   %eax
5f052f:	e8 09 e5 ff ff       	call   0x5eea3d
5f0534:	83 c4 20             	add    $0x20,%esp
5f0537:	5d                   	pop    %ebp
5f0538:	c3                   	ret
5f0539:	33 c0                	xor    %eax,%eax
5f053b:	50                   	push   %eax
5f053c:	50                   	push   %eax
5f053d:	50                   	push   %eax
5f053e:	50                   	push   %eax
5f053f:	50                   	push   %eax
5f0540:	e8 c8 5c fe ff       	call   0x5d620d
5f0545:	cc                   	int3
5f0546:	8b ff                	mov    %edi,%edi
5f0548:	55                   	push   %ebp
5f0549:	8b ec                	mov    %esp,%ebp
5f054b:	83 ec 1c             	sub    $0x1c,%esp
5f054e:	53                   	push   %ebx
5f054f:	56                   	push   %esi
5f0550:	57                   	push   %edi
5f0551:	e8 67 70 ff ff       	call   0x5e75bd
5f0556:	8b d8                	mov    %eax,%ebx
5f0558:	89 5d f0             	mov    %ebx,-0x10(%ebp)
5f055b:	e8 63 70 ff ff       	call   0x5e75c3
5f0560:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f0563:	33 f6                	xor    %esi,%esi
5f0565:	8d 45 fc             	lea    -0x4(%ebp),%eax
5f0568:	89 75 e8             	mov    %esi,-0x18(%ebp)
5f056b:	50                   	push   %eax
5f056c:	89 75 fc             	mov    %esi,-0x4(%ebp)
5f056f:	89 75 f8             	mov    %esi,-0x8(%ebp)
5f0572:	e8 aa 70 ff ff       	call   0x5e7621
5f0577:	59                   	pop    %ecx
5f0578:	85 c0                	test   %eax,%eax
5f057a:	0f 85 4d 02 00 00    	jne    0x5f07cd
5f0580:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f0583:	50                   	push   %eax
5f0584:	e8 40 70 ff ff       	call   0x5e75c9
5f0589:	59                   	pop    %ecx
5f058a:	85 c0                	test   %eax,%eax
5f058c:	0f 85 3b 02 00 00    	jne    0x5f07cd
5f0592:	a1 b8 72 71 00       	mov    0x7172b8,%eax
5f0597:	8b 7d 08             	mov    0x8(%ebp),%edi
5f059a:	85 c0                	test   %eax,%eax
5f059c:	74 31                	je     0x5f05cf
5f059e:	8b cf                	mov    %edi,%ecx
5f05a0:	66 8b 11             	mov    (%ecx),%dx
5f05a3:	66 3b 10             	cmp    (%eax),%dx
5f05a6:	75 1e                	jne    0x5f05c6
5f05a8:	66 85 d2             	test   %dx,%dx
5f05ab:	74 15                	je     0x5f05c2
5f05ad:	66 8b 51 02          	mov    0x2(%ecx),%dx
5f05b1:	66 3b 50 02          	cmp    0x2(%eax),%dx
5f05b5:	75 0f                	jne    0x5f05c6
5f05b7:	83 c1 04             	add    $0x4,%ecx
5f05ba:	83 c0 04             	add    $0x4,%eax
5f05bd:	66 85 d2             	test   %dx,%dx
5f05c0:	75 de                	jne    0x5f05a0
5f05c2:	8b c6                	mov    %esi,%eax
5f05c4:	eb 05                	jmp    0x5f05cb
5f05c6:	1b c0                	sbb    %eax,%eax
5f05c8:	83 c8 01             	or     $0x1,%eax
5f05cb:	85 c0                	test   %eax,%eax
5f05cd:	74 31                	je     0x5f0600
5f05cf:	8b cf                	mov    %edi,%ecx
5f05d1:	8d 51 02             	lea    0x2(%ecx),%edx
5f05d4:	66 8b 01             	mov    (%ecx),%ax
5f05d7:	83 c1 02             	add    $0x2,%ecx
5f05da:	66 3b c6             	cmp    %si,%ax
5f05dd:	75 f5                	jne    0x5f05d4
5f05df:	2b ca                	sub    %edx,%ecx
5f05e1:	d1 f9                	sar    $1,%ecx
5f05e3:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
5f05ea:	50                   	push   %eax
5f05eb:	e8 6c ac ff ff       	call   0x5eb25c
5f05f0:	8b f0                	mov    %eax,%esi
5f05f2:	59                   	pop    %ecx
5f05f3:	85 f6                	test   %esi,%esi
5f05f5:	75 0e                	jne    0x5f0605
5f05f7:	33 c0                	xor    %eax,%eax
5f05f9:	50                   	push   %eax
5f05fa:	e8 23 ac ff ff       	call   0x5eb222
5f05ff:	59                   	pop    %ecx
5f0600:	5f                   	pop    %edi
5f0601:	5e                   	pop    %esi
5f0602:	5b                   	pop    %ebx
5f0603:	c9                   	leave
5f0604:	c3                   	ret
5f0605:	ff 35 b8 72 71 00    	push   0x7172b8
5f060b:	e8 12 ac ff ff       	call   0x5eb222
5f0610:	59                   	pop    %ecx
5f0611:	8b cf                	mov    %edi,%ecx
5f0613:	89 35 b8 72 71 00    	mov    %esi,0x7172b8
5f0619:	8d 51 02             	lea    0x2(%ecx),%edx
5f061c:	66 8b 01             	mov    (%ecx),%ax
5f061f:	83 c1 02             	add    $0x2,%ecx
5f0622:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
5f0626:	75 f4                	jne    0x5f061c
5f0628:	2b ca                	sub    %edx,%ecx
5f062a:	d1 f9                	sar    $1,%ecx
5f062c:	57                   	push   %edi
5f062d:	8d 41 01             	lea    0x1(%ecx),%eax
5f0630:	50                   	push   %eax
5f0631:	56                   	push   %esi
5f0632:	e8 bd bf ff ff       	call   0x5ec5f4
5f0637:	83 c4 0c             	add    $0xc,%esp
5f063a:	85 c0                	test   %eax,%eax
5f063c:	0f 85 89 01 00 00    	jne    0x5f07cb
5f0642:	8b 75 ec             	mov    -0x14(%ebp),%esi
5f0645:	68 80 00 00 00       	push   $0x80
5f064a:	50                   	push   %eax
5f064b:	ff 36                	push   (%esi)
5f064d:	e8 1e 26 fe ff       	call   0x5d2c70
5f0652:	68 80 00 00 00       	push   $0x80
5f0657:	33 c0                	xor    %eax,%eax
5f0659:	50                   	push   %eax
5f065a:	ff 76 04             	push   0x4(%esi)
5f065d:	e8 0e 26 fe ff       	call   0x5d2c70
5f0662:	6a 40                	push   $0x40
5f0664:	33 c0                	xor    %eax,%eax
5f0666:	50                   	push   %eax
5f0667:	ff 33                	push   (%ebx)
5f0669:	e8 02 26 fe ff       	call   0x5d2c70
5f066e:	6a 40                	push   $0x40
5f0670:	33 c0                	xor    %eax,%eax
5f0672:	50                   	push   %eax
5f0673:	ff 73 04             	push   0x4(%ebx)
5f0676:	e8 f5 25 fe ff       	call   0x5d2c70
5f067b:	6a 03                	push   $0x3
5f067d:	ff 33                	push   (%ebx)
5f067f:	ff 36                	push   (%esi)
5f0681:	57                   	push   %edi
5f0682:	e8 78 fe ff ff       	call   0x5f04ff
5f0687:	83 c4 40             	add    $0x40,%esp
5f068a:	33 c9                	xor    %ecx,%ecx
5f068c:	6a 03                	push   $0x3
5f068e:	58                   	pop    %eax
5f068f:	66 39 0f             	cmp    %cx,(%edi)
5f0692:	74 03                	je     0x5f0697
5f0694:	83 c7 02             	add    $0x2,%edi
5f0697:	83 e8 01             	sub    $0x1,%eax
5f069a:	75 f3                	jne    0x5f068f
5f069c:	0f b7 07             	movzwl (%edi),%eax
5f069f:	8b c8                	mov    %eax,%ecx
5f06a1:	6a 2d                	push   $0x2d
5f06a3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f06a6:	59                   	pop    %ecx
5f06a7:	66 3b c1             	cmp    %cx,%ax
5f06aa:	75 03                	jne    0x5f06af
5f06ac:	83 c7 02             	add    $0x2,%edi
5f06af:	6a 0a                	push   $0xa
5f06b1:	8d 45 f4             	lea    -0xc(%ebp),%eax
5f06b4:	50                   	push   %eax
5f06b5:	57                   	push   %edi
5f06b6:	e8 7d 09 ff ff       	call   0x5e1038
5f06bb:	83 c4 0c             	add    $0xc,%esp
5f06be:	69 f0 10 0e 00 00    	imul   $0xe10,%eax,%esi
5f06c4:	89 75 fc             	mov    %esi,-0x4(%ebp)
5f06c7:	0f b7 0f             	movzwl (%edi),%ecx
5f06ca:	83 f9 2b             	cmp    $0x2b,%ecx
5f06cd:	74 09                	je     0x5f06d8
5f06cf:	8d 41 d0             	lea    -0x30(%ecx),%eax
5f06d2:	66 83 f8 09          	cmp    $0x9,%ax
5f06d6:	77 05                	ja     0x5f06dd
5f06d8:	83 c7 02             	add    $0x2,%edi
5f06db:	eb ea                	jmp    0x5f06c7
5f06dd:	6a 3a                	push   $0x3a
5f06df:	58                   	pop    %eax
5f06e0:	66 3b c8             	cmp    %ax,%cx
5f06e3:	0f 85 94 00 00 00    	jne    0x5f077d
5f06e9:	6a 0a                	push   $0xa
5f06eb:	8d 45 f4             	lea    -0xc(%ebp),%eax
5f06ee:	83 c7 02             	add    $0x2,%edi
5f06f1:	50                   	push   %eax
5f06f2:	57                   	push   %edi
5f06f3:	e8 40 09 ff ff       	call   0x5e1038
5f06f8:	8b 75 fc             	mov    -0x4(%ebp),%esi
5f06fb:	83 c4 0c             	add    $0xc,%esp
5f06fe:	6b c0 3c             	imul   $0x3c,%eax,%eax
5f0701:	6a 30                	push   $0x30
5f0703:	59                   	pop    %ecx
5f0704:	03 f0                	add    %eax,%esi
5f0706:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5f0709:	0f b7 07             	movzwl (%edi),%eax
5f070c:	89 75 fc             	mov    %esi,-0x4(%ebp)
5f070f:	8b d0                	mov    %eax,%edx
5f0711:	66 3b c1             	cmp    %cx,%ax
5f0714:	72 20                	jb     0x5f0736
5f0716:	6a 39                	push   $0x39
5f0718:	8b c8                	mov    %eax,%ecx
5f071a:	5b                   	pop    %ebx
5f071b:	0f b7 d1             	movzwl %cx,%edx
5f071e:	66 3b cb             	cmp    %bx,%cx
5f0721:	77 10                	ja     0x5f0733
5f0723:	83 c7 02             	add    $0x2,%edi
5f0726:	0f b7 07             	movzwl (%edi),%eax
5f0729:	8b c8                	mov    %eax,%ecx
5f072b:	8b d0                	mov    %eax,%edx
5f072d:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
5f0731:	73 e8                	jae    0x5f071b
5f0733:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5f0736:	6a 3a                	push   $0x3a
5f0738:	58                   	pop    %eax
5f0739:	66 3b d0             	cmp    %ax,%dx
5f073c:	75 3f                	jne    0x5f077d
5f073e:	6a 0a                	push   $0xa
5f0740:	8d 45 f4             	lea    -0xc(%ebp),%eax
5f0743:	83 c7 02             	add    $0x2,%edi
5f0746:	50                   	push   %eax
5f0747:	57                   	push   %edi
5f0748:	e8 eb 08 ff ff       	call   0x5e1038
5f074d:	8b 75 fc             	mov    -0x4(%ebp),%esi
5f0750:	83 c4 0c             	add    $0xc,%esp
5f0753:	03 f0                	add    %eax,%esi
5f0755:	0f b7 07             	movzwl (%edi),%eax
5f0758:	89 75 fc             	mov    %esi,-0x4(%ebp)
5f075b:	6a 30                	push   $0x30
5f075d:	5a                   	pop    %edx
5f075e:	66 3b c2             	cmp    %dx,%ax
5f0761:	72 1a                	jb     0x5f077d
5f0763:	6a 39                	push   $0x39
5f0765:	8b c8                	mov    %eax,%ecx
5f0767:	5b                   	pop    %ebx
5f0768:	66 3b cb             	cmp    %bx,%cx
5f076b:	77 0d                	ja     0x5f077a
5f076d:	83 c7 02             	add    $0x2,%edi
5f0770:	0f b7 07             	movzwl (%edi),%eax
5f0773:	8b c8                	mov    %eax,%ecx
5f0775:	66 3b c2             	cmp    %dx,%ax
5f0778:	73 ee                	jae    0x5f0768
5f077a:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5f077d:	6a 2d                	push   $0x2d
5f077f:	58                   	pop    %eax
5f0780:	66 39 45 e4          	cmp    %ax,-0x1c(%ebp)
5f0784:	75 05                	jne    0x5f078b
5f0786:	f7 de                	neg    %esi
5f0788:	89 75 fc             	mov    %esi,-0x4(%ebp)
5f078b:	0f b7 0f             	movzwl (%edi),%ecx
5f078e:	33 c0                	xor    %eax,%eax
5f0790:	66 85 c9             	test   %cx,%cx
5f0793:	0f 95 c0             	setne  %al
5f0796:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f0799:	66 85 c9             	test   %cx,%cx
5f079c:	74 17                	je     0x5f07b5
5f079e:	8b 45 ec             	mov    -0x14(%ebp),%eax
5f07a1:	6a 03                	push   $0x3
5f07a3:	ff 73 04             	push   0x4(%ebx)
5f07a6:	ff 70 04             	push   0x4(%eax)
5f07a9:	57                   	push   %edi
5f07aa:	e8 50 fd ff ff       	call   0x5f04ff
5f07af:	8b 75 fc             	mov    -0x4(%ebp),%esi
5f07b2:	83 c4 10             	add    $0x10,%esp
5f07b5:	e8 fd 6d ff ff       	call   0x5e75b7
5f07ba:	89 30                	mov    %esi,(%eax)
5f07bc:	8b 75 f8             	mov    -0x8(%ebp),%esi
5f07bf:	e8 e7 6d ff ff       	call   0x5e75ab
5f07c4:	89 30                	mov    %esi,(%eax)
5f07c6:	e9 2c fe ff ff       	jmp    0x5f05f7
5f07cb:	33 f6                	xor    %esi,%esi
5f07cd:	56                   	push   %esi
5f07ce:	56                   	push   %esi
5f07cf:	56                   	push   %esi
5f07d0:	56                   	push   %esi
5f07d1:	56                   	push   %esi
5f07d2:	e8 36 5a fe ff       	call   0x5d620d
5f07d7:	cc                   	int3
5f07d8:	8b ff                	mov    %edi,%edi
5f07da:	55                   	push   %ebp
5f07db:	8b ec                	mov    %esp,%ebp
5f07dd:	83 ec 0c             	sub    $0xc,%esp
5f07e0:	53                   	push   %ebx
5f07e1:	56                   	push   %esi
5f07e2:	57                   	push   %edi
5f07e3:	e8 d5 6d ff ff       	call   0x5e75bd
5f07e8:	8b f8                	mov    %eax,%edi
5f07ea:	e8 d4 6d ff ff       	call   0x5e75c3
5f07ef:	8b d8                	mov    %eax,%ebx
5f07f1:	33 f6                	xor    %esi,%esi
5f07f3:	8d 45 fc             	lea    -0x4(%ebp),%eax
5f07f6:	89 75 fc             	mov    %esi,-0x4(%ebp)
5f07f9:	50                   	push   %eax
5f07fa:	89 75 f8             	mov    %esi,-0x8(%ebp)
5f07fd:	89 75 f4             	mov    %esi,-0xc(%ebp)
5f0800:	e8 1c 6e ff ff       	call   0x5e7621
5f0805:	59                   	pop    %ecx
5f0806:	85 c0                	test   %eax,%eax
5f0808:	0f 85 19 01 00 00    	jne    0x5f0927
5f080e:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f0811:	50                   	push   %eax
5f0812:	e8 b2 6d ff ff       	call   0x5e75c9
5f0817:	59                   	pop    %ecx
5f0818:	85 c0                	test   %eax,%eax
5f081a:	0f 85 07 01 00 00    	jne    0x5f0927
5f0820:	8d 45 f4             	lea    -0xc(%ebp),%eax
5f0823:	50                   	push   %eax
5f0824:	e8 cc 6d ff ff       	call   0x5e75f5
5f0829:	59                   	pop    %ecx
5f082a:	85 c0                	test   %eax,%eax
5f082c:	0f 85 f5 00 00 00    	jne    0x5f0927
5f0832:	ff 35 b8 72 71 00    	push   0x7172b8
5f0838:	e8 e5 a9 ff ff       	call   0x5eb222
5f083d:	89 35 b8 72 71 00    	mov    %esi,0x7172b8
5f0843:	c7 04 24 c8 72 71 00 	movl   $0x7172c8,(%esp)
5f084a:	ff 15 bc 20 60 00    	call   *0x6020bc
5f0850:	83 f8 ff             	cmp    $0xffffffff,%eax
5f0853:	0f 84 ab 00 00 00    	je     0x5f0904
5f0859:	6b 15 c8 72 71 00 3c 	imul   $0x3c,0x7172c8,%edx
5f0860:	33 c9                	xor    %ecx,%ecx
5f0862:	41                   	inc    %ecx
5f0863:	66 39 35 0e 73 71 00 	cmp    %si,0x71730e
5f086a:	8b 35 1c 73 71 00    	mov    0x71731c,%esi
5f0870:	89 0d c0 72 71 00    	mov    %ecx,0x7172c0
5f0876:	89 55 fc             	mov    %edx,-0x4(%ebp)
5f0879:	74 08                	je     0x5f0883
5f087b:	6b c6 3c             	imul   $0x3c,%esi,%eax
5f087e:	03 c2                	add    %edx,%eax
5f0880:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f0883:	66 83 3d 62 73 71 00 	cmpw   $0x0,0x717362
5f088a:	00
5f088b:	74 10                	je     0x5f089d
5f088d:	a1 70 73 71 00       	mov    0x717370,%eax
5f0892:	85 c0                	test   %eax,%eax
5f0894:	74 07                	je     0x5f089d
5f0896:	2b c6                	sub    %esi,%eax
5f0898:	6b c0 3c             	imul   $0x3c,%eax,%eax
5f089b:	eb 04                	jmp    0x5f08a1
5f089d:	33 c0                	xor    %eax,%eax
5f089f:	33 c9                	xor    %ecx,%ecx
5f08a1:	be 80 00 00 00       	mov    $0x80,%esi
5f08a6:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f08a9:	56                   	push   %esi
5f08aa:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f08ad:	6a 00                	push   $0x0
5f08af:	ff 33                	push   (%ebx)
5f08b1:	e8 ba 23 fe ff       	call   0x5d2c70
5f08b6:	56                   	push   %esi
5f08b7:	33 f6                	xor    %esi,%esi
5f08b9:	56                   	push   %esi
5f08ba:	ff 73 04             	push   0x4(%ebx)
5f08bd:	e8 ae 23 fe ff       	call   0x5d2c70
5f08c2:	6a 40                	push   $0x40
5f08c4:	56                   	push   %esi
5f08c5:	ff 37                	push   (%edi)
5f08c7:	e8 a4 23 fe ff       	call   0x5d2c70
5f08cc:	6a 40                	push   $0x40
5f08ce:	56                   	push   %esi
5f08cf:	ff 77 04             	push   0x4(%edi)
5f08d2:	e8 99 23 fe ff       	call   0x5d2c70
5f08d7:	e8 69 7d ff ff       	call   0x5e8645