402319:	8d 45 f4             	lea    -0xc(%ebp),%eax
40231c:	50                   	push   %eax
40231d:	e8 35 0f 00 00       	call   0x403257
402322:	8b 45 fc             	mov    -0x4(%ebp),%eax
402325:	eb d3                	jmp    0x4022fa
402327:	55                   	push   %ebp
402328:	8b ec                	mov    %esp,%ebp
40232a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40232d:	83 f9 ff             	cmp    $0xffffffff,%ecx
402330:	74 0e                	je     0x402340
402332:	57                   	push   %edi
402333:	8b 7d 0c             	mov    0xc(%ebp),%edi
402336:	83 ff ff             	cmp    $0xffffffff,%edi
402339:	0f 85 2d 9e 03 00    	jne    0x43c16c
40233f:	5f                   	pop    %edi
402340:	5d                   	pop    %ebp
402341:	c2 08 00             	ret    $0x8
402344:	55                   	push   %ebp
402345:	8b ec                	mov    %esp,%ebp
402347:	51                   	push   %ecx
402348:	51                   	push   %ecx
402349:	53                   	push   %ebx
40234a:	56                   	push   %esi
40234b:	57                   	push   %edi
40234c:	8b 7d 08             	mov    0x8(%ebp),%edi
40234f:	8d 45 f8             	lea    -0x8(%ebp),%eax
402352:	50                   	push   %eax
402353:	8b d9                	mov    %ecx,%ebx
402355:	8b 37                	mov    (%edi),%esi
402357:	ff 15 bc f5 48 00    	call   *0x48f5bc
40235d:	8b 45 f8             	mov    -0x8(%ebp),%eax
402360:	89 87 6c 01 00 00    	mov    %eax,0x16c(%edi)
402366:	8b 45 fc             	mov    -0x4(%ebp),%eax
402369:	89 87 70 01 00 00    	mov    %eax,0x170(%edi)
40236f:	8d 45 f8             	lea    -0x8(%ebp),%eax
402372:	50                   	push   %eax
402373:	56                   	push   %esi
402374:	ff 15 70 f6 48 00    	call   *0x48f670
40237a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40237d:	8b 45 fc             	mov    -0x4(%ebp),%eax
402380:	3b 8f 74 01 00 00    	cmp    0x174(%edi),%ecx
402386:	75 63                	jne    0x4023eb
402388:	3b 87 78 01 00 00    	cmp    0x178(%edi),%eax
40238e:	75 5b                	jne    0x4023eb
402390:	ff 73 18             	push   0x18(%ebx)
402393:	8b 35 f0 f5 48 00    	mov    0x48f5f0,%esi
402399:	ff d6                	call   *%esi
40239b:	ff 73 1c             	push   0x1c(%ebx)
40239e:	0f b7 c0             	movzwl %ax,%eax
4023a1:	c1 e8 0f             	shr    $0xf,%eax
4023a4:	89 45 08             	mov    %eax,0x8(%ebp)
4023a7:	ff d6                	call   *%esi
4023a9:	0f b7 f0             	movzwl %ax,%esi
4023ac:	8b 45 08             	mov    0x8(%ebp),%eax
4023af:	c1 ee 0f             	shr    $0xf,%esi
4023b2:	3b 87 7c 01 00 00    	cmp    0x17c(%edi),%eax
4023b8:	0f 85 40 9e 03 00    	jne    0x43c1fe
4023be:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4023c2:	74 06                	je     0x4023ca
4023c4:	89 87 7c 01 00 00    	mov    %eax,0x17c(%edi)
4023ca:	3b b7 80 01 00 00    	cmp    0x180(%edi),%esi
4023d0:	0f 85 94 9e 03 00    	jne    0x43c26a
4023d6:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4023da:	74 06                	je     0x4023e2
4023dc:	89 b7 80 01 00 00    	mov    %esi,0x180(%edi)
4023e2:	5f                   	pop    %edi
4023e3:	5e                   	pop    %esi
4023e4:	5b                   	pop    %ebx
4023e5:	8b e5                	mov    %ebp,%esp
4023e7:	5d                   	pop    %ebp
4023e8:	c2 08 00             	ret    $0x8
4023eb:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
4023ef:	89 8f 74 01 00 00    	mov    %ecx,0x174(%edi)
4023f5:	89 87 78 01 00 00    	mov    %eax,0x178(%edi)
4023fb:	7c 93                	jl     0x402390
4023fd:	e9 eb 9d 03 00       	jmp    0x43c1ed
402402:	55                   	push   %ebp
402403:	8b ec                	mov    %esp,%ebp
402405:	8b d1                	mov    %ecx,%edx
402407:	8b 4d 08             	mov    0x8(%ebp),%ecx
40240a:	56                   	push   %esi
40240b:	57                   	push   %edi
40240c:	85 c9                	test   %ecx,%ecx
40240e:	0f 88 7d 9e 03 00    	js     0x43c291
402414:	83 f9 03             	cmp    $0x3,%ecx
402417:	7c 50                	jl     0x402469
402419:	3b 8a 84 00 00 00    	cmp    0x84(%edx),%ecx
40241f:	7f 48                	jg     0x402469
402421:	8b 42 74             	mov    0x74(%edx),%eax
402424:	8b 04 88             	mov    (%eax,%ecx,4),%eax
402427:	8b 00                	mov    (%eax),%eax
402429:	85 c0                	test   %eax,%eax
40242b:	74 3c                	je     0x402469
40242d:	8b 75 10             	mov    0x10(%ebp),%esi
402430:	8b 40 04             	mov    0x4(%eax),%eax
402433:	89 0e                	mov    %ecx,(%esi)
402435:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402438:	89 01                	mov    %eax,(%ecx)
40243a:	8b c8                	mov    %eax,%ecx
40243c:	8b 42 60             	mov    0x60(%edx),%eax
40243f:	8b 04 88             	mov    (%eax,%ecx,4),%eax
402442:	83 38 00             	cmpl   $0x0,(%eax)
402445:	74 22                	je     0x402469
402447:	8b 0e                	mov    (%esi),%ecx
402449:	83 f9 03             	cmp    $0x3,%ecx
40244c:	7c 1b                	jl     0x402469
40244e:	3b 8a 84 00 00 00    	cmp    0x84(%edx),%ecx
402454:	7f 13                	jg     0x402469
402456:	8b 42 74             	mov    0x74(%edx),%eax
402459:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40245c:	83 38 00             	cmpl   $0x0,(%eax)
40245f:	74 08                	je     0x402469
402461:	b0 01                	mov    $0x1,%al
402463:	5f                   	pop    %edi
402464:	5e                   	pop    %esi
402465:	5d                   	pop    %ebp
402466:	c2 0c 00             	ret    $0xc
402469:	32 c0                	xor    %al,%al
40246b:	eb f6                	jmp    0x402463
40246d:	55                   	push   %ebp
40246e:	8b ec                	mov    %esp,%ebp
402470:	56                   	push   %esi
402471:	8b f1                	mov    %ecx,%esi
402473:	57                   	push   %edi
402474:	8b 7d 08             	mov    0x8(%ebp),%edi
402477:	3b be 94 00 00 00    	cmp    0x94(%esi),%edi
40247d:	0f 84 83 00 00 00    	je     0x402506
402483:	8b 46 74             	mov    0x74(%esi),%eax
402486:	8b 04 b8             	mov    (%eax,%edi,4),%eax
402489:	8b 08                	mov    (%eax),%ecx
40248b:	85 c9                	test   %ecx,%ecx
40248d:	74 06                	je     0x402495
40248f:	51                   	push   %ecx
402490:	e8 65 0e 00 00       	call   0x4032fa
402495:	8b 46 74             	mov    0x74(%esi),%eax
402498:	8b 04 b8             	mov    (%eax,%edi,4),%eax
40249b:	83 20 00             	andl   $0x0,(%eax)
40249e:	ff 8e 80 00 00 00    	decl   0x80(%esi)
4024a4:	3b be 84 00 00 00    	cmp    0x84(%esi),%edi
4024aa:	75 3f                	jne    0x4024eb
4024ac:	83 ff 03             	cmp    $0x3,%edi
4024af:	7c 16                	jl     0x4024c7
4024b1:	8b 46 74             	mov    0x74(%esi),%eax
4024b4:	8d 0c b8             	lea    (%eax,%edi,4),%ecx
4024b7:	8b 01                	mov    (%ecx),%eax
4024b9:	83 38 00             	cmpl   $0x0,(%eax)
4024bc:	75 09                	jne    0x4024c7
4024be:	4f                   	dec    %edi
4024bf:	83 e9 04             	sub    $0x4,%ecx
4024c2:	83 ff 03             	cmp    $0x3,%edi
4024c5:	7d f0                	jge    0x4024b7
4024c7:	89 be 84 00 00 00    	mov    %edi,0x84(%esi)
4024cd:	eb 1c                	jmp    0x4024eb
4024cf:	ff 4e 78             	decl   0x78(%esi)
4024d2:	8b 4e 78             	mov    0x78(%esi),%ecx
4024d5:	8b 46 74             	mov    0x74(%esi),%eax
4024d8:	ff 34 88             	push   (%eax,%ecx,4)
4024db:	e8 8c eb 01 00       	call   0x42106c
4024e0:	8b 46 74             	mov    0x74(%esi),%eax
4024e3:	59                   	pop    %ecx
4024e4:	8b 4e 78             	mov    0x78(%esi),%ecx
4024e7:	83 24 88 00          	andl   $0x0,(%eax,%ecx,4)
4024eb:	83 7e 78 03          	cmpl   $0x3,0x78(%esi)
4024ef:	76 0f                	jbe    0x402500
4024f1:	8b 4e 78             	mov    0x78(%esi),%ecx
4024f4:	8b 46 74             	mov    0x74(%esi),%eax
4024f7:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
4024fb:	83 38 00             	cmpl   $0x0,(%eax)
4024fe:	74 cf                	je     0x4024cf
402500:	5f                   	pop    %edi
402501:	5e                   	pop    %esi
402502:	5d                   	pop    %ebp
402503:	c2 04 00             	ret    $0x4
402506:	83 8e 98 00 00 00 ff 	orl    $0xffffffff,0x98(%esi)
40250d:	83 8e 94 00 00 00 ff 	orl    $0xffffffff,0x94(%esi)
402514:	e9 6a ff ff ff       	jmp    0x402483
402519:	55                   	push   %ebp
40251a:	8b ec                	mov    %esp,%ebp
40251c:	51                   	push   %ecx
40251d:	8b 0d 28 68 4c 00    	mov    0x4c6828,%ecx
402523:	56                   	push   %esi
402524:	57                   	push   %edi
402525:	39 0d 30 68 4c 00    	cmp    %ecx,0x4c6830
40252b:	75 6e                	jne    0x40259b
40252d:	81 3d 34 68 4c 00 ff 	cmpl   $0xffff,0x4c6834
402534:	ff 00 00
402537:	0f 84 8e 00 00 00    	je     0x4025cb
40253d:	68 a0 00 00 00       	push   $0xa0
402542:	e8 af ea 01 00       	call   0x420ff6
402547:	59                   	pop    %ecx
402548:	85 c0                	test   %eax,%eax
40254a:	0f 84 80 00 00 00    	je     0x4025d0
402550:	8b c8                	mov    %eax,%ecx
402552:	e8 22 0e 00 00       	call   0x403379
402557:	8b f8                	mov    %eax,%edi
402559:	8d 45 fc             	lea    -0x4(%ebp),%eax
40255c:	89 7d fc             	mov    %edi,-0x4(%ebp)
40255f:	50                   	push   %eax
402560:	b9 20 68 4c 00       	mov    $0x4c6820,%ecx
402565:	e8 ac 0e 00 00       	call   0x403416
40256a:	8b 35 34 68 4c 00    	mov    0x4c6834,%esi
402570:	46                   	inc    %esi
402571:	89 35 34 68 4c 00    	mov    %esi,0x4c6834
402577:	8b 0d 24 68 4c 00    	mov    0x4c6824,%ecx
40257d:	8b c6                	mov    %esi,%eax
40257f:	ff 05 30 68 4c 00    	incl   0x4c6830
402585:	8b 0c b1             	mov    (%ecx,%esi,4),%ecx
402588:	89 39                	mov    %edi,(%ecx)
40258a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40258d:	8b 49 04             	mov    0x4(%ecx),%ecx
402590:	89 4f 04             	mov    %ecx,0x4(%edi)
402593:	5f                   	pop    %edi
402594:	5e                   	pop    %esi
402595:	8b e5                	mov    %ebp,%esp
402597:	5d                   	pop    %ebp
402598:	c2 04 00             	ret    $0x4
40259b:	6a 03                	push   $0x3
40259d:	5e                   	pop    %esi
40259e:	33 ff                	xor    %edi,%edi
4025a0:	3b ce                	cmp    %esi,%ecx
4025a2:	7e 0d                	jle    0x4025b1
4025a4:	8b 15 24 68 4c 00    	mov    0x4c6824,%edx
4025aa:	8b 04 b2             	mov    (%edx,%esi,4),%eax
4025ad:	39 38                	cmp    %edi,(%eax)
4025af:	75 23                	jne    0x4025d4
4025b1:	68 a0 00 00 00       	push   $0xa0
4025b6:	e8 3b ea 01 00       	call   0x420ff6
4025bb:	59                   	pop    %ecx
4025bc:	85 c0                	test   %eax,%eax
4025be:	74 b7                	je     0x402577
4025c0:	8b c8                	mov    %eax,%ecx
4025c2:	e8 b2 0d 00 00       	call   0x403379
4025c7:	8b f8                	mov    %eax,%edi
4025c9:	eb ac                	jmp    0x402577
4025cb:	83 c8 ff             	or     $0xffffffff,%eax
4025ce:	eb c3                	jmp    0x402593
4025d0:	33 ff                	xor    %edi,%edi
4025d2:	eb 85                	jmp    0x402559
4025d4:	46                   	inc    %esi
4025d5:	3b f1                	cmp    %ecx,%esi
4025d7:	7c d1                	jl     0x4025aa
4025d9:	eb d6                	jmp    0x4025b1
4025db:	55                   	push   %ebp
4025dc:	8b ec                	mov    %esp,%ebp
4025de:	56                   	push   %esi
4025df:	8b 75 08             	mov    0x8(%ebp),%esi
4025e2:	57                   	push   %edi
4025e3:	8b f9                	mov    %ecx,%edi
4025e5:	85 f6                	test   %esi,%esi
4025e7:	74 24                	je     0x40260d
4025e9:	6a eb                	push   $0xffffffeb
4025eb:	56                   	push   %esi
4025ec:	ff 15 5c f6 48 00    	call   *0x48f65c
4025f2:	3b 47 78             	cmp    0x78(%edi),%eax
4025f5:	73 16                	jae    0x40260d
4025f7:	8b 4f 74             	mov    0x74(%edi),%ecx
4025fa:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
4025fd:	8b 09                	mov    (%ecx),%ecx
4025ff:	85 c9                	test   %ecx,%ecx
402601:	74 0a                	je     0x40260d
402603:	39 31                	cmp    %esi,(%ecx)
402605:	75 06                	jne    0x40260d
402607:	5f                   	pop    %edi
402608:	5e                   	pop    %esi
402609:	5d                   	pop    %ebp
40260a:	c2 04 00             	ret    $0x4
40260d:	83 c8 ff             	or     $0xffffffff,%eax
402610:	eb f5                	jmp    0x402607
402612:	55                   	push   %ebp
402613:	8b ec                	mov    %esp,%ebp
402615:	56                   	push   %esi
402616:	8b 75 08             	mov    0x8(%ebp),%esi
402619:	57                   	push   %edi
40261a:	8b f9                	mov    %ecx,%edi
40261c:	85 f6                	test   %esi,%esi
40261e:	74 24                	je     0x402644
402620:	6a eb                	push   $0xffffffeb
402622:	56                   	push   %esi
402623:	ff 15 5c f6 48 00    	call   *0x48f65c
402629:	3b 47 64             	cmp    0x64(%edi),%eax
40262c:	73 16                	jae    0x402644
40262e:	8b 4f 60             	mov    0x60(%edi),%ecx
402631:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
402634:	8b 09                	mov    (%ecx),%ecx
402636:	85 c9                	test   %ecx,%ecx
402638:	74 0a                	je     0x402644
40263a:	39 31                	cmp    %esi,(%ecx)
40263c:	75 06                	jne    0x402644
40263e:	5f                   	pop    %edi
40263f:	5e                   	pop    %esi
402640:	5d                   	pop    %ebp
402641:	c2 04 00             	ret    $0x4
402644:	83 c8 ff             	or     $0xffffffff,%eax
402647:	eb f5                	jmp    0x40263e
402649:	55                   	push   %ebp
40264a:	8b ec                	mov    %esp,%ebp
40264c:	51                   	push   %ecx
40264d:	53                   	push   %ebx
40264e:	33 db                	xor    %ebx,%ebx
402650:	c7 05 cc 67 4c 00 02 	movl   $0x2,0x4c67cc
402657:	00 00 00
40265a:	56                   	push   %esi
40265b:	33 c0                	xor    %eax,%eax
40265d:	89 1d b8 67 4c 00    	mov    %ebx,0x4c67b8
402663:	40                   	inc    %eax
402664:	88 1d bc 67 4c 00    	mov    %bl,0x4c67bc
40266a:	57                   	push   %edi
40266b:	83 cf ff             	or     $0xffffffff,%edi
40266e:	a2 b0 67 4c 00       	mov    %al,0x4c67b0
402673:	b9 f0 67 4c 00       	mov    $0x4c67f0,%ecx
402678:	a3 b4 67 4c 00       	mov    %eax,0x4c67b4
40267d:	89 1d c0 67 4c 00    	mov    %ebx,0x4c67c0
402683:	a3 c8 67 4c 00       	mov    %eax,0x4c67c8
402688:	89 1d d0 67 4c 00    	mov    %ebx,0x4c67d0
40268e:	89 1d d4 67 4c 00    	mov    %ebx,0x4c67d4
402694:	89 3d d8 67 4c 00    	mov    %edi,0x4c67d8
40269a:	89 1d dc 67 4c 00    	mov    %ebx,0x4c67dc
4026a0:	89 1d e0 67 4c 00    	mov    %ebx,0x4c67e0
4026a6:	89 1d e4 67 4c 00    	mov    %ebx,0x4c67e4
4026ac:	88 1d e8 67 4c 00    	mov    %bl,0x4c67e8
4026b2:	e8 10 51 00 00       	call   0x4077c7
4026b7:	6a 03                	push   $0x3
4026b9:	5e                   	pop    %esi
4026ba:	6a 7c                	push   $0x7c
4026bc:	58                   	pop    %eax
4026bd:	66 a3 c4 67 4c 00    	mov    %ax,0x4c67c4
4026c3:	33 c0                	xor    %eax,%eax
4026c5:	c7 05 0c 68 4c 00 18 	movl   $0x48f918,0x4c680c
4026cc:	f9 48 00
4026cf:	89 1d 10 68 4c 00    	mov    %ebx,0x4c6810
4026d5:	89 1d 14 68 4c 00    	mov    %ebx,0x4c6814
4026db:	89 1d 18 68 4c 00    	mov    %ebx,0x4c6818
4026e1:	89 3d 1c 68 4c 00    	mov    %edi,0x4c681c
4026e7:	c7 05 20 68 4c 00 14 	movl   $0x48f914,0x4c6820
4026ee:	f9 48 00
4026f1:	89 1d 24 68 4c 00    	mov    %ebx,0x4c6824
4026f7:	89 1d 28 68 4c 00    	mov    %ebx,0x4c6828
4026fd:	89 1d 2c 68 4c 00    	mov    %ebx,0x4c682c
402703:	89 35 30 68 4c 00    	mov    %esi,0x4c6830
402709:	c7 05 34 68 4c 00 02 	movl   $0x2,0x4c6834
402710:	00 00 00
402713:	89 1d 38 68 4c 00    	mov    %ebx,0x4c6838
402719:	89 1d 3c 68 4c 00    	mov    %ebx,0x4c683c
40271f:	89 1d 40 68 4c 00    	mov    %ebx,0x4c6840
402725:	89 3d 44 68 4c 00    	mov    %edi,0x4c6844
40272b:	89 3d 48 68 4c 00    	mov    %edi,0x4c6848
402731:	89 1d 7c 68 4c 00    	mov    %ebx,0x4c687c
402737:	89 1d 80 68 4c 00    	mov    %ebx,0x4c6880
40273d:	89 1d 84 68 4c 00    	mov    %ebx,0x4c6884
402743:	89 3d 88 68 4c 00    	mov    %edi,0x4c6888