45a803:	5b                   	pop    %ebx
45a804:	8b e5                	mov    %ebp,%esp
45a806:	5d                   	pop    %ebp
45a807:	c2 10 00             	ret    $0x10
45a80a:	8b ff                	mov    %edi,%edi
45a80c:	55                   	push   %ebp
45a80d:	8b ec                	mov    %esp,%ebp
45a80f:	51                   	push   %ecx
45a810:	51                   	push   %ecx
45a811:	53                   	push   %ebx
45a812:	8b 5d 10             	mov    0x10(%ebp),%ebx
45a815:	56                   	push   %esi
45a816:	8b 75 08             	mov    0x8(%ebp),%esi
45a819:	57                   	push   %edi
45a81a:	6a 70                	push   $0x70
45a81c:	58                   	pop    %eax
45a81d:	0f b7 7e 04          	movzwl 0x4(%esi),%edi
45a821:	66 3b f8             	cmp    %ax,%di
45a824:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45a827:	0f 94 c2             	sete   %dl
45a82a:	66 3b d8             	cmp    %ax,%bx
45a82d:	0f 94 c1             	sete   %cl
45a830:	84 d2                	test   %dl,%dl
45a832:	0f 85 e5 00 00 00    	jne    0x45a91d
45a838:	84 c9                	test   %cl,%cl
45a83a:	0f 85 dd 00 00 00    	jne    0x45a91d
45a840:	57                   	push   %edi
45a841:	e8 bd d6 ff ff       	call   0x457f03
45a846:	53                   	push   %ebx
45a847:	88 45 fd             	mov    %al,-0x3(%ebp)
45a84a:	e8 b4 d6 ff ff       	call   0x457f03
45a84f:	57                   	push   %edi
45a850:	88 45 ff             	mov    %al,-0x1(%ebp)
45a853:	e8 2d d5 ff ff       	call   0x457d85
45a858:	53                   	push   %ebx
45a859:	88 45 fe             	mov    %al,-0x2(%ebp)
45a85c:	e8 24 d5 ff ff       	call   0x457d85
45a861:	8a 4d fd             	mov    -0x3(%ebp),%cl
45a864:	83 c4 10             	add    $0x10,%esp
45a867:	84 c9                	test   %cl,%cl
45a869:	75 74                	jne    0x45a8df
45a86b:	38 4d ff             	cmp    %cl,-0x1(%ebp)
45a86e:	0f 85 a5 00 00 00    	jne    0x45a919
45a874:	8a 4d fe             	mov    -0x2(%ebp),%cl
45a877:	84 c9                	test   %cl,%cl
45a879:	75 6c                	jne    0x45a8e7
45a87b:	84 c0                	test   %al,%al
45a87d:	0f 85 96 00 00 00    	jne    0x45a919
45a883:	57                   	push   %edi
45a884:	e8 ae d5 ff ff       	call   0x457e37
45a889:	ff 75 10             	push   0x10(%ebp)
45a88c:	8a d8                	mov    %al,%bl
45a88e:	e8 a4 d5 ff ff       	call   0x457e37
45a893:	59                   	pop    %ecx
45a894:	59                   	pop    %ecx
45a895:	84 db                	test   %bl,%bl
45a897:	75 0d                	jne    0x45a8a6
45a899:	84 c0                	test   %al,%al
45a89b:	75 7c                	jne    0x45a919
45a89d:	8b 0e                	mov    (%esi),%ecx
45a89f:	33 c0                	xor    %eax,%eax
45a8a1:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
45a8a4:	eb 7b                	jmp    0x45a921
45a8a6:	3a d8                	cmp    %al,%bl
45a8a8:	75 6f                	jne    0x45a919
45a8aa:	33 c9                	xor    %ecx,%ecx
45a8ac:	83 7e 0c 09          	cmpl   $0x9,0xc(%esi)
45a8b0:	0f 94 c1             	sete   %cl
45a8b3:	33 c0                	xor    %eax,%eax
45a8b5:	83 7d 14 09          	cmpl   $0x9,0x14(%ebp)
45a8b9:	0f 94 c0             	sete   %al
45a8bc:	3b c8                	cmp    %eax,%ecx
45a8be:	75 59                	jne    0x45a919
45a8c0:	ff 76 0c             	push   0xc(%esi)
45a8c3:	e8 2d 53 00 00       	call   0x45fbf5
45a8c8:	ff 75 14             	push   0x14(%ebp)
45a8cb:	8b d8                	mov    %eax,%ebx
45a8cd:	e8 23 53 00 00       	call   0x45fbf5
45a8d2:	2b d8                	sub    %eax,%ebx
45a8d4:	f7 db                	neg    %ebx
45a8d6:	59                   	pop    %ecx
45a8d7:	1b db                	sbb    %ebx,%ebx
45a8d9:	43                   	inc    %ebx
45a8da:	59                   	pop    %ecx
45a8db:	8a c3                	mov    %bl,%al
45a8dd:	eb 45                	jmp    0x45a924
45a8df:	3a 4d ff             	cmp    -0x1(%ebp),%cl
45a8e2:	75 35                	jne    0x45a919
45a8e4:	8a 4d fe             	mov    -0x2(%ebp),%cl
45a8e7:	3a c8                	cmp    %al,%cl
45a8e9:	75 2e                	jne    0x45a919
45a8eb:	ff 75 14             	push   0x14(%ebp)
45a8ee:	8b 45 f8             	mov    -0x8(%ebp),%eax
45a8f1:	53                   	push   %ebx
45a8f2:	ff 70 04             	push   0x4(%eax)
45a8f5:	ff 30                	push   (%eax)
45a8f7:	e8 63 d6 ff ff       	call   0x457f5f
45a8fc:	ff 76 0c             	push   0xc(%esi)
45a8ff:	8a d8                	mov    %al,%bl
45a901:	8b 45 f8             	mov    -0x8(%ebp),%eax
45a904:	57                   	push   %edi
45a905:	ff 70 04             	push   0x4(%eax)
45a908:	ff 30                	push   (%eax)
45a90a:	e8 50 d6 ff ff       	call   0x457f5f
45a90f:	83 c4 20             	add    $0x20,%esp
45a912:	3a c3                	cmp    %bl,%al
45a914:	0f 94 c0             	sete   %al
45a917:	eb 0b                	jmp    0x45a924
45a919:	32 c0                	xor    %al,%al
45a91b:	eb 07                	jmp    0x45a924
45a91d:	33 c0                	xor    %eax,%eax
45a91f:	3a d1                	cmp    %cl,%dl
45a921:	0f 94 c0             	sete   %al
45a924:	5f                   	pop    %edi
45a925:	5e                   	pop    %esi
45a926:	5b                   	pop    %ebx
45a927:	8b e5                	mov    %ebp,%esp
45a929:	5d                   	pop    %ebp
45a92a:	c2 10 00             	ret    $0x10
45a92d:	8b 01                	mov    (%ecx),%eax
45a92f:	8b 40 0c             	mov    0xc(%eax),%eax
45a932:	c1 e8 0c             	shr    $0xc,%eax
45a935:	83 e0 01             	and    $0x1,%eax
45a938:	c3                   	ret
45a939:	b8 24 cb 49 00       	mov    $0x49cb24,%eax
45a93e:	c3                   	ret
45a93f:	b8 24 cb 49 00       	mov    $0x49cb24,%eax
45a944:	c3                   	ret
45a945:	b8 24 cb 49 00       	mov    $0x49cb24,%eax
45a94a:	c3                   	ret
45a94b:	b8 24 cb 49 00       	mov    $0x49cb24,%eax
45a950:	c3                   	ret
45a951:	b8 24 cb 49 00       	mov    $0x49cb24,%eax
45a956:	c3                   	ret
45a957:	b8 24 cb 49 00       	mov    $0x49cb24,%eax
45a95c:	c3                   	ret
45a95d:	b8 24 cb 49 00       	mov    $0x49cb24,%eax
45a962:	c3                   	ret
45a963:	b8 24 cb 49 00       	mov    $0x49cb24,%eax
45a968:	c3                   	ret
45a969:	b8 24 cb 49 00       	mov    $0x49cb24,%eax
45a96e:	c3                   	ret
45a96f:	b8 24 cb 49 00       	mov    $0x49cb24,%eax
45a974:	c3                   	ret
45a975:	b8 24 cb 49 00       	mov    $0x49cb24,%eax
45a97a:	c3                   	ret
45a97b:	b8 24 cb 49 00       	mov    $0x49cb24,%eax
45a980:	c3                   	ret
45a981:	8b ff                	mov    %edi,%edi
45a983:	55                   	push   %ebp
45a984:	8b ec                	mov    %esp,%ebp
45a986:	51                   	push   %ecx
45a987:	53                   	push   %ebx
45a988:	56                   	push   %esi
45a989:	8b f1                	mov    %ecx,%esi
45a98b:	57                   	push   %edi
45a98c:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
45a990:	75 08                	jne    0x45a99a
45a992:	e8 98 24 ff ff       	call   0x44ce2f
45a997:	89 46 0c             	mov    %eax,0xc(%esi)
45a99a:	8b 7e 0c             	mov    0xc(%esi),%edi
45a99d:	8d 4d fc             	lea    -0x4(%ebp),%ecx
45a9a0:	6a 0a                	push   $0xa
45a9a2:	51                   	push   %ecx
45a9a3:	8b 1f                	mov    (%edi),%ebx
45a9a5:	83 27 00             	andl   $0x0,(%edi)
45a9a8:	8b 46 10             	mov    0x10(%esi),%eax
45a9ab:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45a9af:	48                   	dec    %eax
45a9b0:	50                   	push   %eax
45a9b1:	e8 d6 c8 01 00       	call   0x47728c
45a9b6:	8b 4d 08             	mov    0x8(%ebp),%ecx
45a9b9:	83 c4 0c             	add    $0xc,%esp
45a9bc:	89 01                	mov    %eax,(%ecx)
45a9be:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
45a9c2:	75 08                	jne    0x45a9cc
45a9c4:	e8 66 24 ff ff       	call   0x44ce2f
45a9c9:	89 46 0c             	mov    %eax,0xc(%esi)
45a9cc:	8b 46 0c             	mov    0xc(%esi),%eax
45a9cf:	83 38 22             	cmpl   $0x22,(%eax)
45a9d2:	74 0f                	je     0x45a9e3
45a9d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a9d7:	3b 46 10             	cmp    0x10(%esi),%eax
45a9da:	72 07                	jb     0x45a9e3
45a9dc:	89 46 10             	mov    %eax,0x10(%esi)
45a9df:	b0 01                	mov    $0x1,%al
45a9e1:	eb 02                	jmp    0x45a9e5
45a9e3:	32 c0                	xor    %al,%al
45a9e5:	83 3f 00             	cmpl   $0x0,(%edi)
45a9e8:	75 06                	jne    0x45a9f0
45a9ea:	85 db                	test   %ebx,%ebx
45a9ec:	74 02                	je     0x45a9f0
45a9ee:	89 1f                	mov    %ebx,(%edi)
45a9f0:	5f                   	pop    %edi
45a9f1:	5e                   	pop    %esi
45a9f2:	5b                   	pop    %ebx
45a9f3:	8b e5                	mov    %ebp,%esp
45a9f5:	5d                   	pop    %ebp
45a9f6:	c2 04 00             	ret    $0x4
45a9f9:	8b ff                	mov    %edi,%edi
45a9fb:	55                   	push   %ebp
45a9fc:	8b ec                	mov    %esp,%ebp
45a9fe:	51                   	push   %ecx
45a9ff:	53                   	push   %ebx
45aa00:	56                   	push   %esi
45aa01:	8b f1                	mov    %ecx,%esi
45aa03:	57                   	push   %edi
45aa04:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
45aa08:	75 08                	jne    0x45aa12
45aa0a:	e8 20 24 ff ff       	call   0x44ce2f
45aa0f:	89 46 0c             	mov    %eax,0xc(%esi)
45aa12:	8b 7e 0c             	mov    0xc(%esi),%edi
45aa15:	8d 4d fc             	lea    -0x4(%ebp),%ecx
45aa18:	6a 0a                	push   $0xa
45aa1a:	51                   	push   %ecx
45aa1b:	8b 1f                	mov    (%edi),%ebx
45aa1d:	83 27 00             	andl   $0x0,(%edi)
45aa20:	8b 46 10             	mov    0x10(%esi),%eax
45aa23:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45aa27:	48                   	dec    %eax
45aa28:	50                   	push   %eax
45aa29:	e8 5e c8 01 00       	call   0x47728c
45aa2e:	8b 4d 08             	mov    0x8(%ebp),%ecx
45aa31:	83 c4 0c             	add    $0xc,%esp
45aa34:	89 01                	mov    %eax,(%ecx)
45aa36:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
45aa3a:	75 08                	jne    0x45aa44
45aa3c:	e8 ee 23 ff ff       	call   0x44ce2f
45aa41:	89 46 0c             	mov    %eax,0xc(%esi)
45aa44:	8b 46 0c             	mov    0xc(%esi),%eax
45aa47:	83 38 22             	cmpl   $0x22,(%eax)
45aa4a:	74 0f                	je     0x45aa5b
45aa4c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45aa4f:	3b 46 10             	cmp    0x10(%esi),%eax
45aa52:	72 07                	jb     0x45aa5b
45aa54:	89 46 10             	mov    %eax,0x10(%esi)
45aa57:	b0 01                	mov    $0x1,%al
45aa59:	eb 02                	jmp    0x45aa5d
45aa5b:	32 c0                	xor    %al,%al
45aa5d:	83 3f 00             	cmpl   $0x0,(%edi)
45aa60:	75 06                	jne    0x45aa68
45aa62:	85 db                	test   %ebx,%ebx
45aa64:	74 02                	je     0x45aa68
45aa66:	89 1f                	mov    %ebx,(%edi)
45aa68:	5f                   	pop    %edi
45aa69:	5e                   	pop    %esi
45aa6a:	5b                   	pop    %ebx
45aa6b:	8b e5                	mov    %ebp,%esp
45aa6d:	5d                   	pop    %ebp
45aa6e:	c2 04 00             	ret    $0x4
45aa71:	8b ff                	mov    %edi,%edi
45aa73:	55                   	push   %ebp
45aa74:	8b ec                	mov    %esp,%ebp
45aa76:	51                   	push   %ecx
45aa77:	53                   	push   %ebx
45aa78:	56                   	push   %esi
45aa79:	8b f1                	mov    %ecx,%esi
45aa7b:	57                   	push   %edi
45aa7c:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
45aa80:	75 08                	jne    0x45aa8a
45aa82:	e8 a8 23 ff ff       	call   0x44ce2f
45aa87:	89 46 0c             	mov    %eax,0xc(%esi)
45aa8a:	8b 7e 0c             	mov    0xc(%esi),%edi
45aa8d:	8d 4d fc             	lea    -0x4(%ebp),%ecx
45aa90:	6a 0a                	push   $0xa
45aa92:	51                   	push   %ecx
45aa93:	8b 1f                	mov    (%edi),%ebx
45aa95:	83 27 00             	andl   $0x0,(%edi)
45aa98:	8b 46 10             	mov    0x10(%esi),%eax
45aa9b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45aa9f:	48                   	dec    %eax
45aaa0:	50                   	push   %eax
45aaa1:	e8 e6 c7 01 00       	call   0x47728c
45aaa6:	8b 4d 08             	mov    0x8(%ebp),%ecx
45aaa9:	83 c4 0c             	add    $0xc,%esp
45aaac:	89 01                	mov    %eax,(%ecx)
45aaae:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
45aab2:	75 08                	jne    0x45aabc
45aab4:	e8 76 23 ff ff       	call   0x44ce2f
45aab9:	89 46 0c             	mov    %eax,0xc(%esi)
45aabc:	8b 46 0c             	mov    0xc(%esi),%eax
45aabf:	83 38 22             	cmpl   $0x22,(%eax)
45aac2:	74 0f                	je     0x45aad3
45aac4:	8b 45 fc             	mov    -0x4(%ebp),%eax
45aac7:	3b 46 10             	cmp    0x10(%esi),%eax
45aaca:	72 07                	jb     0x45aad3
45aacc:	89 46 10             	mov    %eax,0x10(%esi)
45aacf:	b0 01                	mov    $0x1,%al
45aad1:	eb 02                	jmp    0x45aad5
45aad3:	32 c0                	xor    %al,%al
45aad5:	83 3f 00             	cmpl   $0x0,(%edi)
45aad8:	75 06                	jne    0x45aae0
45aada:	85 db                	test   %ebx,%ebx
45aadc:	74 02                	je     0x45aae0
45aade:	89 1f                	mov    %ebx,(%edi)
45aae0:	5f                   	pop    %edi
45aae1:	5e                   	pop    %esi
45aae2:	5b                   	pop    %ebx
45aae3:	8b e5                	mov    %ebp,%esp
45aae5:	5d                   	pop    %ebp
45aae6:	c2 04 00             	ret    $0x4
45aae9:	8b ff                	mov    %edi,%edi
45aaeb:	55                   	push   %ebp
45aaec:	8b ec                	mov    %esp,%ebp
45aaee:	51                   	push   %ecx
45aaef:	53                   	push   %ebx
45aaf0:	56                   	push   %esi
45aaf1:	8b f1                	mov    %ecx,%esi
45aaf3:	57                   	push   %edi
45aaf4:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
45aaf8:	75 08                	jne    0x45ab02
45aafa:	e8 30 23 ff ff       	call   0x44ce2f
45aaff:	89 46 0c             	mov    %eax,0xc(%esi)
45ab02:	8b 7e 0c             	mov    0xc(%esi),%edi
45ab05:	8d 4d fc             	lea    -0x4(%ebp),%ecx
45ab08:	6a 0a                	push   $0xa
45ab0a:	51                   	push   %ecx
45ab0b:	8b 1f                	mov    (%edi),%ebx
45ab0d:	83 27 00             	andl   $0x0,(%edi)
45ab10:	8b 46 10             	mov    0x10(%esi),%eax
45ab13:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45ab17:	48                   	dec    %eax
45ab18:	50                   	push   %eax
45ab19:	e8 6e c7 01 00       	call   0x47728c
45ab1e:	8b 4d 08             	mov    0x8(%ebp),%ecx
45ab21:	83 c4 0c             	add    $0xc,%esp
45ab24:	89 01                	mov    %eax,(%ecx)
45ab26:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
45ab2a:	75 08                	jne    0x45ab34
45ab2c:	e8 fe 22 ff ff       	call   0x44ce2f
45ab31:	89 46 0c             	mov    %eax,0xc(%esi)
45ab34:	8b 46 0c             	mov    0xc(%esi),%eax
45ab37:	83 38 22             	cmpl   $0x22,(%eax)
45ab3a:	74 0f                	je     0x45ab4b
45ab3c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ab3f:	3b 46 10             	cmp    0x10(%esi),%eax
45ab42:	72 07                	jb     0x45ab4b
45ab44:	89 46 10             	mov    %eax,0x10(%esi)
45ab47:	b0 01                	mov    $0x1,%al
45ab49:	eb 02                	jmp    0x45ab4d
45ab4b:	32 c0                	xor    %al,%al
45ab4d:	83 3f 00             	cmpl   $0x0,(%edi)
45ab50:	75 06                	jne    0x45ab58
45ab52:	85 db                	test   %ebx,%ebx
45ab54:	74 02                	je     0x45ab58
45ab56:	89 1f                	mov    %ebx,(%edi)
45ab58:	5f                   	pop    %edi
45ab59:	5e                   	pop    %esi
45ab5a:	5b                   	pop    %ebx
45ab5b:	8b e5                	mov    %ebp,%esp