428d2d:	7d 0b                	jge    0x428d3a
428d2f:	f7 5d 0c             	negl   0xc(%ebp)
428d32:	bb e0 99 4a 00       	mov    $0x4a99e0,%ebx
428d37:	83 eb 60             	sub    $0x60,%ebx
428d3a:	39 4d 10             	cmp    %ecx,0x10(%ebp)
428d3d:	75 06                	jne    0x428d45
428d3f:	8b 45 08             	mov    0x8(%ebp),%eax
428d42:	66 89 08             	mov    %cx,(%eax)
428d45:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
428d48:	74 40                	je     0x428d8a
428d4a:	56                   	push   %esi
428d4b:	57                   	push   %edi
428d4c:	8b 45 0c             	mov    0xc(%ebp),%eax
428d4f:	c1 7d 0c 03          	sarl   $0x3,0xc(%ebp)
428d53:	83 e0 07             	and    $0x7,%eax
428d56:	83 c3 54             	add    $0x54,%ebx
428d59:	3b c1                	cmp    %ecx,%eax
428d5b:	74 26                	je     0x428d83
428d5d:	8d 04 40             	lea    (%eax,%eax,2),%eax
428d60:	8d 34 83             	lea    (%ebx,%eax,4),%esi
428d63:	66 81 3e 00 80       	cmpw   $0x8000,(%esi)
428d68:	72 0c                	jb     0x428d76
428d6a:	8d 7d f0             	lea    -0x10(%ebp),%edi
428d6d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
428d6e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
428d6f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
428d70:	ff 4d f2             	decl   -0xe(%ebp)
428d73:	8d 75 f0             	lea    -0x10(%ebp),%esi
428d76:	56                   	push   %esi
428d77:	ff 75 08             	push   0x8(%ebp)
428d7a:	e8 5e fd ff ff       	call   0x428add
428d7f:	59                   	pop    %ecx
428d80:	59                   	pop    %ecx
428d81:	33 c9                	xor    %ecx,%ecx
428d83:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
428d86:	75 c4                	jne    0x428d4c
428d88:	5f                   	pop    %edi
428d89:	5e                   	pop    %esi
428d8a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
428d8d:	5b                   	pop    %ebx
428d8e:	e8 4b ee fe ff       	call   0x417bde
428d93:	c9                   	leave
428d94:	c3                   	ret
428d95:	8b 4c 24 04          	mov    0x4(%esp),%ecx
428d99:	85 c9                	test   %ecx,%ecx
428d9b:	74 0b                	je     0x428da8
428d9d:	49                   	dec    %ecx
428d9e:	80 38 00             	cmpb   $0x0,(%eax)
428da1:	74 06                	je     0x428da9
428da3:	40                   	inc    %eax
428da4:	85 c9                	test   %ecx,%ecx
428da6:	75 f5                	jne    0x428d9d
428da8:	49                   	dec    %ecx
428da9:	8b 44 24 04          	mov    0x4(%esp),%eax
428dad:	2b c1                	sub    %ecx,%eax
428daf:	48                   	dec    %eax
428db0:	c3                   	ret
428db1:	6a 40                	push   $0x40
428db3:	68 08 40 49 00       	push   $0x494008
428db8:	e8 2b f4 fe ff       	call   0x4181e8
428dbd:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
428dc2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
428dc5:	33 ff                	xor    %edi,%edi
428dc7:	33 f6                	xor    %esi,%esi
428dc9:	46                   	inc    %esi
428dca:	39 3d c8 cb 4a 00    	cmp    %edi,0x4acbc8
428dd0:	75 32                	jne    0x428e04
428dd2:	56                   	push   %esi
428dd3:	b8 c4 29 49 00       	mov    $0x4929c4,%eax
428dd8:	50                   	push   %eax
428dd9:	56                   	push   %esi
428dda:	50                   	push   %eax
428ddb:	57                   	push   %edi
428ddc:	57                   	push   %edi
428ddd:	ff 15 80 03 4b 00    	call   *0x4b0380
428de3:	85 c0                	test   %eax,%eax
428de5:	74 08                	je     0x428def
428de7:	89 35 c8 cb 4a 00    	mov    %esi,0x4acbc8
428ded:	eb 15                	jmp    0x428e04
428def:	ff 15 9c 03 4b 00    	call   *0x4b039c
428df5:	83 f8 78             	cmp    $0x78,%eax
428df8:	75 0a                	jne    0x428e04
428dfa:	c7 05 c8 cb 4a 00 02 	movl   $0x2,0x4acbc8
428e01:	00 00 00
428e04:	39 7d 14             	cmp    %edi,0x14(%ebp)
428e07:	7e 0f                	jle    0x428e18
428e09:	ff 75 14             	push   0x14(%ebp)
428e0c:	8b 45 10             	mov    0x10(%ebp),%eax
428e0f:	e8 81 ff ff ff       	call   0x428d95
428e14:	59                   	pop    %ecx
428e15:	89 45 14             	mov    %eax,0x14(%ebp)
428e18:	8b 45 1c             	mov    0x1c(%ebp),%eax
428e1b:	3b c7                	cmp    %edi,%eax
428e1d:	7e 0d                	jle    0x428e2c
428e1f:	50                   	push   %eax
428e20:	8b 45 18             	mov    0x18(%ebp),%eax
428e23:	e8 6d ff ff ff       	call   0x428d95
428e28:	59                   	pop    %ecx
428e29:	89 45 1c             	mov    %eax,0x1c(%ebp)
428e2c:	8b 0d c8 cb 4a 00    	mov    0x4acbc8,%ecx
428e32:	6a 02                	push   $0x2
428e34:	5b                   	pop    %ebx
428e35:	3b cb                	cmp    %ebx,%ecx
428e37:	0f 84 39 02 00 00    	je     0x429076
428e3d:	3b cf                	cmp    %edi,%ecx
428e3f:	0f 84 31 02 00 00    	je     0x429076
428e45:	3b ce                	cmp    %esi,%ecx
428e47:	0f 85 56 02 00 00    	jne    0x4290a3
428e4d:	89 7d c4             	mov    %edi,-0x3c(%ebp)
428e50:	89 7d bc             	mov    %edi,-0x44(%ebp)
428e53:	89 7d c0             	mov    %edi,-0x40(%ebp)
428e56:	39 7d 20             	cmp    %edi,0x20(%ebp)
428e59:	75 09                	jne    0x428e64
428e5b:	8b 0d 34 cb 4a 00    	mov    0x4acb34,%ecx
428e61:	89 4d 20             	mov    %ecx,0x20(%ebp)
428e64:	39 7d 14             	cmp    %edi,0x14(%ebp)
428e67:	74 08                	je     0x428e71
428e69:	3b c7                	cmp    %edi,%eax
428e6b:	0f 85 a9 00 00 00    	jne    0x428f1a
428e71:	39 45 14             	cmp    %eax,0x14(%ebp)
428e74:	75 07                	jne    0x428e7d
428e76:	8b c3                	mov    %ebx,%eax
428e78:	e9 a7 02 00 00       	jmp    0x429124
428e7d:	3b c6                	cmp    %esi,%eax
428e7f:	0f 8f 9d 02 00 00    	jg     0x429122
428e85:	39 75 14             	cmp    %esi,0x14(%ebp)
428e88:	7e 08                	jle    0x428e92
428e8a:	6a 03                	push   $0x3
428e8c:	58                   	pop    %eax
428e8d:	e9 92 02 00 00       	jmp    0x429124
428e92:	8d 45 d0             	lea    -0x30(%ebp),%eax
428e95:	50                   	push   %eax
428e96:	ff 75 20             	push   0x20(%ebp)
428e99:	ff 15 0c 02 4b 00    	call   *0x4b020c
428e9f:	85 c0                	test   %eax,%eax
428ea1:	0f 84 fc 01 00 00    	je     0x4290a3
428ea7:	39 7d 14             	cmp    %edi,0x14(%ebp)
428eaa:	7e 2b                	jle    0x428ed7
428eac:	39 5d d0             	cmp    %ebx,-0x30(%ebp)
428eaf:	72 d9                	jb     0x428e8a
428eb1:	8d 45 d6             	lea    -0x2a(%ebp),%eax
428eb4:	80 7d d6 00          	cmpb   $0x0,-0x2a(%ebp)
428eb8:	74 d0                	je     0x428e8a
428eba:	8a 50 01             	mov    0x1(%eax),%dl
428ebd:	84 d2                	test   %dl,%dl
428ebf:	74 c9                	je     0x428e8a
428ec1:	8b 4d 10             	mov    0x10(%ebp),%ecx
428ec4:	8a 09                	mov    (%ecx),%cl
428ec6:	3a 08                	cmp    (%eax),%cl
428ec8:	72 04                	jb     0x428ece
428eca:	3a ca                	cmp    %dl,%cl
428ecc:	76 a8                	jbe    0x428e76
428ece:	03 c3                	add    %ebx,%eax
428ed0:	80 38 00             	cmpb   $0x0,(%eax)
428ed3:	75 e5                	jne    0x428eba
428ed5:	eb b3                	jmp    0x428e8a
428ed7:	39 7d 1c             	cmp    %edi,0x1c(%ebp)
428eda:	7e 3e                	jle    0x428f1a
428edc:	39 5d d0             	cmp    %ebx,-0x30(%ebp)
428edf:	0f 82 3d 02 00 00    	jb     0x429122
428ee5:	8d 45 d6             	lea    -0x2a(%ebp),%eax
428ee8:	80 7d d6 00          	cmpb   $0x0,-0x2a(%ebp)
428eec:	0f 84 30 02 00 00    	je     0x429122
428ef2:	8a 50 01             	mov    0x1(%eax),%dl
428ef5:	84 d2                	test   %dl,%dl
428ef7:	0f 84 25 02 00 00    	je     0x429122
428efd:	8b 4d 18             	mov    0x18(%ebp),%ecx
428f00:	8a 09                	mov    (%ecx),%cl
428f02:	3a 08                	cmp    (%eax),%cl
428f04:	72 08                	jb     0x428f0e
428f06:	3a ca                	cmp    %dl,%cl
428f08:	0f 86 68 ff ff ff    	jbe    0x428e76
428f0e:	03 c3                	add    %ebx,%eax
428f10:	80 38 00             	cmpb   $0x0,(%eax)
428f13:	75 dd                	jne    0x428ef2
428f15:	e9 08 02 00 00       	jmp    0x429122
428f1a:	57                   	push   %edi
428f1b:	57                   	push   %edi
428f1c:	ff 75 14             	push   0x14(%ebp)
428f1f:	ff 75 10             	push   0x10(%ebp)
428f22:	6a 09                	push   $0x9
428f24:	ff 75 20             	push   0x20(%ebp)
428f27:	ff 15 a4 03 4b 00    	call   *0x4b03a4
428f2d:	8b d8                	mov    %eax,%ebx
428f2f:	89 5d b8             	mov    %ebx,-0x48(%ebp)
428f32:	3b df                	cmp    %edi,%ebx
428f34:	0f 84 69 01 00 00    	je     0x4290a3
428f3a:	89 7d fc             	mov    %edi,-0x4(%ebp)
428f3d:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
428f40:	83 c0 03             	add    $0x3,%eax
428f43:	83 e0 fc             	and    $0xfffffffc,%eax
428f46:	e8 a5 d7 fe ff       	call   0x4166f0
428f4b:	89 65 e8             	mov    %esp,-0x18(%ebp)
428f4e:	8b c4                	mov    %esp,%eax
428f50:	89 45 cc             	mov    %eax,-0x34(%ebp)
428f53:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
428f57:	eb 1c                	jmp    0x428f75
428f59:	33 c0                	xor    %eax,%eax
428f5b:	40                   	inc    %eax
428f5c:	c3                   	ret
428f5d:	8b 65 e8             	mov    -0x18(%ebp),%esp
428f60:	e8 aa d4 fe ff       	call   0x41640f
428f65:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
428f69:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
428f6d:	8b 5d b8             	mov    -0x48(%ebp),%ebx
428f70:	33 f6                	xor    %esi,%esi
428f72:	46                   	inc    %esi
428f73:	33 ff                	xor    %edi,%edi
428f75:	8b 45 cc             	mov    -0x34(%ebp),%eax
428f78:	3b c7                	cmp    %edi,%eax
428f7a:	75 18                	jne    0x428f94
428f7c:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
428f7f:	50                   	push   %eax
428f80:	e8 07 d4 fe ff       	call   0x41638c
428f85:	59                   	pop    %ecx
428f86:	89 45 cc             	mov    %eax,-0x34(%ebp)
428f89:	3b c7                	cmp    %edi,%eax
428f8b:	0f 84 12 01 00 00    	je     0x4290a3
428f91:	89 75 c4             	mov    %esi,-0x3c(%ebp)
428f94:	53                   	push   %ebx
428f95:	50                   	push   %eax
428f96:	ff 75 14             	push   0x14(%ebp)
428f99:	ff 75 10             	push   0x10(%ebp)
428f9c:	56                   	push   %esi
428f9d:	ff 75 20             	push   0x20(%ebp)
428fa0:	ff 15 a4 03 4b 00    	call   *0x4b03a4
428fa6:	85 c0                	test   %eax,%eax
428fa8:	0f 84 b1 00 00 00    	je     0x42905f
428fae:	6a 00                	push   $0x0
428fb0:	6a 00                	push   $0x0
428fb2:	ff 75 1c             	push   0x1c(%ebp)
428fb5:	ff 75 18             	push   0x18(%ebp)
428fb8:	6a 09                	push   $0x9
428fba:	ff 75 20             	push   0x20(%ebp)
428fbd:	ff 15 a4 03 4b 00    	call   *0x4b03a4
428fc3:	8b f0                	mov    %eax,%esi
428fc5:	89 75 b4             	mov    %esi,-0x4c(%ebp)
428fc8:	85 f6                	test   %esi,%esi
428fca:	0f 84 8f 00 00 00    	je     0x42905f
428fd0:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
428fd7:	8d 04 36             	lea    (%esi,%esi,1),%eax
428fda:	83 c0 03             	add    $0x3,%eax
428fdd:	83 e0 fc             	and    $0xfffffffc,%eax
428fe0:	e8 0b d7 fe ff       	call   0x4166f0
428fe5:	89 65 e8             	mov    %esp,-0x18(%ebp)
428fe8:	8b fc                	mov    %esp,%edi
428fea:	89 7d b0             	mov    %edi,-0x50(%ebp)
428fed:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
428ff1:	eb 18                	jmp    0x42900b
428ff3:	33 c0                	xor    %eax,%eax
428ff5:	40                   	inc    %eax
428ff6:	c3                   	ret
428ff7:	8b 65 e8             	mov    -0x18(%ebp),%esp
428ffa:	e8 10 d4 fe ff       	call   0x41640f
428fff:	33 ff                	xor    %edi,%edi
429001:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
429005:	8b 5d b8             	mov    -0x48(%ebp),%ebx
429008:	8b 75 b4             	mov    -0x4c(%ebp),%esi
42900b:	85 ff                	test   %edi,%edi
42900d:	75 17                	jne    0x429026
42900f:	8d 04 36             	lea    (%esi,%esi,1),%eax
429012:	50                   	push   %eax
429013:	e8 74 d3 fe ff       	call   0x41638c
429018:	59                   	pop    %ecx
429019:	8b f8                	mov    %eax,%edi
42901b:	85 ff                	test   %edi,%edi
42901d:	74 40                	je     0x42905f
42901f:	c7 45 bc 01 00 00 00 	movl   $0x1,-0x44(%ebp)
429026:	56                   	push   %esi
429027:	57                   	push   %edi
429028:	ff 75 1c             	push   0x1c(%ebp)
42902b:	ff 75 18             	push   0x18(%ebp)
42902e:	6a 01                	push   $0x1
429030:	ff 75 20             	push   0x20(%ebp)
429033:	ff 15 a4 03 4b 00    	call   *0x4b03a4
429039:	85 c0                	test   %eax,%eax
42903b:	74 15                	je     0x429052
42903d:	56                   	push   %esi
42903e:	57                   	push   %edi
42903f:	53                   	push   %ebx
429040:	ff 75 cc             	push   -0x34(%ebp)
429043:	ff 75 0c             	push   0xc(%ebp)
429046:	ff 75 08             	push   0x8(%ebp)
429049:	ff 15 80 03 4b 00    	call   *0x4b0380
42904f:	89 45 c0             	mov    %eax,-0x40(%ebp)
429052:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
429056:	74 07                	je     0x42905f
429058:	57                   	push   %edi
429059:	e8 40 d3 fe ff       	call   0x41639e
42905e:	59                   	pop    %ecx
42905f:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
429063:	74 09                	je     0x42906e
429065:	ff 75 cc             	push   -0x34(%ebp)
429068:	e8 31 d3 fe ff       	call   0x41639e
42906d:	59                   	pop    %ecx
42906e:	8b 45 c0             	mov    -0x40(%ebp),%eax
429071:	e9 ae 00 00 00       	jmp    0x429124
429076:	89 7d c8             	mov    %edi,-0x38(%ebp)
429079:	39 7d 08             	cmp    %edi,0x8(%ebp)
42907c:	75 08                	jne    0x429086
42907e:	a1 24 cb 4a 00       	mov    0x4acb24,%eax
429083:	89 45 08             	mov    %eax,0x8(%ebp)
429086:	8b 5d 20             	mov    0x20(%ebp),%ebx
429089:	3b df                	cmp    %edi,%ebx
42908b:	75 06                	jne    0x429093
42908d:	8b 1d 34 cb 4a 00    	mov    0x4acb34,%ebx
429093:	ff 75 08             	push   0x8(%ebp)
429096:	e8 1b e7 ff ff       	call   0x4277b6
42909b:	59                   	pop    %ecx
42909c:	8b f0                	mov    %eax,%esi
42909e:	83 fe ff             	cmp    $0xffffffff,%esi
4290a1:	75 04                	jne    0x4290a7
4290a3:	33 c0                	xor    %eax,%eax
4290a5:	eb 7d                	jmp    0x429124
4290a7:	3b f3                	cmp    %ebx,%esi
4290a9:	74 49                	je     0x4290f4
4290ab:	6a 00                	push   $0x0
4290ad:	6a 00                	push   $0x0
4290af:	8d 45 14             	lea    0x14(%ebp),%eax
4290b2:	50                   	push   %eax
4290b3:	ff 75 10             	push   0x10(%ebp)
4290b6:	56                   	push   %esi
4290b7:	53                   	push   %ebx
4290b8:	e8 3c e7 ff ff       	call   0x4277f9
4290bd:	83 c4 18             	add    $0x18,%esp
4290c0:	8b f8                	mov    %eax,%edi
4290c2:	85 ff                	test   %edi,%edi
4290c4:	74 dd                	je     0x4290a3
4290c6:	6a 00                	push   $0x0
4290c8:	6a 00                	push   $0x0
4290ca:	8d 45 1c             	lea    0x1c(%ebp),%eax
4290cd:	50                   	push   %eax
4290ce:	ff 75 18             	push   0x18(%ebp)
4290d1:	56                   	push   %esi
4290d2:	53                   	push   %ebx
4290d3:	e8 21 e7 ff ff       	call   0x4277f9
4290d8:	83 c4 18             	add    $0x18,%esp
4290db:	89 45 c8             	mov    %eax,-0x38(%ebp)
4290de:	85 c0                	test   %eax,%eax
4290e0:	75 09                	jne    0x4290eb
4290e2:	57                   	push   %edi
4290e3:	e8 b6 d2 fe ff       	call   0x41639e
4290e8:	59                   	pop    %ecx
4290e9:	eb b8                	jmp    0x4290a3
4290eb:	89 7d 10             	mov    %edi,0x10(%ebp)
4290ee:	8b 45 c8             	mov    -0x38(%ebp),%eax
4290f1:	89 45 18             	mov    %eax,0x18(%ebp)
4290f4:	ff 75 1c             	push   0x1c(%ebp)
4290f7:	ff 75 18             	push   0x18(%ebp)
4290fa:	ff 75 14             	push   0x14(%ebp)