402124:	83 d1 ff             	adc    $0xffffffff,%ecx
402127:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40212a:	eb 96                	jmp    0x4020c2
40212c:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40212f:	8b 03                	mov    (%ebx),%eax
402131:	57                   	push   %edi
402132:	57                   	push   %edi
402133:	8b 48 04             	mov    0x4(%eax),%ecx
402136:	03 cb                	add    %ebx,%ecx
402138:	e8 43 31 00 00       	call   0x405280
40213d:	eb 21                	jmp    0x402160
40213f:	8b 55 d4             	mov    -0x2c(%ebp),%edx
402142:	6a 01                	push   $0x1
402144:	6a 04                	push   $0x4
402146:	8b 02                	mov    (%edx),%eax
402148:	8b 48 04             	mov    0x4(%eax),%ecx
40214b:	03 ca                	add    %edx,%ecx
40214d:	e8 3d 2f 00 00       	call   0x40508f
402152:	b8 58 21 40 00       	mov    $0x402158,%eax
402157:	c3                   	ret
402158:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
40215b:	33 ff                	xor    %edi,%edi
40215d:	8b 75 e4             	mov    -0x1c(%ebp),%esi
402160:	89 7d fc             	mov    %edi,-0x4(%ebp)
402163:	8b 03                	mov    (%ebx),%eax
402165:	57                   	push   %edi
402166:	56                   	push   %esi
402167:	8b 48 04             	mov    0x4(%eax),%ecx
40216a:	03 cb                	add    %ebx,%ecx
40216c:	e8 1e 2f 00 00       	call   0x40508f
402171:	8d 4d bc             	lea    -0x44(%ebp),%ecx
402174:	e8 bc 0f 00 00       	call   0x403135
402179:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40217c:	8b c3                	mov    %ebx,%eax
40217e:	5f                   	pop    %edi
40217f:	5e                   	pop    %esi
402180:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402187:	5b                   	pop    %ebx
402188:	8b e5                	mov    %ebp,%esp
40218a:	5d                   	pop    %ebp
40218b:	c3                   	ret
40218c:	b8 4b 69 42 00       	mov    $0x42694b,%eax
402191:	e8 2a 4c 00 00       	call   0x406dc0
402196:	83 ec 30             	sub    $0x30,%esp
402199:	53                   	push   %ebx
40219a:	56                   	push   %esi
40219b:	57                   	push   %edi
40219c:	8b c2                	mov    %edx,%eax
40219e:	89 65 f0             	mov    %esp,-0x10(%ebp)
4021a1:	8b d9                	mov    %ecx,%ebx
4021a3:	89 45 d0             	mov    %eax,-0x30(%ebp)
4021a6:	33 ff                	xor    %edi,%edi
4021a8:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4021ab:	50                   	push   %eax
4021ac:	8b f7                	mov    %edi,%esi
4021ae:	e8 10 26 00 00       	call   0x4047c3
4021b3:	59                   	pop    %ecx
4021b4:	8b 0b                	mov    (%ebx),%ecx
4021b6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4021b9:	8b 41 04             	mov    0x4(%ecx),%eax
4021bc:	03 c3                	add    %ebx,%eax
4021be:	8b c8                	mov    %eax,%ecx
4021c0:	89 45 e8             	mov    %eax,-0x18(%ebp)
4021c3:	e8 d1 30 00 00       	call   0x405299
4021c8:	3b d7                	cmp    %edi,%edx
4021ca:	7c 2d                	jl     0x4021f9
4021cc:	7f 04                	jg     0x4021d2
4021ce:	3b c7                	cmp    %edi,%eax
4021d0:	76 27                	jbe    0x4021f9
4021d2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4021d5:	e8 bf 30 00 00       	call   0x405299
4021da:	3b d7                	cmp    %edi,%edx
4021dc:	7c 1b                	jl     0x4021f9
4021de:	7f 05                	jg     0x4021e5
4021e0:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
4021e3:	76 14                	jbe    0x4021f9
4021e5:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4021e8:	e8 ac 30 00 00       	call   0x405299
4021ed:	2b 45 e4             	sub    -0x1c(%ebp),%eax
4021f0:	8b ca                	mov    %edx,%ecx
4021f2:	1b cf                	sbb    %edi,%ecx
4021f4:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4021f7:	eb 11                	jmp    0x40220a
4021f9:	0f 57 c0             	xorps  %xmm0,%xmm0
4021fc:	66 0f 13 45 d4       	movlpd %xmm0,-0x2c(%ebp)
402201:	8b 45 d8             	mov    -0x28(%ebp),%eax
402204:	89 45 e8             	mov    %eax,-0x18(%ebp)
402207:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40220a:	53                   	push   %ebx
40220b:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40220e:	89 45 ec             	mov    %eax,-0x14(%ebp)
402211:	e8 9b 0b 00 00       	call   0x402db1
402216:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
402219:	89 7d fc             	mov    %edi,-0x4(%ebp)
40221c:	e8 f0 0f 00 00       	call   0x403211
402221:	84 c0                	test   %al,%al
402223:	75 08                	jne    0x40222d
402225:	6a 04                	push   $0x4
402227:	5e                   	pop    %esi
402228:	e9 5b 01 00 00       	jmp    0x402388
40222d:	8b 03                	mov    (%ebx),%eax
40222f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402233:	8b 48 04             	mov    0x4(%eax),%ecx
402236:	03 cb                	add    %ebx,%ecx
402238:	e8 5e 24 00 00       	call   0x40469b
40223d:	25 c0 01 00 00       	and    $0x1c0,%eax
402242:	83 f8 40             	cmp    $0x40,%eax
402245:	74 7a                	je     0x4022c1
402247:	8b 45 ec             	mov    -0x14(%ebp),%eax
40224a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40224d:	3b cf                	cmp    %edi,%ecx
40224f:	7c 68                	jl     0x4022b9
402251:	7f 04                	jg     0x402257
402253:	3b c7                	cmp    %edi,%eax
402255:	76 62                	jbe    0x4022b9
402257:	8b 03                	mov    (%ebx),%eax
402259:	8b 70 04             	mov    0x4(%eax),%esi
40225c:	03 f3                	add    %ebx,%esi
40225e:	8b ce                	mov    %esi,%ecx
402260:	e8 31 24 00 00       	call   0x404696
402265:	0f b7 c0             	movzwl %ax,%eax
402268:	8b ce                	mov    %esi,%ecx
40226a:	50                   	push   %eax
40226b:	e8 ba 29 00 00       	call   0x404c2a
402270:	8b c8                	mov    %eax,%ecx
402272:	e8 40 2e 00 00       	call   0x4050b7
402277:	0f b7 c0             	movzwl %ax,%eax
40227a:	89 45 dc             	mov    %eax,-0x24(%ebp)
40227d:	e8 00 23 00 00       	call   0x404582
402282:	0f b7 c0             	movzwl %ax,%eax
402285:	89 45 d8             	mov    %eax,-0x28(%ebp)
402288:	8d 45 dc             	lea    -0x24(%ebp),%eax
40228b:	50                   	push   %eax
40228c:	8d 45 d8             	lea    -0x28(%ebp),%eax
40228f:	50                   	push   %eax
402290:	e8 13 23 00 00       	call   0x4045a8
402295:	59                   	pop    %ecx
402296:	59                   	pop    %ecx
402297:	84 c0                	test   %al,%al
402299:	74 08                	je     0x4022a3
40229b:	6a 04                	push   $0x4
40229d:	5e                   	pop    %esi
40229e:	e9 b2 00 00 00       	jmp    0x402355
4022a3:	8b 45 ec             	mov    -0x14(%ebp),%eax
4022a6:	8b f7                	mov    %edi,%esi
4022a8:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4022ab:	83 c0 ff             	add    $0xffffffff,%eax
4022ae:	89 45 ec             	mov    %eax,-0x14(%ebp)
4022b1:	83 d1 ff             	adc    $0xffffffff,%ecx
4022b4:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4022b7:	eb 94                	jmp    0x40224d
4022b9:	85 f6                	test   %esi,%esi
4022bb:	0f 85 92 00 00 00    	jne    0x402353
4022c1:	8b 03                	mov    (%ebx),%eax
4022c3:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4022c6:	57                   	push   %edi
4022c7:	56                   	push   %esi
4022c8:	8b 48 04             	mov    0x4(%eax),%ecx
4022cb:	ff 75 d0             	push   -0x30(%ebp)
4022ce:	03 cb                	add    %ebx,%ecx
4022d0:	e8 55 29 00 00       	call   0x404c2a
4022d5:	8b c8                	mov    %eax,%ecx
4022d7:	e8 24 2e 00 00       	call   0x405100
4022dc:	3b c6                	cmp    %esi,%eax
4022de:	75 bb                	jne    0x40229b
4022e0:	3b d7                	cmp    %edi,%edx
4022e2:	75 b7                	jne    0x40229b
4022e4:	8b 45 ec             	mov    -0x14(%ebp),%eax
4022e7:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4022ea:	3b cf                	cmp    %edi,%ecx
4022ec:	7c 65                	jl     0x402353
4022ee:	7f 04                	jg     0x4022f4
4022f0:	3b c7                	cmp    %edi,%eax
4022f2:	76 5f                	jbe    0x402353
4022f4:	8b 03                	mov    (%ebx),%eax
4022f6:	8b 70 04             	mov    0x4(%eax),%esi
4022f9:	03 f3                	add    %ebx,%esi
4022fb:	8b ce                	mov    %esi,%ecx
4022fd:	e8 94 23 00 00       	call   0x404696
402302:	0f b7 c0             	movzwl %ax,%eax
402305:	8b ce                	mov    %esi,%ecx
402307:	50                   	push   %eax
402308:	e8 1d 29 00 00       	call   0x404c2a
40230d:	8b c8                	mov    %eax,%ecx
40230f:	e8 a3 2d 00 00       	call   0x4050b7
402314:	0f b7 c0             	movzwl %ax,%eax
402317:	89 45 d0             	mov    %eax,-0x30(%ebp)
40231a:	e8 63 22 00 00       	call   0x404582
40231f:	0f b7 c0             	movzwl %ax,%eax
402322:	89 45 d8             	mov    %eax,-0x28(%ebp)
402325:	8d 45 d0             	lea    -0x30(%ebp),%eax
402328:	50                   	push   %eax
402329:	8d 45 d8             	lea    -0x28(%ebp),%eax
40232c:	50                   	push   %eax
40232d:	e8 76 22 00 00       	call   0x4045a8
402332:	59                   	pop    %ecx
402333:	59                   	pop    %ecx
402334:	84 c0                	test   %al,%al
402336:	74 07                	je     0x40233f
402338:	8b f7                	mov    %edi,%esi
40233a:	83 ce 04             	or     $0x4,%esi
40233d:	eb 16                	jmp    0x402355
40233f:	8b 45 ec             	mov    -0x14(%ebp),%eax
402342:	8b 4d e8             	mov    -0x18(%ebp),%ecx
402345:	83 c0 ff             	add    $0xffffffff,%eax
402348:	89 45 ec             	mov    %eax,-0x14(%ebp)
40234b:	83 d1 ff             	adc    $0xffffffff,%ecx
40234e:	89 4d e8             	mov    %ecx,-0x18(%ebp)
402351:	eb 97                	jmp    0x4022ea
402353:	8b f7                	mov    %edi,%esi
402355:	8b 03                	mov    (%ebx),%eax
402357:	57                   	push   %edi
402358:	57                   	push   %edi
402359:	8b 48 04             	mov    0x4(%eax),%ecx
40235c:	03 cb                	add    %ebx,%ecx
40235e:	e8 1d 2f 00 00       	call   0x405280
402363:	eb 20                	jmp    0x402385
402365:	8b 55 e0             	mov    -0x20(%ebp),%edx
402368:	6a 01                	push   $0x1
40236a:	6a 04                	push   $0x4
40236c:	8b 02                	mov    (%edx),%eax
40236e:	8b 48 04             	mov    0x4(%eax),%ecx
402371:	03 ca                	add    %edx,%ecx
402373:	e8 17 2d 00 00       	call   0x40508f
402378:	b8 7e 23 40 00       	mov    $0x40237e,%eax
40237d:	c3                   	ret
40237e:	8b 5d e0             	mov    -0x20(%ebp),%ebx
402381:	33 ff                	xor    %edi,%edi
402383:	8b f7                	mov    %edi,%esi
402385:	89 7d fc             	mov    %edi,-0x4(%ebp)
402388:	8b 03                	mov    (%ebx),%eax
40238a:	57                   	push   %edi
40238b:	56                   	push   %esi
40238c:	8b 48 04             	mov    0x4(%eax),%ecx
40238f:	03 cb                	add    %ebx,%ecx
402391:	e8 f9 2c 00 00       	call   0x40508f
402396:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
402399:	e8 97 0d 00 00       	call   0x403135
40239e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4023a1:	8b c3                	mov    %ebx,%eax
4023a3:	5f                   	pop    %edi
4023a4:	5e                   	pop    %esi
4023a5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4023ac:	5b                   	pop    %ebx
4023ad:	8b e5                	mov    %ebp,%esp
4023af:	5d                   	pop    %ebp
4023b0:	c3                   	ret
4023b1:	56                   	push   %esi
4023b2:	57                   	push   %edi
4023b3:	8b fa                	mov    %edx,%edi
4023b5:	8b f1                	mov    %ecx,%esi
4023b7:	eb 14                	jmp    0x4023cd
4023b9:	8b ce                	mov    %esi,%ecx
4023bb:	e8 85 00 00 00       	call   0x402445
4023c0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4023c4:	50                   	push   %eax
4023c5:	e8 df 00 00 00       	call   0x4024a9
4023ca:	83 c6 18             	add    $0x18,%esi
4023cd:	3b f7                	cmp    %edi,%esi
4023cf:	75 e8                	jne    0x4023b9
4023d1:	5f                   	pop    %edi
4023d2:	5e                   	pop    %esi
4023d3:	c2 08 00             	ret    $0x8
4023d6:	55                   	push   %ebp
4023d7:	8b ec                	mov    %esp,%ebp
4023d9:	ff 75 08             	push   0x8(%ebp)
4023dc:	ff 75 08             	push   0x8(%ebp)
4023df:	e8 cd ff ff ff       	call   0x4023b1
4023e4:	5d                   	pop    %ebp
4023e5:	c2 04 00             	ret    $0x4
4023e8:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
4023ee:	8b 0d 44 96 83 02    	mov    0x2839644,%ecx
4023f4:	57                   	push   %edi
4023f5:	bf 40 93 83 02       	mov    $0x2839340,%edi
4023fa:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
4023fd:	a1 48 93 83 02       	mov    0x2839348,%eax
402402:	3b 81 08 00 00 00    	cmp    0x8(%ecx),%eax
402408:	7e 03                	jle    0x40240d
40240a:	eb 05                	jmp    0x402411
40240c:	5e                   	pop    %esi
40240d:	8b c7                	mov    %edi,%eax
40240f:	5f                   	pop    %edi
402410:	c3                   	ret
402411:	56                   	push   %esi
402412:	be 48 93 83 02       	mov    $0x2839348,%esi
402417:	56                   	push   %esi
402418:	e8 9e 48 00 00       	call   0x406cbb
40241d:	59                   	pop    %ecx
40241e:	83 3d 48 93 83 02 ff 	cmpl   $0xffffffff,0x2839348
402425:	75 e5                	jne    0x40240c
402427:	8b cf                	mov    %edi,%ecx
402429:	e8 4c 01 00 00       	call   0x40257a
40242e:	68 24 6c 42 00       	push   $0x426c24
402433:	e8 19 47 00 00       	call   0x406b51
402438:	56                   	push   %esi
402439:	e8 3e 48 00 00       	call   0x406c7c
40243e:	59                   	pop    %ecx
40243f:	59                   	pop    %ecx
402440:	eb ca                	jmp    0x40240c
402442:	8b c1                	mov    %ecx,%eax
402444:	c3                   	ret
402445:	8b c1                	mov    %ecx,%eax
402447:	c3                   	ret
402448:	8b c1                	mov    %ecx,%eax
40244a:	c3                   	ret
40244b:	56                   	push   %esi
40244c:	8b f1                	mov    %ecx,%esi
40244e:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
402452:	e8 73 00 00 00       	call   0x4024ca
402457:	8b 54 24 08          	mov    0x8(%esp),%edx
40245b:	8b ce                	mov    %esi,%ecx
40245d:	50                   	push   %eax
40245e:	e8 29 00 00 00       	call   0x40248c
402463:	5e                   	pop    %esi
402464:	c2 08 00             	ret    $0x8
402467:	56                   	push   %esi
402468:	ff 74 24 08          	push   0x8(%esp)
40246c:	6a 04                	push   $0x4
40246e:	e8 08 0d 00 00       	call   0x40317b
402473:	8b f0                	mov    %eax,%esi
402475:	59                   	pop    %ecx
402476:	59                   	pop    %ecx
402477:	85 f6                	test   %esi,%esi
402479:	74 0d                	je     0x402488
40247b:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40247f:	e8 46 00 00 00       	call   0x4024ca
402484:	8b 08                	mov    (%eax),%ecx
402486:	89 0e                	mov    %ecx,(%esi)
402488:	5e                   	pop    %esi
402489:	c2 08 00             	ret    $0x8
40248c:	56                   	push   %esi
40248d:	57                   	push   %edi
40248e:	8b f9                	mov    %ecx,%edi
402490:	8b f2                	mov    %edx,%esi
402492:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
402496:	e8 2f 00 00 00       	call   0x4024ca
40249b:	50                   	push   %eax
40249c:	56                   	push   %esi
40249d:	8b cf                	mov    %edi,%ecx
40249f:	e8 c3 ff ff ff       	call   0x402467
4024a4:	5f                   	pop    %edi
4024a5:	5e                   	pop    %esi
4024a6:	c2 04 00             	ret    $0x4
4024a9:	8b 54 24 04          	mov    0x4(%esp),%edx
4024ad:	e8 11 00 00 00       	call   0x4024c3
4024b2:	c2 04 00             	ret    $0x4
4024b5:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4024b9:	6a 00                	push   $0x0
4024bb:	e8 65 0e 00 00       	call   0x403325
4024c0:	c2 04 00             	ret    $0x4