46693a:	8b c7                	mov    %edi,%eax
46693c:	5e                   	pop    %esi
46693d:	5f                   	pop    %edi
46693e:	5b                   	pop    %ebx
46693f:	8b e5                	mov    %ebp,%esp
466941:	5d                   	pop    %ebp
466942:	c3                   	ret
466943:	8b ff                	mov    %edi,%edi
466945:	55                   	push   %ebp
466946:	8b ec                	mov    %esp,%ebp
466948:	8b 4d 08             	mov    0x8(%ebp),%ecx
46694b:	33 d2                	xor    %edx,%edx
46694d:	8b 45 0c             	mov    0xc(%ebp),%eax
466950:	53                   	push   %ebx
466951:	56                   	push   %esi
466952:	57                   	push   %edi
466953:	33 f6                	xor    %esi,%esi
466955:	33 ff                	xor    %edi,%edi
466957:	2b c1                	sub    %ecx,%eax
466959:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
46695c:	1b db                	sbb    %ebx,%ebx
46695e:	f7 d3                	not    %ebx
466960:	23 d8                	and    %eax,%ebx
466962:	74 11                	je     0x466975
466964:	80 39 0a             	cmpb   $0xa,(%ecx)
466967:	75 06                	jne    0x46696f
466969:	83 c6 01             	add    $0x1,%esi
46696c:	83 d2 00             	adc    $0x0,%edx
46696f:	41                   	inc    %ecx
466970:	47                   	inc    %edi
466971:	3b fb                	cmp    %ebx,%edi
466973:	75 ef                	jne    0x466964
466975:	5f                   	pop    %edi
466976:	8b c6                	mov    %esi,%eax
466978:	5e                   	pop    %esi
466979:	5b                   	pop    %ebx
46697a:	5d                   	pop    %ebp
46697b:	c3                   	ret
46697c:	8b ff                	mov    %edi,%edi
46697e:	55                   	push   %ebp
46697f:	8b ec                	mov    %esp,%ebp
466981:	8b 4d 08             	mov    0x8(%ebp),%ecx
466984:	33 d2                	xor    %edx,%edx
466986:	8b 45 0c             	mov    0xc(%ebp),%eax
466989:	53                   	push   %ebx
46698a:	56                   	push   %esi
46698b:	2b c1                	sub    %ecx,%eax
46698d:	33 f6                	xor    %esi,%esi
46698f:	57                   	push   %edi
466990:	33 ff                	xor    %edi,%edi
466992:	40                   	inc    %eax
466993:	d1 e8                	shr    $1,%eax
466995:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
466998:	1b db                	sbb    %ebx,%ebx
46699a:	f7 d3                	not    %ebx
46699c:	23 d8                	and    %eax,%ebx
46699e:	74 14                	je     0x4669b4
4669a0:	66 83 39 0a          	cmpw   $0xa,(%ecx)
4669a4:	75 06                	jne    0x4669ac
4669a6:	83 c6 01             	add    $0x1,%esi
4669a9:	83 d2 00             	adc    $0x0,%edx
4669ac:	83 c1 02             	add    $0x2,%ecx
4669af:	47                   	inc    %edi
4669b0:	3b fb                	cmp    %ebx,%edi
4669b2:	75 ec                	jne    0x4669a0
4669b4:	5f                   	pop    %edi
4669b5:	8b c6                	mov    %esi,%eax
4669b7:	5e                   	pop    %esi
4669b8:	5b                   	pop    %ebx
4669b9:	5d                   	pop    %ebp
4669ba:	c3                   	ret
4669bb:	8b ff                	mov    %edi,%edi
4669bd:	55                   	push   %ebp
4669be:	8b ec                	mov    %esp,%ebp
4669c0:	8a 45 08             	mov    0x8(%ebp),%al
4669c3:	3c 01                	cmp    $0x1,%al
4669c5:	74 08                	je     0x4669cf
4669c7:	3c 02                	cmp    $0x2,%al
4669c9:	74 04                	je     0x4669cf
4669cb:	33 c9                	xor    %ecx,%ecx
4669cd:	eb 03                	jmp    0x4669d2
4669cf:	33 c9                	xor    %ecx,%ecx
4669d1:	41                   	inc    %ecx
4669d2:	33 c0                	xor    %eax,%eax
4669d4:	84 c9                	test   %cl,%cl
4669d6:	0f 95 c0             	setne  %al
4669d9:	40                   	inc    %eax
4669da:	5d                   	pop    %ebp
4669db:	c3                   	ret
4669dc:	8b ff                	mov    %edi,%edi
4669de:	55                   	push   %ebp
4669df:	8b ec                	mov    %esp,%ebp
4669e1:	8a 45 08             	mov    0x8(%ebp),%al
4669e4:	3c 01                	cmp    $0x1,%al
4669e6:	74 08                	je     0x4669f0
4669e8:	3c 02                	cmp    $0x2,%al
4669ea:	74 04                	je     0x4669f0
4669ec:	33 c0                	xor    %eax,%eax
4669ee:	5d                   	pop    %ebp
4669ef:	c3                   	ret
4669f0:	33 c0                	xor    %eax,%eax
4669f2:	40                   	inc    %eax
4669f3:	5d                   	pop    %ebp
4669f4:	c3                   	ret
4669f5:	8b ff                	mov    %edi,%edi
4669f7:	55                   	push   %ebp
4669f8:	8b ec                	mov    %esp,%ebp
4669fa:	83 ec 18             	sub    $0x18,%esp
4669fd:	56                   	push   %esi
4669fe:	ff 75 08             	push   0x8(%ebp)
466a01:	e8 70 17 01 00       	call   0x478176
466a06:	8b f0                	mov    %eax,%esi
466a08:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
466a0f:	59                   	pop    %ecx
466a10:	8b ce                	mov    %esi,%ecx
466a12:	c1 f8 06             	sar    $0x6,%eax
466a15:	83 e1 3f             	and    $0x3f,%ecx
466a18:	89 45 e8             	mov    %eax,-0x18(%ebp)
466a1b:	6b c9 30             	imul   $0x30,%ecx,%ecx
466a1e:	8b 04 85 00 c0 4b 00 	mov    0x4bc000(,%eax,4),%eax
466a25:	89 45 ec             	mov    %eax,-0x14(%ebp)
466a28:	89 4d f4             	mov    %ecx,-0xc(%ebp)
466a2b:	8a 4c 08 29          	mov    0x29(%eax,%ecx,1),%cl
466a2f:	88 4d f8             	mov    %cl,-0x8(%ebp)
466a32:	80 f9 01             	cmp    $0x1,%cl
466a35:	74 07                	je     0x466a3e
466a37:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
466a3e:	8b 45 08             	mov    0x8(%ebp),%eax
466a41:	8b 48 08             	mov    0x8(%eax),%ecx
466a44:	89 4d f0             	mov    %ecx,-0x10(%ebp)
466a47:	85 c9                	test   %ecx,%ecx
466a49:	75 0b                	jne    0x466a56
466a4b:	8b 45 0c             	mov    0xc(%ebp),%eax
466a4e:	8b 55 10             	mov    0x10(%ebp),%edx
466a51:	e9 0d 01 00 00       	jmp    0x466b63
466a56:	8b 08                	mov    (%eax),%ecx
466a58:	2b 48 04             	sub    0x4(%eax),%ecx
466a5b:	53                   	push   %ebx
466a5c:	8b c1                	mov    %ecx,%eax
466a5e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
466a61:	99                   	cltd
466a62:	57                   	push   %edi
466a63:	8b f8                	mov    %eax,%edi
466a65:	8b da                	mov    %edx,%ebx
466a67:	8b 45 f0             	mov    -0x10(%ebp),%eax
466a6a:	99                   	cltd
466a6b:	03 f8                	add    %eax,%edi
466a6d:	8b 45 f4             	mov    -0xc(%ebp),%eax
466a70:	13 da                	adc    %edx,%ebx
466a72:	f6 44 01 28 80       	testb  $0x80,0x28(%ecx,%eax,1)
466a77:	0f 84 ba 00 00 00    	je     0x466b37
466a7d:	6a 02                	push   $0x2
466a7f:	6a 00                	push   $0x0
466a81:	6a 00                	push   $0x0
466a83:	56                   	push   %esi
466a84:	e8 90 30 01 00       	call   0x479b19
466a89:	83 c4 10             	add    $0x10,%esp
466a8c:	3b 45 0c             	cmp    0xc(%ebp),%eax
466a8f:	75 29                	jne    0x466aba
466a91:	3b 55 10             	cmp    0x10(%ebp),%edx
466a94:	75 24                	jne    0x466aba
466a96:	8b 75 08             	mov    0x8(%ebp),%esi
466a99:	ff 75 f8             	push   -0x8(%ebp)
466a9c:	8b 4e 04             	mov    0x4(%esi),%ecx
466a9f:	8d 04 39             	lea    (%ecx,%edi,1),%eax
466aa2:	50                   	push   %eax
466aa3:	51                   	push   %ecx
466aa4:	e8 5a 02 00 00       	call   0x466d03
466aa9:	83 c4 0c             	add    $0xc,%esp
466aac:	03 f8                	add    %eax,%edi
466aae:	8b 46 0c             	mov    0xc(%esi),%eax
466ab1:	13 da                	adc    %edx,%ebx
466ab3:	c1 e8 05             	shr    $0x5,%eax
466ab6:	a8 01                	test   $0x1,%al
466ab8:	eb 6d                	jmp    0x466b27
466aba:	6a 00                	push   $0x0
466abc:	ff 75 10             	push   0x10(%ebp)
466abf:	ff 75 0c             	push   0xc(%ebp)
466ac2:	56                   	push   %esi
466ac3:	e8 51 30 01 00       	call   0x479b19
466ac8:	23 c2                	and    %edx,%eax
466aca:	83 c4 10             	add    $0x10,%esp
466acd:	83 ca ff             	or     $0xffffffff,%edx
466ad0:	3b c2                	cmp    %edx,%eax
466ad2:	75 07                	jne    0x466adb
466ad4:	8b c2                	mov    %edx,%eax
466ad6:	e9 86 00 00 00       	jmp    0x466b61
466adb:	85 db                	test   %ebx,%ebx
466add:	7f 2b                	jg     0x466b0a
466adf:	b9 00 02 00 00       	mov    $0x200,%ecx
466ae4:	7c 04                	jl     0x466aea
466ae6:	3b f9                	cmp    %ecx,%edi
466ae8:	77 20                	ja     0x466b0a
466aea:	8b 45 08             	mov    0x8(%ebp),%eax
466aed:	8b 40 0c             	mov    0xc(%eax),%eax
466af0:	c1 e8 06             	shr    $0x6,%eax
466af3:	a8 01                	test   $0x1,%al
466af5:	74 13                	je     0x466b0a
466af7:	8b 45 08             	mov    0x8(%ebp),%eax
466afa:	8b 40 0c             	mov    0xc(%eax),%eax
466afd:	c1 e8 08             	shr    $0x8,%eax
466b00:	a8 01                	test   $0x1,%al
466b02:	75 06                	jne    0x466b0a
466b04:	8b f9                	mov    %ecx,%edi
466b06:	33 db                	xor    %ebx,%ebx
466b08:	eb 0b                	jmp    0x466b15
466b0a:	8b 45 08             	mov    0x8(%ebp),%eax
466b0d:	8b 40 18             	mov    0x18(%eax),%eax
466b10:	99                   	cltd
466b11:	8b f8                	mov    %eax,%edi
466b13:	8b da                	mov    %edx,%ebx
466b15:	8b 4d e8             	mov    -0x18(%ebp),%ecx
466b18:	8b 45 f4             	mov    -0xc(%ebp),%eax
466b1b:	8b 0c 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%ecx
466b22:	f6 44 01 28 04       	testb  $0x4,0x28(%ecx,%eax,1)
466b27:	74 0e                	je     0x466b37
466b29:	ff 75 f8             	push   -0x8(%ebp)
466b2c:	e8 8a fe ff ff       	call   0x4669bb
466b31:	03 f8                	add    %eax,%edi
466b33:	59                   	pop    %ecx
466b34:	83 d3 00             	adc    $0x0,%ebx
466b37:	6a 00                	push   $0x0
466b39:	ff 75 fc             	push   -0x4(%ebp)
466b3c:	53                   	push   %ebx
466b3d:	57                   	push   %edi
466b3e:	e8 ed 8f fd ff       	call   0x43fb30
466b43:	6a 00                	push   $0x0
466b45:	ff 75 fc             	push   -0x4(%ebp)
466b48:	8b fa                	mov    %edx,%edi
466b4a:	8b f0                	mov    %eax,%esi
466b4c:	ff 75 18             	push   0x18(%ebp)
466b4f:	ff 75 14             	push   0x14(%ebp)
466b52:	e8 d9 8f fd ff       	call   0x43fb30
466b57:	2b c6                	sub    %esi,%eax
466b59:	1b d7                	sbb    %edi,%edx
466b5b:	03 45 0c             	add    0xc(%ebp),%eax
466b5e:	13 55 10             	adc    0x10(%ebp),%edx
466b61:	5f                   	pop    %edi
466b62:	5b                   	pop    %ebx
466b63:	5e                   	pop    %esi
466b64:	8b e5                	mov    %ebp,%esp
466b66:	5d                   	pop    %ebp
466b67:	c3                   	ret
466b68:	8b ff                	mov    %edi,%edi
466b6a:	55                   	push   %ebp
466b6b:	8b ec                	mov    %esp,%ebp
466b6d:	b8 18 10 00 00       	mov    $0x1018,%eax
466b72:	e8 d9 a2 fd ff       	call   0x440e50
466b77:	a1 94 80 4b 00       	mov    0x4b8094,%eax
466b7c:	33 c5                	xor    %ebp,%eax
466b7e:	89 45 fc             	mov    %eax,-0x4(%ebp)
466b81:	53                   	push   %ebx
466b82:	ff 75 08             	push   0x8(%ebp)
466b85:	e8 ec 15 01 00       	call   0x478176
466b8a:	59                   	pop    %ecx
466b8b:	8b 4d 08             	mov    0x8(%ebp),%ecx
466b8e:	8b d8                	mov    %eax,%ebx
466b90:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
466b94:	75 0b                	jne    0x466ba1
466b96:	8b 45 0c             	mov    0xc(%ebp),%eax
466b99:	8b 55 10             	mov    0x10(%ebp),%edx
466b9c:	e9 53 01 00 00       	jmp    0x466cf4
466ba1:	8b 01                	mov    (%ecx),%eax
466ba3:	2b 41 04             	sub    0x4(%ecx),%eax
466ba6:	56                   	push   %esi
466ba7:	57                   	push   %edi
466ba8:	6a 00                	push   $0x0
466baa:	99                   	cltd
466bab:	6a 02                	push   $0x2
466bad:	52                   	push   %edx
466bae:	50                   	push   %eax
466baf:	e8 7c 8f fd ff       	call   0x43fb30
466bb4:	8b cb                	mov    %ebx,%ecx
466bb6:	89 85 f8 ef ff ff    	mov    %eax,-0x1008(%ebp)
466bbc:	83 e1 3f             	and    $0x3f,%ecx
466bbf:	89 95 ec ef ff ff    	mov    %edx,-0x1014(%ebp)
466bc5:	8b f3                	mov    %ebx,%esi
466bc7:	6b f9 30             	imul   $0x30,%ecx,%edi
466bca:	c1 fe 06             	sar    $0x6,%esi
466bcd:	6a 00                	push   $0x0
466bcf:	8b 0c b5 00 c0 4b 00 	mov    0x4bc000(,%esi,4),%ecx
466bd6:	ff 74 39 24          	push   0x24(%ecx,%edi,1)
466bda:	ff 74 39 20          	push   0x20(%ecx,%edi,1)
466bde:	53                   	push   %ebx
466bdf:	e8 35 2f 01 00       	call   0x479b19
466be4:	8b 0c b5 00 c0 4b 00 	mov    0x4bc000(,%esi,4),%ecx
466beb:	83 c4 10             	add    $0x10,%esp
466bee:	89 85 f4 ef ff ff    	mov    %eax,-0x100c(%ebp)
466bf4:	8b c2                	mov    %edx,%eax
466bf6:	8b 95 f4 ef ff ff    	mov    -0x100c(%ebp),%edx
466bfc:	89 85 e8 ef ff ff    	mov    %eax,-0x1018(%ebp)
466c02:	3b 54 39 20          	cmp    0x20(%ecx,%edi,1),%edx
466c06:	0f 85 e1 00 00 00    	jne    0x466ced
466c0c:	3b 44 39 24          	cmp    0x24(%ecx,%edi,1),%eax
466c10:	0f 85 d7 00 00 00    	jne    0x466ced
466c16:	6a 00                	push   $0x0
466c18:	8d 85 f0 ef ff ff    	lea    -0x1010(%ebp),%eax
466c1e:	50                   	push   %eax
466c1f:	68 00 10 00 00       	push   $0x1000
466c24:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
466c2a:	50                   	push   %eax
466c2b:	ff 74 39 18          	push   0x18(%ecx,%edi,1)
466c2f:	ff 15 1c 41 49 00    	call   *0x49411c
466c35:	85 c0                	test   %eax,%eax
466c37:	0f 84 b0 00 00 00    	je     0x466ced
466c3d:	6a 00                	push   $0x0
466c3f:	ff 75 10             	push   0x10(%ebp)
466c42:	ff 75 0c             	push   0xc(%ebp)
466c45:	53                   	push   %ebx
466c46:	e8 ce 2e 01 00       	call   0x479b19
466c4b:	83 c4 10             	add    $0x10,%esp
466c4e:	85 d2                	test   %edx,%edx
466c50:	7f 0e                	jg     0x466c60
466c52:	0f 8c 95 00 00 00    	jl     0x466ced
466c58:	85 c0                	test   %eax,%eax
466c5a:	0f 82 8d 00 00 00    	jb     0x466ced
466c60:	8b 9d ec ef ff ff    	mov    -0x1014(%ebp),%ebx
466c66:	8b 85 f0 ef ff ff    	mov    -0x1010(%ebp),%eax
466c6c:	85 db                	test   %ebx,%ebx
466c6e:	7c 0a                	jl     0x466c7a
466c70:	7f 7b                	jg     0x466ced
466c72:	39 85 f8 ef ff ff    	cmp    %eax,-0x1008(%ebp)
466c78:	77 73                	ja     0x466ced
466c7a:	8d bd fc ef ff ff    	lea    -0x1004(%ebp),%edi
466c80:	33 d2                	xor    %edx,%edx
466c82:	03 f8                	add    %eax,%edi
466c84:	8d 8d fc ef ff ff    	lea    -0x1004(%ebp),%ecx
466c8a:	33 f6                	xor    %esi,%esi
466c8c:	39 95 f8 ef ff ff    	cmp    %edx,-0x1008(%ebp)
466c92:	75 04                	jne    0x466c98
466c94:	85 db                	test   %ebx,%ebx
466c96:	74 3c                	je     0x466cd4
466c98:	3b cf                	cmp    %edi,%ecx
466c9a:	73 38                	jae    0x466cd4
466c9c:	8a 01                	mov    (%ecx),%al
466c9e:	3c 0d                	cmp    $0xd,%al
466ca0:	75 13                	jne    0x466cb5
466ca2:	8d 47 ff             	lea    -0x1(%edi),%eax
466ca5:	3b c8                	cmp    %eax,%ecx
466ca7:	73 18                	jae    0x466cc1
466ca9:	8d 41 01             	lea    0x1(%ecx),%eax
466cac:	80 38 0a             	cmpb   $0xa,(%eax)
466caf:	75 10                	jne    0x466cc1
466cb1:	8b c8                	mov    %eax,%ecx
466cb3:	eb 0c                	jmp    0x466cc1
466cb5:	0f b6 c0             	movzbl %al,%eax
466cb8:	0f be 80 38 83 4b 00 	movsbl 0x4b8338(%eax),%eax
466cbf:	03 c8                	add    %eax,%ecx
466cc1:	83 c6 01             	add    $0x1,%esi
466cc4:	83 d2 00             	adc    $0x0,%edx