429043:	89 45 d8             	mov    %eax,-0x28(%ebp)
429046:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
42904a:	75 05                	jne    0x429051
42904c:	e8 3b f4 ff ff       	call   0x42848c
429051:	33 d2                	xor    %edx,%edx
429053:	55                   	push   %ebp
429054:	68 b1 90 42 00       	push   $0x4290b1
429059:	64 ff 32             	push   %fs:(%edx)
42905c:	64 89 22             	mov    %esp,%fs:(%edx)
42905f:	6a 0e                	push   $0xe
429061:	8b 45 d8             	mov    -0x28(%ebp),%eax
429064:	50                   	push   %eax
429065:	e8 d6 d9 fd ff       	call   0x406a40
42906a:	8b d8                	mov    %eax,%ebx
42906c:	6a 0c                	push   $0xc
42906e:	8b 45 d8             	mov    -0x28(%ebp),%eax
429071:	50                   	push   %eax
429072:	e8 c9 d9 fd ff       	call   0x406a40
429077:	66 0f af d8          	imul   %ax,%bx
42907b:	8b c3                	mov    %ebx,%eax
42907d:	66 83 f8 08          	cmp    $0x8,%ax
429081:	76 09                	jbe    0x42908c
429083:	c7 45 e4 ff ff ff 7f 	movl   $0x7fffffff,-0x1c(%ebp)
42908a:	eb 0c                	jmp    0x429098
42908c:	8b c8                	mov    %eax,%ecx
42908e:	b8 01 00 00 00       	mov    $0x1,%eax
429093:	d3 e0                	shl    %cl,%eax
429095:	89 45 e4             	mov    %eax,-0x1c(%ebp)
429098:	33 c0                	xor    %eax,%eax
42909a:	5a                   	pop    %edx
42909b:	59                   	pop    %ecx
42909c:	59                   	pop    %ecx
42909d:	64 89 10             	mov    %edx,%fs:(%eax)
4290a0:	68 b8 90 42 00       	push   $0x4290b8
4290a5:	8b 45 d8             	mov    -0x28(%ebp),%eax
4290a8:	50                   	push   %eax
4290a9:	6a 00                	push   $0x0
4290ab:	e8 68 de fd ff       	call   0x406f18
4290b0:	c3                   	ret
4290b1:	e9 b2 aa fd ff       	jmp    0x403b68
4290b6:	eb ed                	jmp    0x4290a5
4290b8:	33 c0                	xor    %eax,%eax
4290ba:	89 45 dc             	mov    %eax,-0x24(%ebp)
4290bd:	8b 45 f0             	mov    -0x10(%ebp),%eax
4290c0:	0f b7 40 02          	movzwl 0x2(%eax),%eax
4290c4:	e8 63 fe ff ff       	call   0x428f2c
4290c9:	89 45 e0             	mov    %eax,-0x20(%ebp)
4290cc:	8b 7d f4             	mov    -0xc(%ebp),%edi
4290cf:	4f                   	dec    %edi
4290d0:	85 ff                	test   %edi,%edi
4290d2:	7e 4c                	jle    0x429120
4290d4:	be 01 00 00 00       	mov    $0x1,%esi
4290d9:	8b c6                	mov    %esi,%eax
4290db:	03 c0                	add    %eax,%eax
4290dd:	8b 55 f0             	mov    -0x10(%ebp),%edx
4290e0:	0f b7 44 c2 02       	movzwl 0x2(%edx,%eax,8),%eax
4290e5:	e8 42 fe ff ff       	call   0x428f2c
4290ea:	8b d8                	mov    %eax,%ebx
4290ec:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
4290ef:	7f 2b                	jg     0x42911c
4290f1:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
4290f4:	7c 26                	jl     0x42911c
4290f6:	55                   	push   %ebp
4290f7:	8b c6                	mov    %esi,%eax
4290f9:	03 c0                	add    %eax,%eax
4290fb:	8b 55 f0             	mov    -0x10(%ebp),%edx
4290fe:	8d 14 c2             	lea    (%edx,%eax,8),%edx
429101:	8b 45 dc             	mov    -0x24(%ebp),%eax
429104:	03 c0                	add    %eax,%eax
429106:	8b 4d f0             	mov    -0x10(%ebp),%ecx
429109:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
42910c:	e8 27 fe ff ff       	call   0x428f38
429111:	59                   	pop    %ecx
429112:	84 c0                	test   %al,%al
429114:	74 06                	je     0x42911c
429116:	89 75 dc             	mov    %esi,-0x24(%ebp)
429119:	89 5d e0             	mov    %ebx,-0x20(%ebp)
42911c:	46                   	inc    %esi
42911d:	4f                   	dec    %edi
42911e:	75 b9                	jne    0x4290d9
429120:	8b 45 dc             	mov    -0x24(%ebp),%eax
429123:	03 c0                	add    %eax,%eax
429125:	8b 55 f0             	mov    -0x10(%ebp),%edx
429128:	8d 04 c2             	lea    (%edx,%eax,8),%eax
42912b:	89 45 c0             	mov    %eax,-0x40(%ebp)
42912e:	8b 45 c0             	mov    -0x40(%ebp),%eax
429131:	0f b6 00             	movzbl (%eax),%eax
429134:	8b 55 08             	mov    0x8(%ebp),%edx
429137:	89 02                	mov    %eax,(%edx)
429139:	8b 45 c0             	mov    -0x40(%ebp),%eax
42913c:	0f b6 40 01          	movzbl 0x1(%eax),%eax
429140:	8b 55 08             	mov    0x8(%ebp),%edx
429143:	89 42 04             	mov    %eax,0x4(%edx)
429146:	8b 45 c0             	mov    -0x40(%ebp),%eax
429149:	8b 40 08             	mov    0x8(%eax),%eax
42914c:	e8 bb f1 fd ff       	call   0x40830c
429151:	89 45 d4             	mov    %eax,-0x2c(%ebp)
429154:	33 c0                	xor    %eax,%eax
429156:	55                   	push   %ebp
429157:	68 9f 92 42 00       	push   $0x42929f
42915c:	64 ff 30             	push   %fs:(%eax)
42915f:	64 89 20             	mov    %esp,%fs:(%eax)
429162:	8b 45 c0             	mov    -0x40(%ebp),%eax
429165:	8b 50 0c             	mov    0xc(%eax),%edx
429168:	8b 45 ec             	mov    -0x14(%ebp),%eax
42916b:	03 45 10             	add    0x10(%ebp),%eax
42916e:	2b d0                	sub    %eax,%edx
429170:	66 b9 01 00          	mov    $0x1,%cx
429174:	8b 45 fc             	mov    -0x4(%ebp),%eax
429177:	8b 18                	mov    (%eax),%ebx
429179:	ff 53 14             	call   *0x14(%ebx)
42917c:	8b 45 c0             	mov    -0x40(%ebp),%eax
42917f:	8b 48 08             	mov    0x8(%eax),%ecx
429182:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
429185:	8b d3                	mov    %ebx,%edx
429187:	8b 45 fc             	mov    -0x4(%ebp),%eax
42918a:	8b 30                	mov    (%eax),%esi
42918c:	ff 56 0c             	call   *0xc(%esi)
42918f:	8b 45 08             	mov    0x8(%ebp),%eax
429192:	50                   	push   %eax
429193:	8d 4d c8             	lea    -0x38(%ebp),%ecx
429196:	8d 55 cc             	lea    -0x34(%ebp),%edx
429199:	8b c3                	mov    %ebx,%eax
42919b:	e8 d0 fb ff ff       	call   0x428d70
4291a0:	8d 45 90             	lea    -0x70(%ebp),%eax
4291a3:	50                   	push   %eax
4291a4:	6a 18                	push   $0x18
4291a6:	8b 45 c8             	mov    -0x38(%ebp),%eax
4291a9:	50                   	push   %eax
4291aa:	e8 99 d8 fd ff       	call   0x406a48
4291af:	8d 45 a8             	lea    -0x58(%ebp),%eax
4291b2:	50                   	push   %eax
4291b3:	6a 18                	push   $0x18
4291b5:	8b 45 cc             	mov    -0x34(%ebp),%eax
4291b8:	50                   	push   %eax
4291b9:	e8 8a d8 fd ff       	call   0x406a48
4291be:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
4291c1:	0f af 5d 98          	imul   -0x68(%ebp),%ebx
4291c5:	0f b7 45 a0          	movzwl -0x60(%ebp),%eax
4291c9:	0f af d8             	imul   %eax,%ebx
4291cc:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4291cf:	f7 6d b0             	imull  -0x50(%ebp)
4291d2:	0f b7 55 b8          	movzwl -0x48(%ebp),%edx
4291d6:	f7 ea                	imul   %edx
4291d8:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4291db:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4291de:	03 c3                	add    %ebx,%eax
4291e0:	89 45 e8             	mov    %eax,-0x18(%ebp)
4291e3:	8b 45 e8             	mov    -0x18(%ebp),%eax
4291e6:	e8 21 f1 fd ff       	call   0x40830c
4291eb:	89 45 d0             	mov    %eax,-0x30(%ebp)
4291ee:	33 c0                	xor    %eax,%eax
4291f0:	55                   	push   %ebp
4291f1:	68 7c 92 42 00       	push   $0x42927c
4291f6:	64 ff 30             	push   %fs:(%eax)
4291f9:	64 89 20             	mov    %esp,%fs:(%eax)
4291fc:	8b 7d d0             	mov    -0x30(%ebp),%edi
4291ff:	8b 75 d0             	mov    -0x30(%ebp),%esi
429202:	03 f3                	add    %ebx,%esi
429204:	57                   	push   %edi
429205:	53                   	push   %ebx
429206:	8b 45 c8             	mov    -0x38(%ebp),%eax
429209:	50                   	push   %eax
42920a:	e8 f9 d7 fd ff       	call   0x406a08
42920f:	56                   	push   %esi
429210:	8b 45 c4             	mov    -0x3c(%ebp),%eax
429213:	50                   	push   %eax
429214:	8b 45 cc             	mov    -0x34(%ebp),%eax
429217:	50                   	push   %eax
429218:	e8 eb d7 fd ff       	call   0x406a08
42921d:	8b 45 cc             	mov    -0x34(%ebp),%eax
429220:	50                   	push   %eax
429221:	e8 d2 d7 fd ff       	call   0x4069f8
429226:	8b 45 c8             	mov    -0x38(%ebp),%eax
429229:	50                   	push   %eax
42922a:	e8 c9 d7 fd ff       	call   0x4069f8
42922f:	56                   	push   %esi
429230:	57                   	push   %edi
429231:	8a 45 ba             	mov    -0x46(%ebp),%al
429234:	50                   	push   %eax
429235:	8a 45 b8             	mov    -0x48(%ebp),%al
429238:	50                   	push   %eax
429239:	8b 45 08             	mov    0x8(%ebp),%eax
42923c:	8b 40 04             	mov    0x4(%eax),%eax
42923f:	50                   	push   %eax
429240:	8b 45 08             	mov    0x8(%ebp),%eax
429243:	8b 00                	mov    (%eax),%eax
429245:	50                   	push   %eax
429246:	a1 68 c6 49 00       	mov    0x49c668,%eax
42924b:	50                   	push   %eax
42924c:	e8 5f d9 fd ff       	call   0x406bb0
429251:	8b 55 f8             	mov    -0x8(%ebp),%edx
429254:	89 02                	mov    %eax,(%edx)
429256:	8b 45 f8             	mov    -0x8(%ebp),%eax
429259:	83 38 00             	cmpl   $0x0,(%eax)
42925c:	75 05                	jne    0x429263
42925e:	e8 7d f2 ff ff       	call   0x4284e0
429263:	33 c0                	xor    %eax,%eax
429265:	5a                   	pop    %edx
429266:	59                   	pop    %ecx
429267:	59                   	pop    %ecx
429268:	64 89 10             	mov    %edx,%fs:(%eax)
42926b:	68 83 92 42 00       	push   $0x429283
429270:	8b 55 e8             	mov    -0x18(%ebp),%edx
429273:	8b 45 d0             	mov    -0x30(%ebp),%eax
429276:	e8 1d 95 fd ff       	call   0x402798
42927b:	c3                   	ret
42927c:	e9 e7 a8 fd ff       	jmp    0x403b68
429281:	eb ed                	jmp    0x429270
429283:	33 c0                	xor    %eax,%eax
429285:	5a                   	pop    %edx
429286:	59                   	pop    %ecx
429287:	59                   	pop    %ecx
429288:	64 89 10             	mov    %edx,%fs:(%eax)
42928b:	68 a6 92 42 00       	push   $0x4292a6
429290:	8b 45 c0             	mov    -0x40(%ebp),%eax
429293:	8b 50 08             	mov    0x8(%eax),%edx
429296:	8b 45 d4             	mov    -0x2c(%ebp),%eax
429299:	e8 fa 94 fd ff       	call   0x402798
42929e:	c3                   	ret
42929f:	e9 c4 a8 fd ff       	jmp    0x403b68
4292a4:	eb ea                	jmp    0x429290
4292a6:	33 c0                	xor    %eax,%eax
4292a8:	5a                   	pop    %edx
4292a9:	59                   	pop    %ecx
4292aa:	59                   	pop    %ecx
4292ab:	64 89 10             	mov    %edx,%fs:(%eax)
4292ae:	68 c6 92 42 00       	push   $0x4292c6
4292b3:	8b 55 ec             	mov    -0x14(%ebp),%edx
4292b6:	8b 45 f0             	mov    -0x10(%ebp),%eax
4292b9:	e8 da 94 fd ff       	call   0x402798
4292be:	c3                   	ret
4292bf:	e9 a4 a8 fd ff       	jmp    0x403b68
4292c4:	eb ed                	jmp    0x4292b3
4292c6:	5f                   	pop    %edi
4292c7:	5e                   	pop    %esi
4292c8:	5b                   	pop    %ebx
4292c9:	8b e5                	mov    %ebp,%esp
4292cb:	5d                   	pop    %ebp
4292cc:	c2 0c 00             	ret    $0xc
4292cf:	90                   	nop
4292d0:	53                   	push   %ebx
4292d1:	56                   	push   %esi
4292d2:	57                   	push   %edi
4292d3:	83 c4 ac             	add    $0xffffffac,%esp
4292d6:	8b f1                	mov    %ecx,%esi
4292d8:	8b da                	mov    %edx,%ebx
4292da:	33 d2                	xor    %edx,%edx
4292dc:	89 54 24 18          	mov    %edx,0x18(%esp)
4292e0:	54                   	push   %esp
4292e1:	6a 54                	push   $0x54
4292e3:	50                   	push   %eax
4292e4:	e8 5f d7 fd ff       	call   0x406a48
4292e9:	85 c0                	test   %eax,%eax
4292eb:	75 07                	jne    0x4292f4
4292ed:	e8 82 f1 ff ff       	call   0x428474
4292f2:	eb 3f                	jmp    0x429333
4292f4:	83 f8 40             	cmp    $0x40,%eax
4292f7:	7c 18                	jl     0x429311
4292f9:	83 7c 24 18 28       	cmpl   $0x28,0x18(%esp)
4292fe:	72 11                	jb     0x429311
429300:	56                   	push   %esi
429301:	8b fb                	mov    %ebx,%edi
429303:	8d 74 24 1c          	lea    0x1c(%esp),%esi
429307:	b9 0a 00 00 00       	mov    $0xa,%ecx
42930c:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
42930e:	5e                   	pop    %esi
42930f:	eb 22                	jmp    0x429333
429311:	8b c3                	mov    %ebx,%eax
429313:	33 c9                	xor    %ecx,%ecx
429315:	ba 28 00 00 00       	mov    $0x28,%edx
42931a:	e8 4d 9a fd ff       	call   0x402d6c
42931f:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
429325:	8b 44 24 04          	mov    0x4(%esp),%eax
429329:	89 43 04             	mov    %eax,0x4(%ebx)
42932c:	8b 44 24 08          	mov    0x8(%esp),%eax
429330:	89 43 08             	mov    %eax,0x8(%ebx)
429333:	8b c6                	mov    %esi,%eax
429335:	83 e8 02             	sub    $0x2,%eax
429338:	74 0f                	je     0x429349
42933a:	48                   	dec    %eax
42933b:	83 e8 0e             	sub    $0xe,%eax
42933e:	72 11                	jb     0x429351
429340:	2d f0 00 00 00       	sub    $0xf0,%eax
429345:	72 15                	jb     0x42935c
429347:	eb 1e                	jmp    0x429367
429349:	66 c7 43 0e 01 00    	movw   $0x1,0xe(%ebx)
42934f:	eb 24                	jmp    0x429375
429351:	66 c7 43 0e 04 00    	movw   $0x4,0xe(%ebx)
429357:	89 73 20             	mov    %esi,0x20(%ebx)
42935a:	eb 19                	jmp    0x429375
42935c:	66 c7 43 0e 08 00    	movw   $0x8,0xe(%ebx)
429362:	89 73 20             	mov    %esi,0x20(%ebx)
429365:	eb 0e                	jmp    0x429375
429367:	66 8b 44 24 12       	mov    0x12(%esp),%ax
42936c:	66 f7 6c 24 10       	imulw  0x10(%esp)
429371:	66 89 43 0e          	mov    %ax,0xe(%ebx)
429375:	66 c7 43 0c 01 00    	movw   $0x1,0xc(%ebx)
42937b:	8b 43 20             	mov    0x20(%ebx),%eax
42937e:	3b 43 24             	cmp    0x24(%ebx),%eax
429381:	73 03                	jae    0x429386
429383:	89 43 24             	mov    %eax,0x24(%ebx)
429386:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
42938a:	75 21                	jne    0x4293ad
42938c:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
429390:	8b 43 04             	mov    0x4(%ebx),%eax
429393:	b9 20 00 00 00       	mov    $0x20,%ecx
429398:	e8 7b f3 ff ff       	call   0x428718
42939d:	8b c8                	mov    %eax,%ecx
42939f:	8b 43 08             	mov    0x8(%ebx),%eax
4293a2:	99                   	cltd
4293a3:	33 c2                	xor    %edx,%eax
4293a5:	2b c2                	sub    %edx,%eax
4293a7:	0f af c8             	imul   %eax,%ecx
4293aa:	89 4b 14             	mov    %ecx,0x14(%ebx)
4293ad:	83 c4 54             	add    $0x54,%esp
4293b0:	5f                   	pop    %edi
4293b1:	5e                   	pop    %esi
4293b2:	5b                   	pop    %ebx
4293b3:	c3                   	ret
4293b4:	55                   	push   %ebp
4293b5:	8b ec                	mov    %esp,%ebp
4293b7:	83 c4 d8             	add    $0xffffffd8,%esp
4293ba:	53                   	push   %ebx
4293bb:	56                   	push   %esi
4293bc:	8b f1                	mov    %ecx,%esi
4293be:	8b da                	mov    %edx,%ebx
4293c0:	8d 55 d8             	lea    -0x28(%ebp),%edx
4293c3:	8b 4d 08             	mov    0x8(%ebp),%ecx
4293c6:	e8 05 ff ff ff       	call   0x4292d0
4293cb:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
4293cf:	66 83 f8 08          	cmp    $0x8,%ax
4293d3:	76 11                	jbe    0x4293e6
4293d5:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
4293db:	f6 45 e8 03          	testb  $0x3,-0x18(%ebp)
4293df:	74 29                	je     0x42940a
4293e1:	83 03 0c             	addl   $0xc,(%ebx)
4293e4:	eb 24                	jmp    0x42940a
4293e6:	8b 55 f8             	mov    -0x8(%ebp),%edx
4293e9:	85 d2                	test   %edx,%edx
4293eb:	75 13                	jne    0x429400
4293ed:	8b c8                	mov    %eax,%ecx
4293ef:	b8 01 00 00 00       	mov    $0x1,%eax
4293f4:	d3 e0                	shl    %cl,%eax
4293f6:	c1 e0 02             	shl    $0x2,%eax
4293f9:	83 c0 28             	add    $0x28,%eax
4293fc:	89 03                	mov    %eax,(%ebx)
4293fe:	eb 0a                	jmp    0x42940a
429400:	8b c2                	mov    %edx,%eax
429402:	c1 e0 02             	shl    $0x2,%eax