414ba9:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
414baf:	e9 86 00 00 00       	jmp    0x414c3a
414bb4:	40                   	inc    %eax
414bb5:	3b c2                	cmp    %edx,%eax
414bb7:	75 04                	jne    0x414bbd
414bb9:	03 f2                	add    %edx,%esi
414bbb:	eb 53                	jmp    0x414c10
414bbd:	8b 45 f8             	mov    -0x8(%ebp),%eax
414bc0:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
414bc5:	74 35                	je     0x414bfc
414bc7:	46                   	inc    %esi
414bc8:	88 4c 38 2a          	mov    %cl,0x2a(%eax,%edi,1)
414bcc:	83 fa 02             	cmp    $0x2,%edx
414bcf:	72 11                	jb     0x414be2
414bd1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414bd4:	8a 06                	mov    (%esi),%al
414bd6:	46                   	inc    %esi
414bd7:	8b 0c 8d c0 41 42 00 	mov    0x4241c0(,%ecx,4),%ecx
414bde:	88 44 39 2b          	mov    %al,0x2b(%ecx,%edi,1)
414be2:	83 fa 03             	cmp    $0x3,%edx
414be5:	75 11                	jne    0x414bf8
414be7:	8b 45 fc             	mov    -0x4(%ebp),%eax
414bea:	8b 0c 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%ecx
414bf1:	8a 06                	mov    (%esi),%al
414bf3:	46                   	inc    %esi
414bf4:	88 44 39 2c          	mov    %al,0x2c(%ecx,%edi,1)
414bf8:	2b f2                	sub    %edx,%esi
414bfa:	eb 14                	jmp    0x414c10
414bfc:	f7 da                	neg    %edx
414bfe:	8b c2                	mov    %edx,%eax
414c00:	6a 01                	push   $0x1
414c02:	99                   	cltd
414c03:	52                   	push   %edx
414c04:	50                   	push   %eax
414c05:	ff 75 08             	push   0x8(%ebp)
414c08:	e8 04 97 ff ff       	call   0x40e311
414c0d:	83 c4 10             	add    $0x10,%esp
414c10:	ff 75 18             	push   0x18(%ebp)
414c13:	2b f3                	sub    %ebx,%esi
414c15:	ff 75 14             	push   0x14(%ebp)
414c18:	56                   	push   %esi
414c19:	53                   	push   %ebx
414c1a:	6a 00                	push   $0x0
414c1c:	68 e9 fd 00 00       	push   $0xfde9
414c21:	ff 15 2c b1 41 00    	call   *0x41b12c
414c27:	8b d0                	mov    %eax,%edx
414c29:	85 d2                	test   %edx,%edx
414c2b:	75 12                	jne    0x414c3f
414c2d:	ff 15 48 b0 41 00    	call   *0x41b048
414c33:	50                   	push   %eax
414c34:	e8 98 30 ff ff       	call   0x407cd1
414c39:	59                   	pop    %ecx
414c3a:	83 c8 ff             	or     $0xffffffff,%eax
414c3d:	eb 1e                	jmp    0x414c5d
414c3f:	8b 45 fc             	mov    -0x4(%ebp),%eax
414c42:	3b d6                	cmp    %esi,%edx
414c44:	8b 0c 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%ecx
414c4b:	0f 95 c0             	setne  %al
414c4e:	02 c0                	add    %al,%al
414c50:	32 44 39 2d          	xor    0x2d(%ecx,%edi,1),%al
414c54:	24 02                	and    $0x2,%al
414c56:	30 44 39 2d          	xor    %al,0x2d(%ecx,%edi,1)
414c5a:	8d 04 12             	lea    (%edx,%edx,1),%eax
414c5d:	5e                   	pop    %esi
414c5e:	5f                   	pop    %edi
414c5f:	5b                   	pop    %ebx
414c60:	8b e5                	mov    %ebp,%esp
414c62:	5d                   	pop    %ebp
414c63:	c3                   	ret
414c64:	8b ff                	mov    %edi,%edi
414c66:	55                   	push   %ebp
414c67:	8b ec                	mov    %esp,%ebp
414c69:	8b 45 10             	mov    0x10(%ebp),%eax
414c6c:	56                   	push   %esi
414c6d:	57                   	push   %edi
414c6e:	8b 7d 0c             	mov    0xc(%ebp),%edi
414c71:	8b f7                	mov    %edi,%esi
414c73:	8d 14 47             	lea    (%edi,%eax,2),%edx
414c76:	8b c7                	mov    %edi,%eax
414c78:	3b fa                	cmp    %edx,%edi
414c7a:	73 5e                	jae    0x414cda
414c7c:	8d 4f 02             	lea    0x2(%edi),%ecx
414c7f:	53                   	push   %ebx
414c80:	0f b7 18             	movzwl (%eax),%ebx
414c83:	83 fb 1a             	cmp    $0x1a,%ebx
414c86:	74 37                	je     0x414cbf
414c88:	83 fb 0d             	cmp    $0xd,%ebx
414c8b:	75 20                	jne    0x414cad
414c8d:	3b ca                	cmp    %edx,%ecx
414c8f:	73 1c                	jae    0x414cad
414c91:	6a 0a                	push   $0xa
414c93:	5f                   	pop    %edi
414c94:	66 39 39             	cmp    %di,(%ecx)
414c97:	8b 7d 0c             	mov    0xc(%ebp),%edi
414c9a:	75 11                	jne    0x414cad
414c9c:	6a 0a                	push   $0xa
414c9e:	5b                   	pop    %ebx
414c9f:	83 c0 04             	add    $0x4,%eax
414ca2:	66 89 1e             	mov    %bx,(%esi)
414ca5:	83 c1 04             	add    $0x4,%ecx
414ca8:	83 c6 02             	add    $0x2,%esi
414cab:	eb 0c                	jmp    0x414cb9
414cad:	66 89 1e             	mov    %bx,(%esi)
414cb0:	83 c0 02             	add    $0x2,%eax
414cb3:	83 c6 02             	add    $0x2,%esi
414cb6:	83 c1 02             	add    $0x2,%ecx
414cb9:	3b c2                	cmp    %edx,%eax
414cbb:	72 c3                	jb     0x414c80
414cbd:	eb 1a                	jmp    0x414cd9
414cbf:	8b 45 08             	mov    0x8(%ebp),%eax
414cc2:	8b c8                	mov    %eax,%ecx
414cc4:	83 e0 3f             	and    $0x3f,%eax
414cc7:	c1 f9 06             	sar    $0x6,%ecx
414cca:	6b d0 30             	imul   $0x30,%eax,%edx
414ccd:	8b 0c 8d c0 41 42 00 	mov    0x4241c0(,%ecx,4),%ecx
414cd4:	80 4c 11 28 02       	orb    $0x2,0x28(%ecx,%edx,1)
414cd9:	5b                   	pop    %ebx
414cda:	2b f7                	sub    %edi,%esi
414cdc:	83 e6 fe             	and    $0xfffffffe,%esi
414cdf:	5f                   	pop    %edi
414ce0:	8b c6                	mov    %esi,%eax
414ce2:	5e                   	pop    %esi
414ce3:	5d                   	pop    %ebp
414ce4:	c3                   	ret
414ce5:	8b ff                	mov    %edi,%edi
414ce7:	55                   	push   %ebp
414ce8:	8b ec                	mov    %esp,%ebp
414cea:	83 ec 28             	sub    $0x28,%esp
414ced:	53                   	push   %ebx
414cee:	8b 5d 08             	mov    0x8(%ebp),%ebx
414cf1:	57                   	push   %edi
414cf2:	83 fb fe             	cmp    $0xfffffffe,%ebx
414cf5:	75 18                	jne    0x414d0f
414cf7:	e8 f8 2f ff ff       	call   0x407cf4
414cfc:	83 20 00             	andl   $0x0,(%eax)
414cff:	e8 03 30 ff ff       	call   0x407d07
414d04:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
414d0a:	e9 82 03 00 00       	jmp    0x415091
414d0f:	85 db                	test   %ebx,%ebx
414d11:	0f 88 62 03 00 00    	js     0x415079
414d17:	3b 1d c0 43 42 00    	cmp    0x4243c0,%ebx
414d1d:	0f 83 56 03 00 00    	jae    0x415079
414d23:	8b c3                	mov    %ebx,%eax
414d25:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
414d2c:	83 e0 3f             	and    $0x3f,%eax
414d2f:	8b fb                	mov    %ebx,%edi
414d31:	c1 ff 06             	sar    $0x6,%edi
414d34:	6b d0 30             	imul   $0x30,%eax,%edx
414d37:	89 7d f0             	mov    %edi,-0x10(%ebp)
414d3a:	8b 04 bd c0 41 42 00 	mov    0x4241c0(,%edi,4),%eax
414d41:	89 55 e8             	mov    %edx,-0x18(%ebp)
414d44:	8a 4c 02 28          	mov    0x28(%edx,%eax,1),%cl
414d48:	88 4d ff             	mov    %cl,-0x1(%ebp)
414d4b:	f6 c1 01             	test   $0x1,%cl
414d4e:	0f 84 25 03 00 00    	je     0x415079
414d54:	8b 4d 10             	mov    0x10(%ebp),%ecx
414d57:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
414d5d:	76 18                	jbe    0x414d77
414d5f:	e8 90 2f ff ff       	call   0x407cf4
414d64:	83 20 00             	andl   $0x0,(%eax)
414d67:	e8 9b 2f ff ff       	call   0x407d07
414d6c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
414d72:	e9 15 03 00 00       	jmp    0x41508c
414d77:	85 c9                	test   %ecx,%ecx
414d79:	0f 84 f6 02 00 00    	je     0x415075
414d7f:	f6 45 ff 02          	testb  $0x2,-0x1(%ebp)
414d83:	0f 85 ec 02 00 00    	jne    0x415075
414d89:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
414d8d:	74 d0                	je     0x414d5f
414d8f:	56                   	push   %esi
414d90:	8b 74 02 18          	mov    0x18(%edx,%eax,1),%esi
414d94:	8a 44 02 29          	mov    0x29(%edx,%eax,1),%al
414d98:	88 45 ff             	mov    %al,-0x1(%ebp)
414d9b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
414d9e:	33 f6                	xor    %esi,%esi
414da0:	0f be c0             	movsbl %al,%eax
414da3:	83 e8 01             	sub    $0x1,%eax
414da6:	74 1b                	je     0x414dc3
414da8:	83 e8 01             	sub    $0x1,%eax
414dab:	75 08                	jne    0x414db5
414dad:	8b c1                	mov    %ecx,%eax
414daf:	f7 d0                	not    %eax
414db1:	a8 01                	test   $0x1,%al
414db3:	74 19                	je     0x414dce
414db5:	8b 45 0c             	mov    0xc(%ebp),%eax
414db8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414dbb:	89 45 f8             	mov    %eax,-0x8(%ebp)
414dbe:	e9 9c 00 00 00       	jmp    0x414e5f
414dc3:	8b 55 ec             	mov    -0x14(%ebp),%edx
414dc6:	8b c1                	mov    %ecx,%eax
414dc8:	f7 d0                	not    %eax
414dca:	84 c2                	test   %al,%dl
414dcc:	75 1c                	jne    0x414dea
414dce:	e8 21 2f ff ff       	call   0x407cf4
414dd3:	21 30                	and    %esi,(%eax)
414dd5:	e8 2d 2f ff ff       	call   0x407d07
414dda:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
414de0:	e8 49 2e ff ff       	call   0x407c2e
414de5:	e9 c2 01 00 00       	jmp    0x414fac
414dea:	6a 04                	push   $0x4
414dec:	58                   	pop    %eax
414ded:	d1 e9                	shr    $1,%ecx
414def:	89 45 f4             	mov    %eax,-0xc(%ebp)
414df2:	3b c8                	cmp    %eax,%ecx
414df4:	72 05                	jb     0x414dfb
414df6:	8b c1                	mov    %ecx,%eax
414df8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414dfb:	50                   	push   %eax
414dfc:	e8 5d 4a ff ff       	call   0x40985e
414e01:	6a 00                	push   $0x0
414e03:	8b f0                	mov    %eax,%esi
414e05:	e8 1a 4a ff ff       	call   0x409824
414e0a:	6a 00                	push   $0x0
414e0c:	e8 13 4a ff ff       	call   0x409824
414e11:	83 c4 0c             	add    $0xc,%esp
414e14:	89 75 f8             	mov    %esi,-0x8(%ebp)
414e17:	85 f6                	test   %esi,%esi
414e19:	75 1b                	jne    0x414e36
414e1b:	e8 e7 2e ff ff       	call   0x407d07
414e20:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
414e26:	e8 c9 2e ff ff       	call   0x407cf4
414e2b:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
414e31:	e9 76 01 00 00       	jmp    0x414fac
414e36:	ff 75 ec             	push   -0x14(%ebp)
414e39:	6a 00                	push   $0x0
414e3b:	6a 00                	push   $0x0
414e3d:	53                   	push   %ebx
414e3e:	e8 ce 94 ff ff       	call   0x40e311
414e43:	8b 0c bd c0 41 42 00 	mov    0x4241c0(,%edi,4),%ecx
414e4a:	83 c4 10             	add    $0x10,%esp
414e4d:	8b 7d e8             	mov    -0x18(%ebp),%edi
414e50:	89 44 0f 20          	mov    %eax,0x20(%edi,%ecx,1)
414e54:	8b c6                	mov    %esi,%eax
414e56:	89 54 0f 24          	mov    %edx,0x24(%edi,%ecx,1)
414e5a:	8b d7                	mov    %edi,%edx
414e5c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414e5f:	8b 5d f0             	mov    -0x10(%ebp),%ebx
414e62:	33 ff                	xor    %edi,%edi
414e64:	89 45 dc             	mov    %eax,-0x24(%ebp)
414e67:	8b 1c 9d c0 41 42 00 	mov    0x4241c0(,%ebx,4),%ebx
414e6e:	89 5d e0             	mov    %ebx,-0x20(%ebp)
414e71:	f6 44 1a 28 48       	testb  $0x48,0x28(%edx,%ebx,1)
414e76:	8b 5d 08             	mov    0x8(%ebp),%ebx
414e79:	0f 84 ce 00 00 00    	je     0x414f4d
414e7f:	8b 5d e0             	mov    -0x20(%ebp),%ebx
414e82:	8a 5c 1a 2a          	mov    0x2a(%edx,%ebx,1),%bl
414e86:	88 5d fe             	mov    %bl,-0x2(%ebp)
414e89:	80 fb 0a             	cmp    $0xa,%bl
414e8c:	8b 5d 08             	mov    0x8(%ebp),%ebx
414e8f:	0f 84 b8 00 00 00    	je     0x414f4d
414e95:	85 c9                	test   %ecx,%ecx
414e97:	0f 84 b0 00 00 00    	je     0x414f4d
414e9d:	8a 5d fe             	mov    -0x2(%ebp),%bl
414ea0:	8b 7d ec             	mov    -0x14(%ebp),%edi
414ea3:	88 18                	mov    %bl,(%eax)
414ea5:	40                   	inc    %eax
414ea6:	8b 5d 08             	mov    0x8(%ebp),%ebx
414ea9:	49                   	dec    %ecx
414eaa:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
414eae:	89 45 f8             	mov    %eax,-0x8(%ebp)
414eb1:	8b 45 f0             	mov    -0x10(%ebp),%eax
414eb4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414eb7:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414ebe:	c6 44 02 2a 0a       	movb   $0xa,0x2a(%edx,%eax,1)
414ec3:	0f 84 84 00 00 00    	je     0x414f4d
414ec9:	8b 45 f0             	mov    -0x10(%ebp),%eax
414ecc:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414ed3:	8a 44 02 2b          	mov    0x2b(%edx,%eax,1),%al
414ed7:	88 45 fe             	mov    %al,-0x2(%ebp)
414eda:	3c 0a                	cmp    $0xa,%al
414edc:	74 6f                	je     0x414f4d
414ede:	85 c9                	test   %ecx,%ecx
414ee0:	74 6b                	je     0x414f4d
414ee2:	8b 45 f8             	mov    -0x8(%ebp),%eax
414ee5:	8a 5d fe             	mov    -0x2(%ebp),%bl
414ee8:	6a 02                	push   $0x2
414eea:	5f                   	pop    %edi
414eeb:	88 18                	mov    %bl,(%eax)
414eed:	40                   	inc    %eax
414eee:	8b 5d 08             	mov    0x8(%ebp),%ebx
414ef1:	49                   	dec    %ecx
414ef2:	89 45 f8             	mov    %eax,-0x8(%ebp)
414ef5:	8b 45 f0             	mov    -0x10(%ebp),%eax
414ef8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414efb:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414f02:	c6 44 02 2b 0a       	movb   $0xa,0x2b(%edx,%eax,1)
414f07:	8a 45 ff             	mov    -0x1(%ebp),%al
414f0a:	3a 45 ec             	cmp    -0x14(%ebp),%al
414f0d:	75 3e                	jne    0x414f4d
414f0f:	8b 45 f0             	mov    -0x10(%ebp),%eax
414f12:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414f19:	8a 44 02 2c          	mov    0x2c(%edx,%eax,1),%al
414f1d:	88 45 fe             	mov    %al,-0x2(%ebp)
414f20:	3c 0a                	cmp    $0xa,%al
414f22:	74 29                	je     0x414f4d
414f24:	85 c9                	test   %ecx,%ecx
414f26:	74 25                	je     0x414f4d
414f28:	8b 45 f8             	mov    -0x8(%ebp),%eax
414f2b:	8a 5d fe             	mov    -0x2(%ebp),%bl
414f2e:	6a 03                	push   $0x3
414f30:	5f                   	pop    %edi
414f31:	88 18                	mov    %bl,(%eax)
414f33:	40                   	inc    %eax
414f34:	8b 5d 08             	mov    0x8(%ebp),%ebx
414f37:	49                   	dec    %ecx
414f38:	89 45 f8             	mov    %eax,-0x8(%ebp)
414f3b:	8b 45 f0             	mov    -0x10(%ebp),%eax
414f3e:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414f41:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414f48:	c6 44 02 2c 0a       	movb   $0xa,0x2c(%edx,%eax,1)
414f4d:	53                   	push   %ebx
414f4e:	e8 17 e5 ff ff       	call   0x41346a
414f53:	59                   	pop    %ecx
414f54:	85 c0                	test   %eax,%eax
414f56:	74 71                	je     0x414fc9
414f58:	8b 45 f0             	mov    -0x10(%ebp),%eax
414f5b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
414f5e:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414f65:	f6 44 01 28 80       	testb  $0x80,0x28(%ecx,%eax,1)
414f6a:	74 5d                	je     0x414fc9
414f6c:	8d 45 d8             	lea    -0x28(%ebp),%eax
414f6f:	50                   	push   %eax
414f70:	ff 75 e4             	push   -0x1c(%ebp)
414f73:	ff 15 68 b1 41 00    	call   *0x41b168
414f79:	85 c0                	test   %eax,%eax
414f7b:	74 4c                	je     0x414fc9
414f7d:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
414f81:	75 4a                	jne    0x414fcd
414f83:	6a 00                	push   $0x0
414f85:	8d 45 e0             	lea    -0x20(%ebp),%eax
414f88:	50                   	push   %eax
414f89:	8b 45 f4             	mov    -0xc(%ebp),%eax
414f8c:	d1 e8                	shr    $1,%eax
414f8e:	50                   	push   %eax
414f8f:	ff 75 f8             	push   -0x8(%ebp)
414f92:	ff 75 e4             	push   -0x1c(%ebp)
414f95:	ff 15 e4 b0 41 00    	call   *0x41b0e4
414f9b:	85 c0                	test   %eax,%eax
414f9d:	75 1f                	jne    0x414fbe
414f9f:	ff 15 48 b0 41 00    	call   *0x41b048
414fa5:	50                   	push   %eax
414fa6:	e8 26 2d ff ff       	call   0x407cd1
414fab:	59                   	pop    %ecx
414fac:	83 cf ff             	or     $0xffffffff,%edi
414faf:	56                   	push   %esi
414fb0:	e8 6f 48 ff ff       	call   0x409824
414fb5:	59                   	pop    %ecx
414fb6:	8b c7                	mov    %edi,%eax
414fb8:	5e                   	pop    %esi
414fb9:	e9 d6 00 00 00       	jmp    0x415094