612601:	8b ec                	mov    %esp,%ebp
612603:	51                   	push   %ecx
612604:	e8 96 06 00 00       	call   0x612c9f
612609:	85 c0                	test   %eax,%eax
61260b:	74 1c                	je     0x612629
61260d:	8d 45 fc             	lea    -0x4(%ebp),%eax
612610:	50                   	push   %eax
612611:	8d 45 08             	lea    0x8(%ebp),%eax
612614:	6a 01                	push   $0x1
612616:	50                   	push   %eax
612617:	e8 bb 06 00 00       	call   0x612cd7
61261c:	83 c4 0c             	add    $0xc,%esp
61261f:	85 c0                	test   %eax,%eax
612621:	74 06                	je     0x612629
612623:	66 8b 45 08          	mov    0x8(%ebp),%ax
612627:	c9                   	leave
612628:	c3                   	ret
612629:	b8 ff ff 00 00       	mov    $0xffff,%eax
61262e:	c9                   	leave
61262f:	c3                   	ret
612630:	8b ff                	mov    %edi,%edi
612632:	55                   	push   %ebp
612633:	8b ec                	mov    %esp,%ebp
612635:	83 ec 2c             	sub    $0x2c,%esp
612638:	a1 d4 89 72 00       	mov    0x7289d4,%eax
61263d:	33 c5                	xor    %ebp,%eax
61263f:	89 45 fc             	mov    %eax,-0x4(%ebp)
612642:	8b 45 08             	mov    0x8(%ebp),%eax
612645:	53                   	push   %ebx
612646:	56                   	push   %esi
612647:	8b 75 18             	mov    0x18(%ebp),%esi
61264a:	89 45 d8             	mov    %eax,-0x28(%ebp)
61264d:	8b 45 0c             	mov    0xc(%ebp),%eax
612650:	89 45 d4             	mov    %eax,-0x2c(%ebp)
612653:	8b 45 1c             	mov    0x1c(%ebp),%eax
612656:	89 45 dc             	mov    %eax,-0x24(%ebp)
612659:	57                   	push   %edi
61265a:	8b 7d 14             	mov    0x14(%ebp),%edi
61265d:	89 7d e0             	mov    %edi,-0x20(%ebp)
612660:	85 f6                	test   %esi,%esi
612662:	7e 10                	jle    0x612674
612664:	56                   	push   %esi
612665:	57                   	push   %edi
612666:	e8 32 eb fe ff       	call   0x60119d
61266b:	59                   	pop    %ecx
61266c:	8b f0                	mov    %eax,%esi
61266e:	8b 45 dc             	mov    -0x24(%ebp),%eax
612671:	59                   	pop    %ecx
612672:	eb 09                	jmp    0x61267d
612674:	83 fe ff             	cmp    $0xffffffff,%esi
612677:	0f 8c 2a 02 00 00    	jl     0x6128a7
61267d:	8b 5d 20             	mov    0x20(%ebp),%ebx
612680:	85 db                	test   %ebx,%ebx
612682:	7e 0d                	jle    0x612691
612684:	53                   	push   %ebx
612685:	50                   	push   %eax
612686:	e8 12 eb fe ff       	call   0x60119d
61268b:	59                   	pop    %ecx
61268c:	59                   	pop    %ecx
61268d:	8b d8                	mov    %eax,%ebx
61268f:	eb 09                	jmp    0x61269a
612691:	83 fb ff             	cmp    $0xffffffff,%ebx
612694:	0f 8c 0d 02 00 00    	jl     0x6128a7
61269a:	8b 45 24             	mov    0x24(%ebp),%eax
61269d:	85 c0                	test   %eax,%eax
61269f:	75 0b                	jne    0x6126ac
6126a1:	8b 45 d8             	mov    -0x28(%ebp),%eax
6126a4:	8b 00                	mov    (%eax),%eax
6126a6:	8b 40 08             	mov    0x8(%eax),%eax
6126a9:	89 45 24             	mov    %eax,0x24(%ebp)
6126ac:	85 f6                	test   %esi,%esi
6126ae:	74 08                	je     0x6126b8
6126b0:	85 db                	test   %ebx,%ebx
6126b2:	0f 85 9c 00 00 00    	jne    0x612754
6126b8:	3b f3                	cmp    %ebx,%esi
6126ba:	0f 84 e0 01 00 00    	je     0x6128a0
6126c0:	83 fb 01             	cmp    $0x1,%ebx
6126c3:	0f 8f 83 00 00 00    	jg     0x61274c
6126c9:	83 fe 01             	cmp    $0x1,%esi
6126cc:	7f 43                	jg     0x612711
6126ce:	8d 4d e8             	lea    -0x18(%ebp),%ecx
6126d1:	51                   	push   %ecx
6126d2:	50                   	push   %eax
6126d3:	ff 15 80 22 68 00    	call   *0x682280
6126d9:	85 c0                	test   %eax,%eax
6126db:	0f 84 c6 01 00 00    	je     0x6128a7
6126e1:	85 f6                	test   %esi,%esi
6126e3:	7e 34                	jle    0x612719
6126e5:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
6126e9:	72 26                	jb     0x612711
6126eb:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
6126ef:	8d 45 ee             	lea    -0x12(%ebp),%eax
6126f2:	74 1d                	je     0x612711
6126f4:	8a 48 01             	mov    0x1(%eax),%cl
6126f7:	84 c9                	test   %cl,%cl
6126f9:	74 16                	je     0x612711
6126fb:	8a 17                	mov    (%edi),%dl
6126fd:	3a 10                	cmp    (%eax),%dl
6126ff:	72 08                	jb     0x612709
612701:	3a d1                	cmp    %cl,%dl
612703:	0f 86 97 01 00 00    	jbe    0x6128a0
612709:	83 c0 02             	add    $0x2,%eax
61270c:	80 38 00             	cmpb   $0x0,(%eax)
61270f:	75 e3                	jne    0x6126f4
612711:	6a 03                	push   $0x3
612713:	58                   	pop    %eax
612714:	e9 90 01 00 00       	jmp    0x6128a9
612719:	85 db                	test   %ebx,%ebx
61271b:	7e 37                	jle    0x612754
61271d:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
612721:	72 29                	jb     0x61274c
612723:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
612727:	8d 45 ee             	lea    -0x12(%ebp),%eax
61272a:	74 20                	je     0x61274c
61272c:	8b 75 dc             	mov    -0x24(%ebp),%esi
61272f:	8a 48 01             	mov    0x1(%eax),%cl
612732:	84 c9                	test   %cl,%cl
612734:	74 16                	je     0x61274c
612736:	8a 16                	mov    (%esi),%dl
612738:	3a 10                	cmp    (%eax),%dl
61273a:	72 08                	jb     0x612744
61273c:	3a d1                	cmp    %cl,%dl
61273e:	0f 86 5c 01 00 00    	jbe    0x6128a0
612744:	83 c0 02             	add    $0x2,%eax
612747:	80 38 00             	cmpb   $0x0,(%eax)
61274a:	75 e3                	jne    0x61272f
61274c:	33 c0                	xor    %eax,%eax
61274e:	40                   	inc    %eax
61274f:	e9 55 01 00 00       	jmp    0x6128a9
612754:	33 ff                	xor    %edi,%edi
612756:	57                   	push   %edi
612757:	57                   	push   %edi
612758:	56                   	push   %esi
612759:	ff 75 e0             	push   -0x20(%ebp)
61275c:	6a 09                	push   $0x9
61275e:	ff 75 24             	push   0x24(%ebp)
612761:	e8 30 47 ff ff       	call   0x606e96
612766:	83 c4 18             	add    $0x18,%esp
612769:	89 45 d8             	mov    %eax,-0x28(%ebp)
61276c:	85 c0                	test   %eax,%eax
61276e:	0f 84 33 01 00 00    	je     0x6128a7
612774:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
612777:	8d 51 08             	lea    0x8(%ecx),%edx
61277a:	3b ca                	cmp    %edx,%ecx
61277c:	1b c0                	sbb    %eax,%eax
61277e:	23 c2                	and    %edx,%eax
612780:	74 41                	je     0x6127c3
612782:	3d 00 04 00 00       	cmp    $0x400,%eax
612787:	77 1a                	ja     0x6127a3
612789:	e8 c2 f6 fc ff       	call   0x5e1e50
61278e:	8b c4                	mov    %esp,%eax
612790:	89 45 e4             	mov    %eax,-0x1c(%ebp)
612793:	85 c0                	test   %eax,%eax
612795:	0f 84 f7 00 00 00    	je     0x612892
61279b:	c7 00 cc cc 00 00    	movl   $0xcccc,(%eax)
6127a1:	eb 18                	jmp    0x6127bb
6127a3:	50                   	push   %eax
6127a4:	e8 4c 36 ff ff       	call   0x605df5
6127a9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
6127ac:	59                   	pop    %ecx
6127ad:	85 c0                	test   %eax,%eax
6127af:	0f 84 dd 00 00 00    	je     0x612892
6127b5:	c7 00 dd dd 00 00    	movl   $0xdddd,(%eax)
6127bb:	83 c0 08             	add    $0x8,%eax
6127be:	89 45 e4             	mov    %eax,-0x1c(%ebp)
6127c1:	eb 05                	jmp    0x6127c8
6127c3:	8b c7                	mov    %edi,%eax
6127c5:	89 7d e4             	mov    %edi,-0x1c(%ebp)
6127c8:	85 c0                	test   %eax,%eax
6127ca:	0f 84 c2 00 00 00    	je     0x612892
6127d0:	ff 75 d8             	push   -0x28(%ebp)
6127d3:	50                   	push   %eax
6127d4:	56                   	push   %esi
6127d5:	ff 75 e0             	push   -0x20(%ebp)
6127d8:	8b 75 24             	mov    0x24(%ebp),%esi
6127db:	6a 01                	push   $0x1
6127dd:	56                   	push   %esi
6127de:	e8 b3 46 ff ff       	call   0x606e96
6127e3:	83 c4 18             	add    $0x18,%esp
6127e6:	85 c0                	test   %eax,%eax
6127e8:	0f 84 a4 00 00 00    	je     0x612892
6127ee:	57                   	push   %edi
6127ef:	57                   	push   %edi
6127f0:	53                   	push   %ebx
6127f1:	ff 75 dc             	push   -0x24(%ebp)
6127f4:	6a 09                	push   $0x9
6127f6:	56                   	push   %esi
6127f7:	e8 9a 46 ff ff       	call   0x606e96
6127fc:	83 c4 18             	add    $0x18,%esp
6127ff:	89 45 e0             	mov    %eax,-0x20(%ebp)
612802:	85 c0                	test   %eax,%eax
612804:	0f 84 88 00 00 00    	je     0x612892
61280a:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
61280d:	8d 51 08             	lea    0x8(%ecx),%edx
612810:	3b ca                	cmp    %edx,%ecx
612812:	1b c0                	sbb    %eax,%eax
612814:	23 c2                	and    %edx,%eax
612816:	74 32                	je     0x61284a
612818:	3d 00 04 00 00       	cmp    $0x400,%eax
61281d:	77 13                	ja     0x612832
61281f:	e8 2c f6 fc ff       	call   0x5e1e50
612824:	8b f4                	mov    %esp,%esi
612826:	85 f6                	test   %esi,%esi
612828:	74 5c                	je     0x612886
61282a:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
612830:	eb 13                	jmp    0x612845
612832:	50                   	push   %eax
612833:	e8 bd 35 ff ff       	call   0x605df5
612838:	8b f0                	mov    %eax,%esi
61283a:	59                   	pop    %ecx
61283b:	85 f6                	test   %esi,%esi
61283d:	74 47                	je     0x612886
61283f:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
612845:	83 c6 08             	add    $0x8,%esi
612848:	eb 02                	jmp    0x61284c
61284a:	8b f7                	mov    %edi,%esi
61284c:	85 f6                	test   %esi,%esi
61284e:	74 36                	je     0x612886
612850:	ff 75 e0             	push   -0x20(%ebp)
612853:	56                   	push   %esi
612854:	53                   	push   %ebx
612855:	ff 75 dc             	push   -0x24(%ebp)
612858:	6a 01                	push   $0x1
61285a:	ff 75 24             	push   0x24(%ebp)
61285d:	e8 34 46 ff ff       	call   0x606e96
612862:	83 c4 18             	add    $0x18,%esp
612865:	85 c0                	test   %eax,%eax
612867:	74 1d                	je     0x612886
612869:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
61286c:	57                   	push   %edi
61286d:	57                   	push   %edi
61286e:	57                   	push   %edi
61286f:	ff 75 e0             	push   -0x20(%ebp)
612872:	56                   	push   %esi
612873:	ff 75 d8             	push   -0x28(%ebp)
612876:	53                   	push   %ebx
612877:	ff 75 10             	push   0x10(%ebp)
61287a:	ff 75 d4             	push   -0x2c(%ebp)
61287d:	e8 bd 4b ff ff       	call   0x60743f
612882:	8b f8                	mov    %eax,%edi
612884:	eb 03                	jmp    0x612889
612886:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
612889:	56                   	push   %esi
61288a:	e8 1e db fb ff       	call   0x5d03ad
61288f:	59                   	pop    %ecx
612890:	eb 03                	jmp    0x612895
612892:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
612895:	53                   	push   %ebx
612896:	e8 12 db fb ff       	call   0x5d03ad
61289b:	59                   	pop    %ecx
61289c:	8b c7                	mov    %edi,%eax
61289e:	eb 09                	jmp    0x6128a9
6128a0:	6a 02                	push   $0x2
6128a2:	e9 6c fe ff ff       	jmp    0x612713
6128a7:	33 c0                	xor    %eax,%eax
6128a9:	8d 65 c8             	lea    -0x38(%ebp),%esp
6128ac:	5f                   	pop    %edi
6128ad:	5e                   	pop    %esi
6128ae:	5b                   	pop    %ebx
6128af:	8b 4d fc             	mov    -0x4(%ebp),%ecx
6128b2:	33 cd                	xor    %ebp,%ecx
6128b4:	e8 21 ec fc ff       	call   0x5e14da
6128b9:	c9                   	leave
6128ba:	c3                   	ret
6128bb:	8b ff                	mov    %edi,%edi
6128bd:	55                   	push   %ebp
6128be:	8b ec                	mov    %esp,%ebp
6128c0:	83 ec 10             	sub    $0x10,%esp
6128c3:	ff 75 08             	push   0x8(%ebp)
6128c6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
6128c9:	e8 bf b2 fd ff       	call   0x5edb8d
6128ce:	ff 75 24             	push   0x24(%ebp)
6128d1:	8d 45 f4             	lea    -0xc(%ebp),%eax
6128d4:	ff 75 20             	push   0x20(%ebp)
6128d7:	ff 75 1c             	push   0x1c(%ebp)
6128da:	ff 75 18             	push   0x18(%ebp)
6128dd:	ff 75 14             	push   0x14(%ebp)
6128e0:	ff 75 10             	push   0x10(%ebp)
6128e3:	ff 75 0c             	push   0xc(%ebp)
6128e6:	50                   	push   %eax
6128e7:	e8 44 fd ff ff       	call   0x612630
6128ec:	83 c4 20             	add    $0x20,%esp
6128ef:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
6128f3:	74 0a                	je     0x6128ff
6128f5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
6128f8:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
6128ff:	c9                   	leave
612900:	c3                   	ret
612901:	8b ff                	mov    %edi,%edi
612903:	53                   	push   %ebx
612904:	8b dc                	mov    %esp,%ebx
612906:	51                   	push   %ecx
612907:	51                   	push   %ecx
612908:	83 e4 f0             	and    $0xfffffff0,%esp
61290b:	83 c4 04             	add    $0x4,%esp
61290e:	55                   	push   %ebp
61290f:	8b 6b 04             	mov    0x4(%ebx),%ebp
612912:	89 6c 24 04          	mov    %ebp,0x4(%esp)
612916:	8b ec                	mov    %esp,%ebp
612918:	81 ec 88 00 00 00    	sub    $0x88,%esp
61291e:	a1 d4 89 72 00       	mov    0x7289d4,%eax
612923:	33 c5                	xor    %ebp,%eax
612925:	89 45 fc             	mov    %eax,-0x4(%ebp)
612928:	8b 43 10             	mov    0x10(%ebx),%eax
61292b:	56                   	push   %esi
61292c:	8b 73 0c             	mov    0xc(%ebx),%esi
61292f:	57                   	push   %edi
612930:	0f b7 08             	movzwl (%eax),%ecx
612933:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
612939:	8b 06                	mov    (%esi),%eax
61293b:	83 e8 01             	sub    $0x1,%eax
61293e:	74 29                	je     0x612969
612940:	83 e8 01             	sub    $0x1,%eax
612943:	74 20                	je     0x612965
612945:	83 e8 01             	sub    $0x1,%eax
612948:	74 17                	je     0x612961
61294a:	83 e8 01             	sub    $0x1,%eax
61294d:	74 0e                	je     0x61295d
61294f:	83 e8 01             	sub    $0x1,%eax
612952:	74 15                	je     0x612969
612954:	83 e8 03             	sub    $0x3,%eax
612957:	75 6c                	jne    0x6129c5
612959:	6a 10                	push   $0x10
61295b:	eb 0e                	jmp    0x61296b
61295d:	6a 12                	push   $0x12
61295f:	eb 0a                	jmp    0x61296b
612961:	6a 11                	push   $0x11
612963:	eb 06                	jmp    0x61296b
612965:	6a 04                	push   $0x4
612967:	eb 02                	jmp    0x61296b
612969:	6a 08                	push   $0x8
61296b:	5f                   	pop    %edi
61296c:	51                   	push   %ecx
61296d:	8d 46 18             	lea    0x18(%esi),%eax
612970:	50                   	push   %eax
612971:	57                   	push   %edi
612972:	e8 6d f8 fe ff       	call   0x6021e4
612977:	83 c4 0c             	add    $0xc,%esp
61297a:	85 c0                	test   %eax,%eax
61297c:	75 47                	jne    0x6129c5
61297e:	8b 4b 08             	mov    0x8(%ebx),%ecx
612981:	83 f9 10             	cmp    $0x10,%ecx
612984:	74 10                	je     0x612996
612986:	83 f9 16             	cmp    $0x16,%ecx
612989:	74 0b                	je     0x612996
61298b:	83 f9 1d             	cmp    $0x1d,%ecx
61298e:	74 06                	je     0x612996
612990:	83 65 c0 fe          	andl   $0xfffffffe,-0x40(%ebp)
612994:	eb 12                	jmp    0x6129a8
612996:	8b 45 c0             	mov    -0x40(%ebp),%eax