44474b:	c3                   	ret
44474c:	8d 41 04             	lea    0x4(%ecx),%eax
44474f:	c7 01 30 45 49 00    	movl   $0x494530,(%ecx)
444755:	50                   	push   %eax
444756:	e8 48 fa ff ff       	call   0x4441a3
44475b:	59                   	pop    %ecx
44475c:	c3                   	ret
44475d:	55                   	push   %ebp
44475e:	8b ec                	mov    %esp,%ebp
444760:	56                   	push   %esi
444761:	8b f1                	mov    %ecx,%esi
444763:	8d 46 04             	lea    0x4(%esi),%eax
444766:	c7 06 30 45 49 00    	movl   $0x494530,(%esi)
44476c:	50                   	push   %eax
44476d:	e8 31 fa ff ff       	call   0x4441a3
444772:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
444776:	59                   	pop    %ecx
444777:	74 0a                	je     0x444783
444779:	6a 0c                	push   $0xc
44477b:	56                   	push   %esi
44477c:	e8 52 ab ff ff       	call   0x43f2d3
444781:	59                   	pop    %ecx
444782:	59                   	pop    %ecx
444783:	8b c6                	mov    %esi,%eax
444785:	5e                   	pop    %esi
444786:	5d                   	pop    %ebp
444787:	c2 04 00             	ret    $0x4
44478a:	55                   	push   %ebp
44478b:	8b ec                	mov    %esp,%ebp
44478d:	56                   	push   %esi
44478e:	8b f1                	mov    %ecx,%esi
444790:	8d 46 04             	lea    0x4(%esi),%eax
444793:	c7 06 30 45 49 00    	movl   $0x494530,(%esi)
444799:	50                   	push   %eax
44479a:	e8 04 fa ff ff       	call   0x4441a3
44479f:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4447a3:	59                   	pop    %ecx
4447a4:	74 0a                	je     0x4447b0
4447a6:	6a 0c                	push   $0xc
4447a8:	56                   	push   %esi
4447a9:	e8 25 ab ff ff       	call   0x43f2d3
4447ae:	59                   	pop    %ecx
4447af:	59                   	pop    %ecx
4447b0:	8b c6                	mov    %esi,%eax
4447b2:	5e                   	pop    %esi
4447b3:	5d                   	pop    %ebp
4447b4:	c2 04 00             	ret    $0x4
4447b7:	55                   	push   %ebp
4447b8:	8b ec                	mov    %esp,%ebp
4447ba:	56                   	push   %esi
4447bb:	57                   	push   %edi
4447bc:	8b 7d 08             	mov    0x8(%ebp),%edi
4447bf:	8b cf                	mov    %edi,%ecx
4447c1:	8b 07                	mov    (%edi),%eax
4447c3:	8b 70 fc             	mov    -0x4(%eax),%esi
4447c6:	8b 56 08             	mov    0x8(%esi),%edx
4447c9:	2b ca                	sub    %edx,%ecx
4447cb:	f7 da                	neg    %edx
4447cd:	1b d2                	sbb    %edx,%edx
4447cf:	23 11                	and    (%ecx),%edx
4447d1:	2b fa                	sub    %edx,%edi
4447d3:	2b 7e 04             	sub    0x4(%esi),%edi
4447d6:	8b c7                	mov    %edi,%eax
4447d8:	5f                   	pop    %edi
4447d9:	5e                   	pop    %esi
4447da:	5d                   	pop    %ebp
4447db:	c3                   	ret
4447dc:	55                   	push   %ebp
4447dd:	8b ec                	mov    %esp,%ebp
4447df:	83 ec 14             	sub    $0x14,%esp
4447e2:	8b 45 0c             	mov    0xc(%ebp),%eax
4447e5:	83 c9 ff             	or     $0xffffffff,%ecx
4447e8:	53                   	push   %ebx
4447e9:	33 db                	xor    %ebx,%ebx
4447eb:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4447ee:	56                   	push   %esi
4447ef:	8b 40 10             	mov    0x10(%eax),%eax
4447f2:	8b d3                	mov    %ebx,%edx
4447f4:	57                   	push   %edi
4447f5:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4447f8:	8b fb                	mov    %ebx,%edi
4447fa:	89 55 f8             	mov    %edx,-0x8(%ebp)
4447fd:	8b 70 0c             	mov    0xc(%eax),%esi
444800:	8b 40 08             	mov    0x8(%eax),%eax
444803:	89 75 ec             	mov    %esi,-0x14(%ebp)
444806:	89 45 f0             	mov    %eax,-0x10(%ebp)
444809:	85 c0                	test   %eax,%eax
44480b:	0f 84 a1 00 00 00    	je     0x4448b2
444811:	8b 34 be             	mov    (%esi,%edi,4),%esi
444814:	8b c7                	mov    %edi,%eax
444816:	2b c1                	sub    %ecx,%eax
444818:	3b c2                	cmp    %edx,%eax
44481a:	76 22                	jbe    0x44483e
44481c:	ff 75 18             	push   0x18(%ebp)
44481f:	ff 36                	push   (%esi)
444821:	e8 21 03 00 00       	call   0x444b47
444826:	59                   	pop    %ecx
444827:	59                   	pop    %ecx
444828:	84 c0                	test   %al,%al
44482a:	74 12                	je     0x44483e
44482c:	8b 45 f4             	mov    -0xc(%ebp),%eax
44482f:	85 c0                	test   %eax,%eax
444831:	75 46                	jne    0x444879
444833:	8b 46 04             	mov    0x4(%esi),%eax
444836:	8b de                	mov    %esi,%ebx
444838:	89 7d fc             	mov    %edi,-0x4(%ebp)
44483b:	89 45 f8             	mov    %eax,-0x8(%ebp)
44483e:	ff 75 10             	push   0x10(%ebp)
444841:	ff 36                	push   (%esi)
444843:	e8 ff 02 00 00       	call   0x444b47
444848:	59                   	pop    %ecx
444849:	59                   	pop    %ecx
44484a:	84 c0                	test   %al,%al
44484c:	74 1a                	je     0x444868
44484e:	8d 46 08             	lea    0x8(%esi),%eax
444851:	50                   	push   %eax
444852:	ff 75 08             	push   0x8(%ebp)
444855:	e8 c9 02 00 00       	call   0x444b23
44485a:	59                   	pop    %ecx
44485b:	59                   	pop    %ecx
44485c:	3b 45 14             	cmp    0x14(%ebp),%eax
44485f:	75 07                	jne    0x444868
444861:	85 db                	test   %ebx,%ebx
444863:	75 24                	jne    0x444889
444865:	89 75 f4             	mov    %esi,-0xc(%ebp)
444868:	47                   	inc    %edi
444869:	3b 7d f0             	cmp    -0x10(%ebp),%edi
44486c:	73 44                	jae    0x4448b2
44486e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
444871:	8b 55 f8             	mov    -0x8(%ebp),%edx
444874:	8b 75 ec             	mov    -0x14(%ebp),%esi
444877:	eb 98                	jmp    0x444811
444879:	f6 46 14 03          	testb  $0x3,0x14(%esi)
44487d:	75 33                	jne    0x4448b2
44487f:	f6 40 14 01          	testb  $0x1,0x14(%eax)
444883:	75 2d                	jne    0x4448b2
444885:	8b c6                	mov    %esi,%eax
444887:	eb 2b                	jmp    0x4448b4
444889:	8b 45 fc             	mov    -0x4(%ebp),%eax
44488c:	2b f8                	sub    %eax,%edi
44488e:	3b 7d f8             	cmp    -0x8(%ebp),%edi
444891:	77 26                	ja     0x4448b9
444893:	f6 43 14 40          	testb  $0x40,0x14(%ebx)
444897:	75 0a                	jne    0x4448a3
444899:	85 c0                	test   %eax,%eax
44489b:	75 28                	jne    0x4448c5
44489d:	f6 46 14 01          	testb  $0x1,0x14(%esi)
4448a1:	eb 0d                	jmp    0x4448b0
4448a3:	8b 43 18             	mov    0x18(%ebx),%eax
4448a6:	8b 40 0c             	mov    0xc(%eax),%eax
4448a9:	8b 04 b8             	mov    (%eax,%edi,4),%eax
4448ac:	f6 40 14 01          	testb  $0x1,0x14(%eax)
4448b0:	74 13                	je     0x4448c5
4448b2:	33 c0                	xor    %eax,%eax
4448b4:	5f                   	pop    %edi
4448b5:	5e                   	pop    %esi
4448b6:	5b                   	pop    %ebx
4448b7:	c9                   	leave
4448b8:	c3                   	ret
4448b9:	f6 43 14 03          	testb  $0x3,0x14(%ebx)
4448bd:	75 f3                	jne    0x4448b2
4448bf:	f6 46 14 01          	testb  $0x1,0x14(%esi)
4448c3:	75 ed                	jne    0x4448b2
4448c5:	8b c3                	mov    %ebx,%eax
4448c7:	eb eb                	jmp    0x4448b4
4448c9:	55                   	push   %ebp
4448ca:	8b ec                	mov    %esp,%ebp
4448cc:	51                   	push   %ecx
4448cd:	51                   	push   %ecx
4448ce:	8b 45 08             	mov    0x8(%ebp),%eax
4448d1:	8b 55 10             	mov    0x10(%ebp),%edx
4448d4:	53                   	push   %ebx
4448d5:	56                   	push   %esi
4448d6:	8b 40 10             	mov    0x10(%eax),%eax
4448d9:	57                   	push   %edi
4448da:	8b 58 0c             	mov    0xc(%eax),%ebx
4448dd:	8b 48 08             	mov    0x8(%eax),%ecx
4448e0:	33 c0                	xor    %eax,%eax
4448e2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4448e5:	85 c9                	test   %ecx,%ecx
4448e7:	74 0c                	je     0x4448f5
4448e9:	8b 34 83             	mov    (%ebx,%eax,4),%esi
4448ec:	40                   	inc    %eax
4448ed:	39 16                	cmp    %edx,(%esi)
4448ef:	74 3a                	je     0x44492b
4448f1:	3b c1                	cmp    %ecx,%eax
4448f3:	72 f4                	jb     0x4448e9
4448f5:	33 c0                	xor    %eax,%eax
4448f7:	85 c9                	test   %ecx,%ecx
4448f9:	74 49                	je     0x444944
4448fb:	8d 7a 08             	lea    0x8(%edx),%edi
4448fe:	8b 14 83             	mov    (%ebx,%eax,4),%edx
444901:	8b f7                	mov    %edi,%esi
444903:	89 55 f8             	mov    %edx,-0x8(%ebp)
444906:	8b 12                	mov    (%edx),%edx
444908:	83 c2 08             	add    $0x8,%edx
44490b:	8a 1a                	mov    (%edx),%bl
44490d:	3a 1e                	cmp    (%esi),%bl
44490f:	75 3e                	jne    0x44494f
444911:	84 db                	test   %bl,%bl
444913:	74 12                	je     0x444927
444915:	8a 5a 01             	mov    0x1(%edx),%bl
444918:	3a 5e 01             	cmp    0x1(%esi),%bl
44491b:	75 32                	jne    0x44494f
44491d:	83 c2 02             	add    $0x2,%edx
444920:	83 c6 02             	add    $0x2,%esi
444923:	84 db                	test   %bl,%bl
444925:	75 e4                	jne    0x44490b
444927:	33 d2                	xor    %edx,%edx
444929:	eb 29                	jmp    0x444954
44492b:	3b c1                	cmp    %ecx,%eax
44492d:	73 15                	jae    0x444944
44492f:	8b 7d 0c             	mov    0xc(%ebp),%edi
444932:	8b 14 83             	mov    (%ebx,%eax,4),%edx
444935:	f6 42 14 04          	testb  $0x4,0x14(%edx)
444939:	75 09                	jne    0x444944
44493b:	39 3a                	cmp    %edi,(%edx)
44493d:	74 0c                	je     0x44494b
44493f:	40                   	inc    %eax
444940:	3b c1                	cmp    %ecx,%eax
444942:	72 ee                	jb     0x444932
444944:	33 c0                	xor    %eax,%eax
444946:	5f                   	pop    %edi
444947:	5e                   	pop    %esi
444948:	5b                   	pop    %ebx
444949:	c9                   	leave
44494a:	c3                   	ret
44494b:	8b c6                	mov    %esi,%eax
44494d:	eb f7                	jmp    0x444946
44494f:	1b d2                	sbb    %edx,%edx
444951:	83 ca 01             	or     $0x1,%edx
444954:	40                   	inc    %eax
444955:	85 d2                	test   %edx,%edx
444957:	74 09                	je     0x444962
444959:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44495c:	3b c1                	cmp    %ecx,%eax
44495e:	72 9e                	jb     0x4448fe
444960:	eb e2                	jmp    0x444944
444962:	3b c1                	cmp    %ecx,%eax
444964:	73 de                	jae    0x444944
444966:	8b 7d fc             	mov    -0x4(%ebp),%edi
444969:	8b 14 87             	mov    (%edi,%eax,4),%edx
44496c:	f6 42 14 04          	testb  $0x4,0x14(%edx)
444970:	75 d2                	jne    0x444944
444972:	8b 5d 0c             	mov    0xc(%ebp),%ebx
444975:	8b 12                	mov    (%edx),%edx
444977:	83 c2 08             	add    $0x8,%edx
44497a:	8d 73 08             	lea    0x8(%ebx),%esi
44497d:	8a 1a                	mov    (%edx),%bl
44497f:	3a 1e                	cmp    (%esi),%bl
444981:	75 1a                	jne    0x44499d
444983:	84 db                	test   %bl,%bl
444985:	74 12                	je     0x444999
444987:	8a 5a 01             	mov    0x1(%edx),%bl
44498a:	3a 5e 01             	cmp    0x1(%esi),%bl
44498d:	75 0e                	jne    0x44499d
44498f:	83 c2 02             	add    $0x2,%edx
444992:	83 c6 02             	add    $0x2,%esi
444995:	84 db                	test   %bl,%bl
444997:	75 e4                	jne    0x44497d
444999:	33 d2                	xor    %edx,%edx
44499b:	eb 05                	jmp    0x4449a2
44499d:	1b d2                	sbb    %edx,%edx
44499f:	83 ca 01             	or     $0x1,%edx
4449a2:	85 d2                	test   %edx,%edx
4449a4:	74 07                	je     0x4449ad
4449a6:	40                   	inc    %eax
4449a7:	3b c1                	cmp    %ecx,%eax
4449a9:	72 be                	jb     0x444969
4449ab:	eb 97                	jmp    0x444944
4449ad:	8b 45 f8             	mov    -0x8(%ebp),%eax
4449b0:	eb 94                	jmp    0x444946
4449b2:	55                   	push   %ebp
4449b3:	8b ec                	mov    %esp,%ebp
4449b5:	83 ec 24             	sub    $0x24,%esp
4449b8:	8b 45 0c             	mov    0xc(%ebp),%eax
4449bb:	83 c9 ff             	or     $0xffffffff,%ecx
4449be:	53                   	push   %ebx
4449bf:	56                   	push   %esi
4449c0:	57                   	push   %edi
4449c1:	8b 40 10             	mov    0x10(%eax),%eax
4449c4:	33 ff                	xor    %edi,%edi
4449c6:	b2 01                	mov    $0x1,%dl
4449c8:	89 7d f8             	mov    %edi,-0x8(%ebp)
4449cb:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4449ce:	8b df                	mov    %edi,%ebx
4449d0:	89 7d f4             	mov    %edi,-0xc(%ebp)
4449d3:	8b 70 0c             	mov    0xc(%eax),%esi
4449d6:	8b 40 08             	mov    0x8(%eax),%eax
4449d9:	89 75 dc             	mov    %esi,-0x24(%ebp)
4449dc:	89 45 e0             	mov    %eax,-0x20(%ebp)
4449df:	89 7d ec             	mov    %edi,-0x14(%ebp)
4449e2:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4449e5:	88 55 ff             	mov    %dl,-0x1(%ebp)
4449e8:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4449eb:	85 c0                	test   %eax,%eax
4449ed:	0f 84 1c 01 00 00    	je     0x444b0f
4449f3:	8b 34 9e             	mov    (%esi,%ebx,4),%esi
4449f6:	8b c3                	mov    %ebx,%eax
4449f8:	2b c1                	sub    %ecx,%eax
4449fa:	3b 45 ec             	cmp    -0x14(%ebp),%eax
4449fd:	76 25                	jbe    0x444a24
4449ff:	ff 75 18             	push   0x18(%ebp)
444a02:	ff 36                	push   (%esi)
444a04:	e8 3e 01 00 00       	call   0x444b47
444a09:	59                   	pop    %ecx
444a0a:	59                   	pop    %ecx
444a0b:	84 c0                	test   %al,%al
444a0d:	74 15                	je     0x444a24
444a0f:	f6 46 14 03          	testb  $0x3,0x14(%esi)
444a13:	75 03                	jne    0x444a18
444a15:	89 75 e4             	mov    %esi,-0x1c(%ebp)
444a18:	8b 46 04             	mov    0x4(%esi),%eax
444a1b:	89 75 f4             	mov    %esi,-0xc(%ebp)
444a1e:	89 5d f0             	mov    %ebx,-0x10(%ebp)
444a21:	89 45 ec             	mov    %eax,-0x14(%ebp)
444a24:	ff 75 10             	push   0x10(%ebp)
444a27:	ff 36                	push   (%esi)
444a29:	e8 19 01 00 00       	call   0x444b47
444a2e:	59                   	pop    %ecx
444a2f:	59                   	pop    %ecx
444a30:	84 c0                	test   %al,%al
444a32:	0f 84 9d 00 00 00    	je     0x444ad5
444a38:	8d 46 08             	lea    0x8(%esi),%eax
444a3b:	50                   	push   %eax
444a3c:	ff 75 08             	push   0x8(%ebp)
444a3f:	e8 df 00 00 00       	call   0x444b23
444a44:	59                   	pop    %ecx
444a45:	59                   	pop    %ecx
444a46:	3b 45 14             	cmp    0x14(%ebp),%eax
444a49:	0f 85 86 00 00 00    	jne    0x444ad5
444a4f:	8a 55 ff             	mov    -0x1(%ebp),%dl
444a52:	8b cb                	mov    %ebx,%ecx
444a54:	2b 4d f0             	sub    -0x10(%ebp),%ecx
444a57:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
444a5a:	0f 87 97 00 00 00    	ja     0x444af7
444a60:	84 d2                	test   %dl,%dl
444a62:	74 74                	je     0x444ad8
444a64:	8b 45 f4             	mov    -0xc(%ebp),%eax
444a67:	f6 40 14 40          	testb  $0x40,0x14(%eax)
444a6b:	8b 45 f0             	mov    -0x10(%ebp),%eax
444a6e:	75 1b                	jne    0x444a8b
444a70:	85 c0                	test   %eax,%eax
444a72:	75 10                	jne    0x444a84
444a74:	8a 46 14             	mov    0x14(%esi),%al
444a77:	24 01                	and    $0x1,%al
444a79:	f6 d8                	neg    %al
444a7b:	1a c0                	sbb    %al,%al
444a7d:	f6 d0                	not    %al
444a7f:	22 d0                	and    %al,%dl