428c7a:	89 45 c4             	mov    %eax,-0x3c(%ebp)
428c7d:	8d 45 ac             	lea    -0x54(%ebp),%eax
428c80:	50                   	push   %eax
428c81:	8b 4d 08             	mov    0x8(%ebp),%ecx
428c84:	8b d3                	mov    %ebx,%edx
428c86:	8b c6                	mov    %esi,%eax
428c88:	e8 f7 f7 ff ff       	call   0x428484
428c8d:	8b 46 28             	mov    0x28(%esi),%eax
428c90:	c6 40 70 00          	movb   $0x0,0x70(%eax)
428c94:	8b c6                	mov    %esi,%eax
428c96:	8b 10                	mov    (%eax),%edx
428c98:	ff 52 24             	call   *0x24(%edx)
428c9b:	85 c0                	test   %eax,%eax
428c9d:	0f 95 c0             	setne  %al
428ca0:	88 46 22             	mov    %al,0x22(%esi)
428ca3:	8b d6                	mov    %esi,%edx
428ca5:	8b c6                	mov    %esi,%eax
428ca7:	8b 08                	mov    (%eax),%ecx
428ca9:	ff 51 10             	call   *0x10(%ecx)
428cac:	5e                   	pop    %esi
428cad:	5b                   	pop    %ebx
428cae:	8b e5                	mov    %ebp,%esp
428cb0:	5d                   	pop    %ebp
428cb1:	c2 04 00             	ret    $0x4
428cb4:	53                   	push   %ebx
428cb5:	56                   	push   %esi
428cb6:	8b da                	mov    %edx,%ebx
428cb8:	8b f0                	mov    %eax,%esi
428cba:	8b c3                	mov    %ebx,%eax
428cbc:	8b 10                	mov    (%eax),%edx
428cbe:	ff 12                	call   *(%edx)
428cc0:	50                   	push   %eax
428cc1:	8b c3                	mov    %ebx,%eax
428cc3:	e8 24 0d ff ff       	call   0x4199ec
428cc8:	59                   	pop    %ecx
428cc9:	2b c8                	sub    %eax,%ecx
428ccb:	8b d3                	mov    %ebx,%edx
428ccd:	8b c6                	mov    %esi,%eax
428ccf:	e8 9c 06 00 00       	call   0x429370
428cd4:	5e                   	pop    %esi
428cd5:	5b                   	pop    %ebx
428cd6:	c3                   	ret
428cd7:	90                   	nop
428cd8:	55                   	push   %ebp
428cd9:	8b ec                	mov    %esp,%ebp
428cdb:	83 c4 f8             	add    $0xfffffff8,%esp
428cde:	53                   	push   %ebx
428cdf:	56                   	push   %esi
428ce0:	57                   	push   %edi
428ce1:	8b f1                	mov    %ecx,%esi
428ce3:	8b da                	mov    %edx,%ebx
428ce5:	89 45 fc             	mov    %eax,-0x4(%ebp)
428ce8:	b2 01                	mov    $0x1,%dl
428cea:	a1 9c 1e 42 00       	mov    0x421e9c,%eax
428cef:	e8 d0 ab fd ff       	call   0x4038c4
428cf4:	89 45 f8             	mov    %eax,-0x8(%ebp)
428cf7:	33 c0                	xor    %eax,%eax
428cf9:	55                   	push   %ebp
428cfa:	68 60 8d 42 00       	push   $0x428d60
428cff:	64 ff 30             	push   %fs:(%eax)
428d02:	64 89 20             	mov    %esp,%fs:(%eax)
428d05:	8b 45 f8             	mov    -0x8(%ebp),%eax
428d08:	89 58 08             	mov    %ebx,0x8(%eax)
428d0b:	8b 45 f8             	mov    -0x8(%ebp),%eax
428d0e:	89 70 10             	mov    %esi,0x10(%eax)
428d11:	8b 45 10             	mov    0x10(%ebp),%eax
428d14:	8b 55 f8             	mov    -0x8(%ebp),%edx
428d17:	8b f0                	mov    %eax,%esi
428d19:	8d 7a 18             	lea    0x18(%edx),%edi
428d1c:	b9 15 00 00 00       	mov    $0x15,%ecx
428d21:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
428d23:	8b 45 f8             	mov    -0x8(%ebp),%eax
428d26:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
428d2a:	88 50 70             	mov    %dl,0x70(%eax)
428d2d:	8b 45 f8             	mov    -0x8(%ebp),%eax
428d30:	83 78 2c 00          	cmpl   $0x0,0x2c(%eax)
428d34:	74 0c                	je     0x428d42
428d36:	8b 45 f8             	mov    -0x8(%ebp),%eax
428d39:	8b 40 08             	mov    0x8(%eax),%eax
428d3c:	8b 55 f8             	mov    -0x8(%ebp),%edx
428d3f:	89 42 14             	mov    %eax,0x14(%edx)
428d42:	8b 45 08             	mov    0x8(%ebp),%eax
428d45:	8b 15 ec 5e 41 00    	mov    0x415eec,%edx
428d4b:	e8 54 ad fd ff       	call   0x403aa4
428d50:	8b 55 f8             	mov    -0x8(%ebp),%edx
428d53:	89 42 6c             	mov    %eax,0x6c(%edx)
428d56:	33 c0                	xor    %eax,%eax
428d58:	5a                   	pop    %edx
428d59:	59                   	pop    %ecx
428d5a:	59                   	pop    %ecx
428d5b:	64 89 10             	mov    %edx,%fs:(%eax)
428d5e:	eb 17                	jmp    0x428d77
428d60:	e9 6f b0 fd ff       	jmp    0x403dd4
428d65:	8b 45 f8             	mov    -0x8(%ebp),%eax
428d68:	e8 87 ab fd ff       	call   0x4038f4
428d6d:	e8 1e b4 fd ff       	call   0x404190
428d72:	e8 6d b4 fd ff       	call   0x4041e4
428d77:	68 68 13 47 00       	push   $0x471368
428d7c:	e8 bf db fd ff       	call   0x406940
428d81:	33 d2                	xor    %edx,%edx
428d83:	55                   	push   %ebp
428d84:	68 c0 8d 42 00       	push   $0x428dc0
428d89:	64 ff 32             	push   %fs:(%edx)
428d8c:	64 89 22             	mov    %esp,%fs:(%edx)
428d8f:	8b 45 fc             	mov    -0x4(%ebp),%eax
428d92:	8b 40 28             	mov    0x28(%eax),%eax
428d95:	e8 a6 ea ff ff       	call   0x427840
428d9a:	8b 55 fc             	mov    -0x4(%ebp),%edx
428d9d:	8b 45 f8             	mov    -0x8(%ebp),%eax
428da0:	89 42 28             	mov    %eax,0x28(%edx)
428da3:	e8 94 ea ff ff       	call   0x42783c
428da8:	33 c0                	xor    %eax,%eax
428daa:	5a                   	pop    %edx
428dab:	59                   	pop    %ecx
428dac:	59                   	pop    %ecx
428dad:	64 89 10             	mov    %edx,%fs:(%eax)
428db0:	68 c7 8d 42 00       	push   $0x428dc7
428db5:	68 68 13 47 00       	push   $0x471368
428dba:	e8 91 dc fd ff       	call   0x406a50
428dbf:	c3                   	ret
428dc0:	e9 c3 b2 fd ff       	jmp    0x404088
428dc5:	eb ee                	jmp    0x428db5
428dc7:	8b 45 fc             	mov    -0x4(%ebp),%eax
428dca:	c6 40 32 00          	movb   $0x0,0x32(%eax)
428dce:	5f                   	pop    %edi
428dcf:	5e                   	pop    %esi
428dd0:	5b                   	pop    %ebx
428dd1:	59                   	pop    %ecx
428dd2:	59                   	pop    %ecx
428dd3:	5d                   	pop    %ebp
428dd4:	c2 0c 00             	ret    $0xc
428dd7:	90                   	nop
428dd8:	53                   	push   %ebx
428dd9:	56                   	push   %esi
428dda:	57                   	push   %edi
428ddb:	51                   	push   %ecx
428ddc:	8b f2                	mov    %edx,%esi
428dde:	8b d8                	mov    %eax,%ebx
428de0:	8b d4                	mov    %esp,%edx
428de2:	b9 04 00 00 00       	mov    $0x4,%ecx
428de7:	8b c6                	mov    %esi,%eax
428de9:	8b 38                	mov    (%eax),%edi
428deb:	ff 57 0c             	call   *0xc(%edi)
428dee:	8b 0c 24             	mov    (%esp),%ecx
428df1:	8b d6                	mov    %esi,%edx
428df3:	8b c3                	mov    %ebx,%eax
428df5:	e8 76 05 00 00       	call   0x429370
428dfa:	5a                   	pop    %edx
428dfb:	5f                   	pop    %edi
428dfc:	5e                   	pop    %esi
428dfd:	5b                   	pop    %ebx
428dfe:	c3                   	ret
428dff:	90                   	nop
428e00:	55                   	push   %ebp
428e01:	8b ec                	mov    %esp,%ebp
428e03:	81 c4 54 ff ff ff    	add    $0xffffff54,%esp
428e09:	53                   	push   %ebx
428e0a:	56                   	push   %esi
428e0b:	57                   	push   %edi
428e0c:	8b f1                	mov    %ecx,%esi
428e0e:	89 55 f8             	mov    %edx,-0x8(%ebp)
428e11:	89 45 fc             	mov    %eax,-0x4(%ebp)
428e14:	33 c0                	xor    %eax,%eax
428e16:	89 45 d0             	mov    %eax,-0x30(%ebp)
428e19:	33 c0                	xor    %eax,%eax
428e1b:	89 45 d8             	mov    %eax,-0x28(%ebp)
428e1e:	33 c0                	xor    %eax,%eax
428e20:	89 45 c8             	mov    %eax,-0x38(%ebp)
428e23:	8d 55 e0             	lea    -0x20(%ebp),%edx
428e26:	b9 04 00 00 00       	mov    $0x4,%ecx
428e2b:	8b 45 f8             	mov    -0x8(%ebp),%eax
428e2e:	8b 18                	mov    (%eax),%ebx
428e30:	ff 53 0c             	call   *0xc(%ebx)
428e33:	83 7d e0 0c          	cmpl   $0xc,-0x20(%ebp)
428e37:	0f 94 45 df          	sete   -0x21(%ebp)
428e3b:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
428e3f:	74 07                	je     0x428e48
428e41:	c7 45 e0 28 00 00 00 	movl   $0x28,-0x20(%ebp)
428e48:	8b 45 e0             	mov    -0x20(%ebp),%eax
428e4b:	83 c0 0c             	add    $0xc,%eax
428e4e:	05 00 04 00 00       	add    $0x400,%eax
428e53:	e8 94 9e fd ff       	call   0x402cec
428e58:	89 45 e8             	mov    %eax,-0x18(%ebp)
428e5b:	8b 45 e8             	mov    -0x18(%ebp),%eax
428e5e:	89 45 c4             	mov    %eax,-0x3c(%ebp)
428e61:	33 d2                	xor    %edx,%edx
428e63:	55                   	push   %ebp
428e64:	68 21 93 42 00       	push   $0x429321
428e69:	64 ff 32             	push   %fs:(%edx)
428e6c:	64 89 22             	mov    %esp,%fs:(%edx)
428e6f:	33 d2                	xor    %edx,%edx
428e71:	55                   	push   %ebp
428e72:	68 f4 92 42 00       	push   $0x4292f4
428e77:	64 ff 32             	push   %fs:(%edx)
428e7a:	64 89 22             	mov    %esp,%fs:(%edx)
428e7d:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
428e81:	74 4c                	je     0x428ecf
428e83:	8d 55 b8             	lea    -0x48(%ebp),%edx
428e86:	83 c2 04             	add    $0x4,%edx
428e89:	b9 08 00 00 00       	mov    $0x8,%ecx
428e8e:	8b 45 f8             	mov    -0x8(%ebp),%eax
428e91:	8b 18                	mov    (%eax),%ebx
428e93:	ff 53 0c             	call   *0xc(%ebx)
428e96:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
428e99:	8b c3                	mov    %ebx,%eax
428e9b:	33 c9                	xor    %ecx,%ecx
428e9d:	ba 28 00 00 00       	mov    $0x28,%edx
428ea2:	e8 89 a3 fd ff       	call   0x403230
428ea7:	8b c3                	mov    %ebx,%eax
428ea9:	0f b7 55 bc          	movzwl -0x44(%ebp),%edx
428ead:	89 50 04             	mov    %edx,0x4(%eax)
428eb0:	0f b7 55 be          	movzwl -0x42(%ebp),%edx
428eb4:	89 50 08             	mov    %edx,0x8(%eax)
428eb7:	0f b7 55 c0          	movzwl -0x40(%ebp),%edx
428ebb:	66 89 50 0c          	mov    %dx,0xc(%eax)
428ebf:	0f b7 55 c2          	movzwl -0x3e(%ebp),%edx
428ec3:	66 89 50 0e          	mov    %dx,0xe(%eax)
428ec7:	83 ee 0c             	sub    $0xc,%esi
428eca:	e9 cd 00 00 00       	jmp    0x428f9c
428ecf:	8b 4d e0             	mov    -0x20(%ebp),%ecx
428ed2:	83 e9 04             	sub    $0x4,%ecx
428ed5:	8b 55 e8             	mov    -0x18(%ebp),%edx
428ed8:	83 c2 04             	add    $0x4,%edx
428edb:	8b 45 f8             	mov    -0x8(%ebp),%eax
428ede:	8b 18                	mov    (%eax),%ebx
428ee0:	ff 53 0c             	call   *0xc(%ebx)
428ee3:	2b 75 e0             	sub    -0x20(%ebp),%esi
428ee6:	8b 45 c4             	mov    -0x3c(%ebp),%eax
428ee9:	8b 40 10             	mov    0x10(%eax),%eax
428eec:	83 f8 03             	cmp    $0x3,%eax
428eef:	0f 84 a7 00 00 00    	je     0x428f9c
428ef5:	85 c0                	test   %eax,%eax
428ef7:	0f 84 9f 00 00 00    	je     0x428f9c
428efd:	b2 01                	mov    $0x1,%dl
428eff:	a1 ec 5e 41 00       	mov    0x415eec,%eax
428f04:	e8 bb a9 fd ff       	call   0x4038c4
428f09:	89 45 c8             	mov    %eax,-0x38(%ebp)
428f0c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
428f10:	75 2f                	jne    0x428f41
428f12:	8d 85 56 ff ff ff    	lea    -0xaa(%ebp),%eax
428f18:	33 c9                	xor    %ecx,%ecx
428f1a:	ba 0e 00 00 00       	mov    $0xe,%edx
428f1f:	e8 0c a3 fd ff       	call   0x403230
428f24:	66 c7 85 56 ff ff ff 	movw   $0x4d42,-0xaa(%ebp)
428f2b:	42 4d
428f2d:	8b 45 e0             	mov    -0x20(%ebp),%eax
428f30:	03 c6                	add    %esi,%eax
428f32:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
428f38:	8d 85 56 ff ff ff    	lea    -0xaa(%ebp),%eax
428f3e:	89 45 08             	mov    %eax,0x8(%ebp)
428f41:	8b 55 08             	mov    0x8(%ebp),%edx
428f44:	b9 0e 00 00 00       	mov    $0xe,%ecx
428f49:	8b 45 c8             	mov    -0x38(%ebp),%eax
428f4c:	8b 18                	mov    (%eax),%ebx
428f4e:	ff 53 10             	call   *0x10(%ebx)
428f51:	8d 55 e0             	lea    -0x20(%ebp),%edx
428f54:	b9 04 00 00 00       	mov    $0x4,%ecx
428f59:	8b 45 c8             	mov    -0x38(%ebp),%eax
428f5c:	8b 18                	mov    (%eax),%ebx
428f5e:	ff 53 10             	call   *0x10(%ebx)
428f61:	8b 4d e0             	mov    -0x20(%ebp),%ecx
428f64:	83 e9 04             	sub    $0x4,%ecx
428f67:	8b 55 e8             	mov    -0x18(%ebp),%edx
428f6a:	83 c2 04             	add    $0x4,%edx
428f6d:	8b 45 c8             	mov    -0x38(%ebp),%eax
428f70:	8b 18                	mov    (%eax),%ebx
428f72:	ff 53 10             	call   *0x10(%ebx)
428f75:	8b c6                	mov    %esi,%eax
428f77:	33 d2                	xor    %edx,%edx
428f79:	52                   	push   %edx
428f7a:	50                   	push   %eax
428f7b:	8b 55 f8             	mov    -0x8(%ebp),%edx
428f7e:	8b 45 c8             	mov    -0x38(%ebp),%eax
428f81:	e8 02 0d ff ff       	call   0x419c88
428f86:	8b d6                	mov    %esi,%edx
428f88:	f7 da                	neg    %edx
428f8a:	66 b9 02 00          	mov    $0x2,%cx
428f8e:	8b 45 c8             	mov    -0x38(%ebp),%eax
428f91:	8b 18                	mov    (%eax),%ebx
428f93:	ff 53 14             	call   *0x14(%ebx)
428f96:	8b 45 c8             	mov    -0x38(%ebp),%eax
428f99:	89 45 f8             	mov    %eax,-0x8(%ebp)
428f9c:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
428f9f:	8b 45 e0             	mov    -0x20(%ebp),%eax
428fa2:	89 03                	mov    %eax,(%ebx)
428fa4:	8b 45 e8             	mov    -0x18(%ebp),%eax
428fa7:	03 45 e0             	add    -0x20(%ebp),%eax
428faa:	89 45 e4             	mov    %eax,-0x1c(%ebp)
428fad:	66 83 7b 0c 01       	cmpw   $0x1,0xc(%ebx)
428fb2:	74 05                	je     0x428fb9
428fb4:	e8 d7 b1 ff ff       	call   0x424190
428fb9:	83 7d e0 28          	cmpl   $0x28,-0x20(%ebp)
428fbd:	75 2d                	jne    0x428fec
428fbf:	0f b7 43 0e          	movzwl 0xe(%ebx),%eax
428fc3:	66 83 f8 10          	cmp    $0x10,%ax
428fc7:	74 06                	je     0x428fcf
428fc9:	66 83 f8 20          	cmp    $0x20,%ax
428fcd:	75 1d                	jne    0x428fec
428fcf:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
428fd3:	75 17                	jne    0x428fec
428fd5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
428fd8:	b9 0c 00 00 00       	mov    $0xc,%ecx
428fdd:	8b 45 f8             	mov    -0x8(%ebp),%eax
428fe0:	e8 33 0c ff ff       	call   0x419c18
428fe5:	83 45 e4 0c          	addl   $0xc,-0x1c(%ebp)
428fe9:	83 ee 0c             	sub    $0xc,%esi
428fec:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
428ff0:	75 0c                	jne    0x428ffe
428ff2:	0f b7 43 0e          	movzwl 0xe(%ebx),%eax
428ff6:	e8 25 b4 ff ff       	call   0x424420
428ffb:	89 43 20             	mov    %eax,0x20(%ebx)
428ffe:	8b 4b 20             	mov    0x20(%ebx),%ecx
429001:	0f b6 7d df          	movzbl -0x21(%ebp),%edi
429005:	0f b6 87 ec 0d 46 00 	movzbl 0x460dec(%edi),%eax
42900c:	0f af c8             	imul   %eax,%ecx
42900f:	8b 55 e4             	mov    -0x1c(%ebp),%edx
429012:	8b 45 f8             	mov    -0x8(%ebp),%eax
429015:	e8 fe 0b ff ff       	call   0x419c18
42901a:	8b 43 20             	mov    0x20(%ebx),%eax
42901d:	0f b6 97 ec 0d 46 00 	movzbl 0x460dec(%edi),%edx
429024:	f7 ea                	imul   %edx
429026:	2b f0                	sub    %eax,%esi
429028:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
42902c:	74 06                	je     0x429034
42902e:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
429032:	75 21                	jne    0x429055
429034:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
429038:	8b 43 04             	mov    0x4(%ebx),%eax
42903b:	b9 20 00 00 00       	mov    $0x20,%ecx
429040:	e8 fb b3 ff ff       	call   0x424440
429045:	8b c8                	mov    %eax,%ecx
429047:	8b 43 08             	mov    0x8(%ebx),%eax
42904a:	99                   	cltd
42904b:	33 c2                	xor    %edx,%eax
42904d:	2b c2                	sub    %edx,%eax
42904f:	0f af c8             	imul   %eax,%ecx
429052:	89 4b 14             	mov    %ecx,0x14(%ebx)
429055:	8b 43 14             	mov    0x14(%ebx),%eax
429058:	3b f0                	cmp    %eax,%esi
42905a:	76 02                	jbe    0x42905e
42905c:	8b f0                	mov    %eax,%esi
42905e:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
429062:	74 08                	je     0x42906c
429064:	8b 45 e4             	mov    -0x1c(%ebp),%eax
429067:	e8 80 b6 ff ff       	call   0x4246ec
42906c:	6a 00                	push   $0x0
42906e:	e8 45 de fd ff       	call   0x406eb8
429073:	e8 38 b2 ff ff       	call   0x4242b0
429078:	89 45 f4             	mov    %eax,-0xc(%ebp)
42907b:	33 d2                	xor    %edx,%edx