6176ff:	8b 4d 0c             	mov    0xc(%ebp),%ecx
617702:	56                   	push   %esi
617703:	8b 75 08             	mov    0x8(%ebp),%esi
617706:	57                   	push   %edi
617707:	8b 7d 14             	mov    0x14(%ebp),%edi
61770a:	8d 41 ff             	lea    -0x1(%ecx),%eax
61770d:	eb 1c                	jmp    0x61772b
61770f:	8b 44 d6 04          	mov    0x4(%esi,%edx,8),%eax
617713:	3b 47 04             	cmp    0x4(%edi),%eax
617716:	73 1f                	jae    0x617737
617718:	8b 04 d6             	mov    (%esi,%edx,8),%eax
61771b:	89 04 ce             	mov    %eax,(%esi,%ecx,8)
61771e:	8b 44 d6 04          	mov    0x4(%esi,%edx,8),%eax
617722:	89 44 ce 04          	mov    %eax,0x4(%esi,%ecx,8)
617726:	8b ca                	mov    %edx,%ecx
617728:	8d 42 ff             	lea    -0x1(%edx),%eax
61772b:	99                   	cltd
61772c:	2b c2                	sub    %edx,%eax
61772e:	8b d0                	mov    %eax,%edx
617730:	d1 fa                	sar    $1,%edx
617732:	39 4d 10             	cmp    %ecx,0x10(%ebp)
617735:	7c d8                	jl     0x61770f
617737:	8b 07                	mov    (%edi),%eax
617739:	89 04 ce             	mov    %eax,(%esi,%ecx,8)
61773c:	8b 47 04             	mov    0x4(%edi),%eax
61773f:	5f                   	pop    %edi
617740:	89 44 ce 04          	mov    %eax,0x4(%esi,%ecx,8)
617744:	5e                   	pop    %esi
617745:	5d                   	pop    %ebp
617746:	c3                   	ret
617747:	55                   	push   %ebp
617748:	8b ec                	mov    %esp,%ebp
61774a:	56                   	push   %esi
61774b:	57                   	push   %edi
61774c:	8b 7d 0c             	mov    0xc(%ebp),%edi
61774f:	8b f7                	mov    %edi,%esi
617751:	2b 75 08             	sub    0x8(%ebp),%esi
617754:	eb 15                	jmp    0x61776b
617756:	ff 75 10             	push   0x10(%ebp)
617759:	57                   	push   %edi
61775a:	ff 75 08             	push   0x8(%ebp)
61775d:	e8 5f ff ff ff       	call   0x6176c1
617762:	83 c4 0c             	add    $0xc,%esp
617765:	83 ef 08             	sub    $0x8,%edi
617768:	83 ee 08             	sub    $0x8,%esi
61776b:	8b c6                	mov    %esi,%eax
61776d:	83 e0 f8             	and    $0xfffffff8,%eax
617770:	83 f8 10             	cmp    $0x10,%eax
617773:	7d e1                	jge    0x617756
617775:	5f                   	pop    %edi
617776:	5e                   	pop    %esi
617777:	5d                   	pop    %ebp
617778:	c3                   	ret
617779:	55                   	push   %ebp
61777a:	8b ec                	mov    %esp,%ebp
61777c:	51                   	push   %ecx
61777d:	51                   	push   %ecx
61777e:	53                   	push   %ebx
61777f:	8b 5d 14             	mov    0x14(%ebp),%ebx
617782:	56                   	push   %esi
617783:	8b 75 0c             	mov    0xc(%ebp),%esi
617786:	8b ce                	mov    %esi,%ecx
617788:	57                   	push   %edi
617789:	8b 7d 08             	mov    0x8(%ebp),%edi
61778c:	2b cf                	sub    %edi,%ecx
61778e:	c1 f9 03             	sar    $0x3,%ecx
617791:	83 f9 20             	cmp    $0x20,%ecx
617794:	0f 8e 86 00 00 00    	jle    0x617820
61779a:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
61779e:	7e 66                	jle    0x617806
6177a0:	53                   	push   %ebx
6177a1:	56                   	push   %esi
6177a2:	8d 45 f8             	lea    -0x8(%ebp),%eax
6177a5:	57                   	push   %edi
6177a6:	50                   	push   %eax
6177a7:	e8 81 fc ff ff       	call   0x61742d
6177ac:	8b 45 10             	mov    0x10(%ebp),%eax
6177af:	83 c4 10             	add    $0x10,%esp
6177b2:	99                   	cltd
6177b3:	2b c2                	sub    %edx,%eax
6177b5:	8b c8                	mov    %eax,%ecx
6177b7:	d1 f9                	sar    $1,%ecx
6177b9:	8b c1                	mov    %ecx,%eax
6177bb:	99                   	cltd
6177bc:	2b c2                	sub    %edx,%eax
6177be:	d1 f8                	sar    $1,%eax
6177c0:	03 c8                	add    %eax,%ecx
6177c2:	8b 45 f8             	mov    -0x8(%ebp),%eax
6177c5:	89 4d 10             	mov    %ecx,0x10(%ebp)
6177c8:	2b c7                	sub    %edi,%eax
6177ca:	8b ce                	mov    %esi,%ecx
6177cc:	83 e0 f8             	and    $0xfffffff8,%eax
6177cf:	2b 4d fc             	sub    -0x4(%ebp),%ecx
6177d2:	83 e1 f8             	and    $0xfffffff8,%ecx
6177d5:	53                   	push   %ebx
6177d6:	ff 75 10             	push   0x10(%ebp)
6177d9:	3b c1                	cmp    %ecx,%eax
6177db:	7d 0e                	jge    0x6177eb
6177dd:	ff 75 f8             	push   -0x8(%ebp)
6177e0:	57                   	push   %edi
6177e1:	e8 93 ff ff ff       	call   0x617779
6177e6:	8b 7d fc             	mov    -0x4(%ebp),%edi
6177e9:	eb 0c                	jmp    0x6177f7
6177eb:	56                   	push   %esi
6177ec:	ff 75 fc             	push   -0x4(%ebp)
6177ef:	e8 85 ff ff ff       	call   0x617779
6177f4:	8b 75 f8             	mov    -0x8(%ebp),%esi
6177f7:	8b ce                	mov    %esi,%ecx
6177f9:	83 c4 10             	add    $0x10,%esp
6177fc:	2b cf                	sub    %edi,%ecx
6177fe:	c1 f9 03             	sar    $0x3,%ecx
617801:	83 f9 20             	cmp    $0x20,%ecx
617804:	7f 94                	jg     0x61779a
617806:	83 f9 20             	cmp    $0x20,%ecx
617809:	7e 15                	jle    0x617820
61780b:	53                   	push   %ebx
61780c:	56                   	push   %esi
61780d:	57                   	push   %edi
61780e:	e8 42 fb ff ff       	call   0x617355
617813:	53                   	push   %ebx
617814:	56                   	push   %esi
617815:	57                   	push   %edi
617816:	e8 2c ff ff ff       	call   0x617747
61781b:	83 c4 18             	add    $0x18,%esp
61781e:	eb 10                	jmp    0x617830
617820:	83 f9 02             	cmp    $0x2,%ecx
617823:	7c 0b                	jl     0x617830
617825:	53                   	push   %ebx
617826:	56                   	push   %esi
617827:	57                   	push   %edi
617828:	e8 ba fa ff ff       	call   0x6172e7
61782d:	83 c4 0c             	add    $0xc,%esp
617830:	5f                   	pop    %edi
617831:	5e                   	pop    %esi
617832:	5b                   	pop    %ebx
617833:	8b e5                	mov    %ebp,%esp
617835:	5d                   	pop    %ebp
617836:	c3                   	ret
617837:	55                   	push   %ebp
617838:	8b ec                	mov    %esp,%ebp
61783a:	8b 45 0c             	mov    0xc(%ebp),%eax
61783d:	ff 75 10             	push   0x10(%ebp)
617840:	2b 45 08             	sub    0x8(%ebp),%eax
617843:	c1 f8 03             	sar    $0x3,%eax
617846:	50                   	push   %eax
617847:	ff 75 0c             	push   0xc(%ebp)
61784a:	ff 75 08             	push   0x8(%ebp)
61784d:	e8 27 ff ff ff       	call   0x617779
617852:	83 c4 10             	add    $0x10,%esp
617855:	5d                   	pop    %ebp
617856:	c3                   	ret
617857:	55                   	push   %ebp
617858:	8b ec                	mov    %esp,%ebp
61785a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
61785d:	56                   	push   %esi
61785e:	8b 75 08             	mov    0x8(%ebp),%esi
617861:	2b ce                	sub    %esi,%ecx
617863:	c1 f9 03             	sar    $0x3,%ecx
617866:	85 c9                	test   %ecx,%ecx
617868:	7e 2a                	jle    0x617894
61786a:	8b 45 10             	mov    0x10(%ebp),%eax
61786d:	57                   	push   %edi
61786e:	8b 38                	mov    (%eax),%edi
617870:	8b c1                	mov    %ecx,%eax
617872:	99                   	cltd
617873:	2b c2                	sub    %edx,%eax
617875:	8b d0                	mov    %eax,%edx
617877:	d1 fa                	sar    $1,%edx
617879:	8d 04 d6             	lea    (%esi,%edx,8),%eax
61787c:	3b 78 04             	cmp    0x4(%eax),%edi
61787f:	72 0c                	jb     0x61788d
617881:	8d 70 08             	lea    0x8(%eax),%esi
617884:	83 c8 ff             	or     $0xffffffff,%eax
617887:	2b c2                	sub    %edx,%eax
617889:	03 c8                	add    %eax,%ecx
61788b:	eb 02                	jmp    0x61788f
61788d:	8b ca                	mov    %edx,%ecx
61788f:	85 c9                	test   %ecx,%ecx
617891:	7f dd                	jg     0x617870
617893:	5f                   	pop    %edi
617894:	8b c6                	mov    %esi,%eax
617896:	5e                   	pop    %esi
617897:	5d                   	pop    %ebp
617898:	c3                   	ret
617899:	55                   	push   %ebp
61789a:	8b ec                	mov    %esp,%ebp
61789c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
61789f:	56                   	push   %esi
6178a0:	8b 75 08             	mov    0x8(%ebp),%esi
6178a3:	2b ce                	sub    %esi,%ecx
6178a5:	c1 f9 02             	sar    $0x2,%ecx
6178a8:	85 c9                	test   %ecx,%ecx
6178aa:	7e 29                	jle    0x6178d5
6178ac:	8b 45 10             	mov    0x10(%ebp),%eax
6178af:	57                   	push   %edi
6178b0:	8b 38                	mov    (%eax),%edi
6178b2:	8b c1                	mov    %ecx,%eax
6178b4:	99                   	cltd
6178b5:	2b c2                	sub    %edx,%eax
6178b7:	8b d0                	mov    %eax,%edx
6178b9:	d1 fa                	sar    $1,%edx
6178bb:	8d 04 96             	lea    (%esi,%edx,4),%eax
6178be:	3b 38                	cmp    (%eax),%edi
6178c0:	72 0c                	jb     0x6178ce
6178c2:	8d 70 04             	lea    0x4(%eax),%esi
6178c5:	83 c8 ff             	or     $0xffffffff,%eax
6178c8:	2b c2                	sub    %edx,%eax
6178ca:	03 c8                	add    %eax,%ecx
6178cc:	eb 02                	jmp    0x6178d0
6178ce:	8b ca                	mov    %edx,%ecx
6178d0:	85 c9                	test   %ecx,%ecx
6178d2:	7f de                	jg     0x6178b2
6178d4:	5f                   	pop    %edi
6178d5:	8b c6                	mov    %esi,%eax
6178d7:	5e                   	pop    %esi
6178d8:	5d                   	pop    %ebp
6178d9:	c3                   	ret
6178da:	55                   	push   %ebp
6178db:	8b ec                	mov    %esp,%ebp
6178dd:	51                   	push   %ecx
6178de:	8d 45 14             	lea    0x14(%ebp),%eax
6178e1:	50                   	push   %eax
6178e2:	ff 75 10             	push   0x10(%ebp)
6178e5:	8d 45 fc             	lea    -0x4(%ebp),%eax
6178e8:	ff 75 0c             	push   0xc(%ebp)
6178eb:	50                   	push   %eax
6178ec:	e8 35 f9 ff ff       	call   0x617226
6178f1:	83 c4 10             	add    $0x10,%esp
6178f4:	8b 08                	mov    (%eax),%ecx
6178f6:	8b 45 08             	mov    0x8(%ebp),%eax
6178f9:	89 08                	mov    %ecx,(%eax)
6178fb:	8b e5                	mov    %ebp,%esp
6178fd:	5d                   	pop    %ebp
6178fe:	c3                   	ret
6178ff:	55                   	push   %ebp
617900:	8b ec                	mov    %esp,%ebp
617902:	51                   	push   %ecx
617903:	56                   	push   %esi
617904:	8b 75 08             	mov    0x8(%ebp),%esi
617907:	57                   	push   %edi
617908:	8b f9                	mov    %ecx,%edi
61790a:	56                   	push   %esi
61790b:	89 7d fc             	mov    %edi,-0x4(%ebp)
61790e:	e8 df bd ff ff       	call   0x6136f2
617913:	c7 07 98 bc 6d 00    	movl   $0x6dbc98,(%edi)
617919:	8a 46 10             	mov    0x10(%esi),%al
61791c:	88 47 10             	mov    %al,0x10(%edi)
61791f:	8b c7                	mov    %edi,%eax
617921:	5f                   	pop    %edi
617922:	5e                   	pop    %esi
617923:	8b e5                	mov    %ebp,%esp
617925:	5d                   	pop    %ebp
617926:	c2 04 00             	ret    $0x4
617929:	55                   	push   %ebp
61792a:	8b ec                	mov    %esp,%ebp
61792c:	8b 45 08             	mov    0x8(%ebp),%eax
61792f:	56                   	push   %esi
617930:	8b f1                	mov    %ecx,%esi
617932:	c6 46 41 00          	movb   $0x0,0x41(%esi)
617936:	89 46 48             	mov    %eax,0x48(%esi)
617939:	83 f8 10             	cmp    $0x10,%eax
61793c:	77 0e                	ja     0x61794c
61793e:	80 7e 41 00          	cmpb   $0x0,0x41(%esi)
617942:	75 08                	jne    0x61794c
617944:	c6 46 41 01          	movb   $0x1,0x41(%esi)
617948:	8b c6                	mov    %esi,%eax
61794a:	eb 0b                	jmp    0x617957
61794c:	6a 00                	push   $0x0
61794e:	50                   	push   %eax
61794f:	8d 4e 40             	lea    0x40(%esi),%ecx
617952:	e8 08 22 00 00       	call   0x619b5f
617957:	89 46 4c             	mov    %eax,0x4c(%esi)
61795a:	8b c6                	mov    %esi,%eax
61795c:	5e                   	pop    %esi
61795d:	5d                   	pop    %ebp
61795e:	c2 04 00             	ret    $0x4
617961:	55                   	push   %ebp
617962:	8b ec                	mov    %esp,%ebp
617964:	8b 45 08             	mov    0x8(%ebp),%eax
617967:	56                   	push   %esi
617968:	8b f1                	mov    %ecx,%esi
61796a:	6a 00                	push   $0x0
61796c:	50                   	push   %eax
61796d:	c6 86 79 04 00 00 00 	movb   $0x0,0x479(%esi)
617974:	89 86 80 04 00 00    	mov    %eax,0x480(%esi)
61797a:	e8 2e 22 00 00       	call   0x619bad
61797f:	89 86 84 04 00 00    	mov    %eax,0x484(%esi)
617985:	8b c6                	mov    %esi,%eax
617987:	5e                   	pop    %esi
617988:	5d                   	pop    %ebp
617989:	c2 04 00             	ret    $0x4
61798c:	55                   	push   %ebp
61798d:	8b ec                	mov    %esp,%ebp
61798f:	8b 45 08             	mov    0x8(%ebp),%eax
617992:	33 d2                	xor    %edx,%edx
617994:	88 51 4d             	mov    %dl,0x4d(%ecx)
617997:	89 41 50             	mov    %eax,0x50(%ecx)
61799a:	83 f8 13             	cmp    $0x13,%eax
61799d:	77 0a                	ja     0x6179a9
61799f:	3a d2                	cmp    %dl,%dl
6179a1:	75 06                	jne    0x6179a9
6179a3:	c6 41 4d 01          	movb   $0x1,0x4d(%ecx)
6179a7:	8b d1                	mov    %ecx,%edx
6179a9:	89 51 54             	mov    %edx,0x54(%ecx)
6179ac:	8b c1                	mov    %ecx,%eax
6179ae:	5d                   	pop    %ebp
6179af:	c2 04 00             	ret    $0x4
6179b2:	55                   	push   %ebp
6179b3:	8b ec                	mov    %esp,%ebp
6179b5:	8b 45 08             	mov    0x8(%ebp),%eax
6179b8:	56                   	push   %esi
6179b9:	8b f1                	mov    %ecx,%esi
6179bb:	6a 00                	push   $0x0
6179bd:	50                   	push   %eax
6179be:	c6 86 f1 04 00 00 00 	movb   $0x0,0x4f1(%esi)
6179c5:	89 86 f8 04 00 00    	mov    %eax,0x4f8(%esi)
6179cb:	e8 03 22 00 00       	call   0x619bd3
6179d0:	89 86 fc 04 00 00    	mov    %eax,0x4fc(%esi)
6179d6:	8b c6                	mov    %esi,%eax
6179d8:	5e                   	pop    %esi
6179d9:	5d                   	pop    %ebp
6179da:	c2 04 00             	ret    $0x4
6179dd:	55                   	push   %ebp
6179de:	8b ec                	mov    %esp,%ebp
6179e0:	8b 45 08             	mov    0x8(%ebp),%eax
6179e3:	33 d2                	xor    %edx,%edx
6179e5:	88 51 79             	mov    %dl,0x79(%ecx)
6179e8:	89 81 80 00 00 00    	mov    %eax,0x80(%ecx)
6179ee:	83 f8 1e             	cmp    $0x1e,%eax
6179f1:	77 0a                	ja     0x6179fd
6179f3:	3a d2                	cmp    %dl,%dl
6179f5:	75 06                	jne    0x6179fd
6179f7:	c6 41 79 01          	movb   $0x1,0x79(%ecx)
6179fb:	8b d1                	mov    %ecx,%edx
6179fd:	89 91 84 00 00 00    	mov    %edx,0x84(%ecx)
617a03:	8b c1                	mov    %ecx,%eax
617a05:	5d                   	pop    %ebp
617a06:	c2 04 00             	ret    $0x4
617a09:	55                   	push   %ebp
617a0a:	8b ec                	mov    %esp,%ebp
617a0c:	8b 45 08             	mov    0x8(%ebp),%eax
617a0f:	56                   	push   %esi
617a10:	8b f1                	mov    %ecx,%esi
617a12:	6a 00                	push   $0x0
617a14:	50                   	push   %eax
617a15:	c6 86 e1 11 00 00 00 	movb   $0x0,0x11e1(%esi)
617a1c:	89 86 e8 11 00 00    	mov    %eax,0x11e8(%esi)
617a22:	e8 da 21 00 00       	call   0x619c01
617a27:	89 86 ec 11 00 00    	mov    %eax,0x11ec(%esi)
617a2d:	8b c6                	mov    %esi,%eax