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
42907d:	55                   	push   %ebp
42907e:	68 6f 92 42 00       	push   $0x42926f
429083:	64 ff 32             	push   %fs:(%edx)
429086:	64 89 22             	mov    %esp,%fs:(%edx)
429089:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42908c:	8b 40 10             	mov    0x10(%eax),%eax
42908f:	85 c0                	test   %eax,%eax
429091:	74 05                	je     0x429098
429093:	83 f8 03             	cmp    $0x3,%eax
429096:	75 0d                	jne    0x4290a5
429098:	80 3d 58 0b 46 00 00 	cmpb   $0x0,0x460b58
42909f:	0f 84 39 01 00 00    	je     0x4291de
4290a5:	33 c0                	xor    %eax,%eax
4290a7:	89 45 f0             	mov    %eax,-0x10(%ebp)
4290aa:	8b c6                	mov    %esi,%eax
4290ac:	e8 3b 9c fd ff       	call   0x402cec
4290b1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4290b4:	33 d2                	xor    %edx,%edx
4290b6:	55                   	push   %ebp
4290b7:	68 d7 91 42 00       	push   $0x4291d7
4290bc:	64 ff 32             	push   %fs:(%edx)
4290bf:	64 89 22             	mov    %esp,%fs:(%edx)
4290c2:	8b 55 ec             	mov    -0x14(%ebp),%edx
4290c5:	8b ce                	mov    %esi,%ecx
4290c7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4290ca:	e8 49 0b ff ff       	call   0x419c18
4290cf:	8b 45 f4             	mov    -0xc(%ebp),%eax
4290d2:	50                   	push   %eax
4290d3:	e8 60 da fd ff       	call   0x406b38
4290d8:	e8 d3 b1 ff ff       	call   0x4242b0
4290dd:	89 45 f0             	mov    %eax,-0x10(%ebp)
4290e0:	6a 01                	push   $0x1
4290e2:	6a 01                	push   $0x1
4290e4:	8b 45 f4             	mov    -0xc(%ebp),%eax
4290e7:	50                   	push   %eax
4290e8:	e8 43 da fd ff       	call   0x406b30
4290ed:	50                   	push   %eax
4290ee:	8b 45 f0             	mov    -0x10(%ebp),%eax
4290f1:	50                   	push   %eax
4290f2:	e8 b1 db fd ff       	call   0x406ca8
4290f7:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4290fa:	33 c0                	xor    %eax,%eax
4290fc:	89 45 cc             	mov    %eax,-0x34(%ebp)
4290ff:	8b 45 c4             	mov    -0x3c(%ebp),%eax
429102:	8b 40 20             	mov    0x20(%eax),%eax
429105:	85 c0                	test   %eax,%eax
429107:	76 2a                	jbe    0x429133
429109:	8b c8                	mov    %eax,%ecx
42910b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42910e:	33 c0                	xor    %eax,%eax
429110:	e8 93 b8 ff ff       	call   0x4249a8
429115:	89 45 d0             	mov    %eax,-0x30(%ebp)
429118:	6a 00                	push   $0x0
42911a:	8b 45 d0             	mov    -0x30(%ebp),%eax
42911d:	50                   	push   %eax
42911e:	8b 45 f0             	mov    -0x10(%ebp),%eax
429121:	50                   	push   %eax
429122:	e8 89 db fd ff       	call   0x406cb0
429127:	89 45 cc             	mov    %eax,-0x34(%ebp)
42912a:	8b 45 f0             	mov    -0x10(%ebp),%eax
42912d:	50                   	push   %eax
42912e:	e8 55 db fd ff       	call   0x406c88
429133:	33 d2                	xor    %edx,%edx
429135:	55                   	push   %ebp
429136:	68 ab 91 42 00       	push   $0x4291ab
42913b:	64 ff 32             	push   %fs:(%edx)
42913e:	64 89 22             	mov    %esp,%fs:(%edx)
429141:	6a 00                	push   $0x0
429143:	8b 45 e8             	mov    -0x18(%ebp),%eax
429146:	50                   	push   %eax
429147:	8b 55 ec             	mov    -0x14(%ebp),%edx
42914a:	52                   	push   %edx
42914b:	6a 04                	push   $0x4
42914d:	50                   	push   %eax
42914e:	8b 45 f0             	mov    -0x10(%ebp),%eax
429151:	50                   	push   %eax
429152:	e8 f1 d9 fd ff       	call   0x406b48
429157:	89 45 d8             	mov    %eax,-0x28(%ebp)
42915a:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
42915e:	75 15                	jne    0x429175
429160:	e8 43 d8 fd ff       	call   0x4069a8
429165:	85 c0                	test   %eax,%eax
429167:	75 07                	jne    0x429170
429169:	e8 22 b0 ff ff       	call   0x424190
42916e:	eb 05                	jmp    0x429175
429170:	e8 47 46 fe ff       	call   0x40d7bc
429175:	33 c0                	xor    %eax,%eax
429177:	5a                   	pop    %edx
429178:	59                   	pop    %ecx
429179:	59                   	pop    %ecx
42917a:	64 89 10             	mov    %edx,%fs:(%eax)
42917d:	68 b2 91 42 00       	push   $0x4291b2
429182:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
429186:	74 0f                	je     0x429197
429188:	6a ff                	push   $0xffffffff
42918a:	8b 45 cc             	mov    -0x34(%ebp),%eax
42918d:	50                   	push   %eax
42918e:	8b 45 f0             	mov    -0x10(%ebp),%eax
429191:	50                   	push   %eax
429192:	e8 19 db fd ff       	call   0x406cb0
429197:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42919a:	50                   	push   %eax
42919b:	8b 45 f0             	mov    -0x10(%ebp),%eax
42919e:	50                   	push   %eax
42919f:	e8 04 db fd ff       	call   0x406ca8
4291a4:	50                   	push   %eax
4291a5:	e8 e6 d9 fd ff       	call   0x406b90
4291aa:	c3                   	ret
4291ab:	e9 d8 ae fd ff       	jmp    0x404088
4291b0:	eb d0                	jmp    0x429182
4291b2:	33 c0                	xor    %eax,%eax
4291b4:	5a                   	pop    %edx
4291b5:	59                   	pop    %ecx
4291b6:	59                   	pop    %ecx
4291b7:	64 89 10             	mov    %edx,%fs:(%eax)
4291ba:	68 56 92 42 00       	push   $0x429256
4291bf:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4291c3:	74 09                	je     0x4291ce
4291c5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4291c8:	50                   	push   %eax
4291c9:	e8 b2 d9 fd ff       	call   0x406b80
4291ce:	8b 45 ec             	mov    -0x14(%ebp),%eax
4291d1:	e8 32 9b fd ff       	call   0x402d08
4291d6:	c3                   	ret
4291d7:	e9 ac ae fd ff       	jmp    0x404088
4291dc:	eb e1                	jmp    0x4291bf
4291de:	6a 00                	push   $0x0
4291e0:	6a 00                	push   $0x0
4291e2:	8d 45 ec             	lea    -0x14(%ebp),%eax
4291e5:	50                   	push   %eax
4291e6:	6a 00                	push   $0x0
4291e8:	8b 45 e8             	mov    -0x18(%ebp),%eax
4291eb:	50                   	push   %eax
4291ec:	8b 45 f4             	mov    -0xc(%ebp),%eax
4291ef:	50                   	push   %eax
4291f0:	e8 4b d9 fd ff       	call   0x406b40
4291f5:	89 45 d8             	mov    %eax,-0x28(%ebp)
4291f8:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
4291fc:	74 06                	je     0x429204
4291fe:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
429202:	75 15                	jne    0x429219
429204:	e8 9f d7 fd ff       	call   0x4069a8
429209:	85 c0                	test   %eax,%eax
42920b:	75 07                	jne    0x429214
42920d:	e8 7e af ff ff       	call   0x424190
429212:	eb 05                	jmp    0x429219
429214:	e8 a3 45 fe ff       	call   0x40d7bc
429219:	33 c0                	xor    %eax,%eax
42921b:	55                   	push   %ebp
42921c:	68 3e 92 42 00       	push   $0x42923e
429221:	64 ff 30             	push   %fs:(%eax)
429224:	64 89 20             	mov    %esp,%fs:(%eax)
429227:	8b 55 ec             	mov    -0x14(%ebp),%edx
42922a:	8b ce                	mov    %esi,%ecx
42922c:	8b 45 f8             	mov    -0x8(%ebp),%eax
42922f:	e8 e4 09 ff ff       	call   0x419c18
429234:	33 c0                	xor    %eax,%eax
429236:	5a                   	pop    %edx
429237:	59                   	pop    %ecx
429238:	59                   	pop    %ecx
429239:	64 89 10             	mov    %edx,%fs:(%eax)
42923c:	eb 18                	jmp    0x429256
42923e:	e9 91 ab fd ff       	jmp    0x403dd4
429243:	8b 45 d8             	mov    -0x28(%ebp),%eax
429246:	50                   	push   %eax
429247:	e8 44 d9 fd ff       	call   0x406b90
42924c:	e8 3f af fd ff       	call   0x404190
429251:	e8 8e af fd ff       	call   0x4041e4
429256:	33 c0                	xor    %eax,%eax
429258:	5a                   	pop    %edx
429259:	59                   	pop    %ecx
42925a:	59                   	pop    %ecx
42925b:	64 89 10             	mov    %edx,%fs:(%eax)
42925e:	68 76 92 42 00       	push   $0x429276
429263:	8b 45 f4             	mov    -0xc(%ebp),%eax