4023ce:	59                   	pop    %ecx
4023cf:	59                   	pop    %ecx
4023d0:	85 c0                	test   %eax,%eax
4023d2:	74 56                	je     0x40242a
4023d4:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4023d7:	8d 0c 8d a0 2d de 02 	lea    0x2de2da0(,%ecx,4),%ecx
4023de:	89 01                	mov    %eax,(%ecx)
4023e0:	83 05 9c 2d de 02 20 	addl   $0x20,0x2de2d9c
4023e7:	8d 90 00 08 00 00    	lea    0x800(%eax),%edx
4023ed:	eb 2a                	jmp    0x402419
4023ef:	c6 40 04 00          	movb   $0x0,0x4(%eax)
4023f3:	83 08 ff             	orl    $0xffffffff,(%eax)
4023f6:	c6 40 05 0a          	movb   $0xa,0x5(%eax)
4023fa:	83 60 08 00          	andl   $0x0,0x8(%eax)
4023fe:	80 60 24 80          	andb   $0x80,0x24(%eax)
402402:	c6 40 25 0a          	movb   $0xa,0x25(%eax)
402406:	c6 40 26 0a          	movb   $0xa,0x26(%eax)
40240a:	83 60 38 00          	andl   $0x0,0x38(%eax)
40240e:	c6 40 34 00          	movb   $0x0,0x34(%eax)
402412:	83 c0 40             	add    $0x40,%eax
402415:	8b 11                	mov    (%ecx),%edx
402417:	03 d6                	add    %esi,%edx
402419:	3b c2                	cmp    %edx,%eax
40241b:	72 d2                	jb     0x4023ef
40241d:	ff 45 e0             	incl   -0x20(%ebp)
402420:	39 3d 9c 2d de 02    	cmp    %edi,0x2de2d9c
402426:	7c 9d                	jl     0x4023c5
402428:	eb 06                	jmp    0x402430
40242a:	8b 3d 9c 2d de 02    	mov    0x2de2d9c,%edi
402430:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
402434:	85 ff                	test   %edi,%edi
402436:	7e 6d                	jle    0x4024a5
402438:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40243b:	8b 08                	mov    (%eax),%ecx
40243d:	83 f9 ff             	cmp    $0xffffffff,%ecx
402440:	74 56                	je     0x402498
402442:	83 f9 fe             	cmp    $0xfffffffe,%ecx
402445:	74 51                	je     0x402498
402447:	8a 03                	mov    (%ebx),%al
402449:	a8 01                	test   $0x1,%al
40244b:	74 4b                	je     0x402498
40244d:	a8 08                	test   $0x8,%al
40244f:	75 0b                	jne    0x40245c
402451:	51                   	push   %ecx
402452:	ff 15 a4 d0 41 00    	call   *0x41d0a4
402458:	85 c0                	test   %eax,%eax
40245a:	74 3c                	je     0x402498
40245c:	8b 75 e0             	mov    -0x20(%ebp),%esi
40245f:	8b c6                	mov    %esi,%eax
402461:	c1 f8 05             	sar    $0x5,%eax
402464:	83 e6 1f             	and    $0x1f,%esi
402467:	c1 e6 06             	shl    $0x6,%esi
40246a:	03 34 85 a0 2d de 02 	add    0x2de2da0(,%eax,4),%esi
402471:	8b 45 e4             	mov    -0x1c(%ebp),%eax
402474:	8b 00                	mov    (%eax),%eax
402476:	89 06                	mov    %eax,(%esi)
402478:	8a 03                	mov    (%ebx),%al
40247a:	88 46 04             	mov    %al,0x4(%esi)
40247d:	68 a0 0f 00 00       	push   $0xfa0
402482:	8d 46 0c             	lea    0xc(%esi),%eax
402485:	50                   	push   %eax
402486:	e8 d1 1c 00 00       	call   0x40415c
40248b:	59                   	pop    %ecx
40248c:	59                   	pop    %ecx
40248d:	85 c0                	test   %eax,%eax
40248f:	0f 84 c9 00 00 00    	je     0x40255e
402495:	ff 46 08             	incl   0x8(%esi)
402498:	ff 45 e0             	incl   -0x20(%ebp)
40249b:	43                   	inc    %ebx
40249c:	83 45 e4 04          	addl   $0x4,-0x1c(%ebp)
4024a0:	39 7d e0             	cmp    %edi,-0x20(%ebp)
4024a3:	7c 93                	jl     0x402438
4024a5:	33 db                	xor    %ebx,%ebx
4024a7:	8b f3                	mov    %ebx,%esi
4024a9:	c1 e6 06             	shl    $0x6,%esi
4024ac:	03 35 a0 2d de 02    	add    0x2de2da0,%esi
4024b2:	8b 06                	mov    (%esi),%eax
4024b4:	83 f8 ff             	cmp    $0xffffffff,%eax
4024b7:	74 0b                	je     0x4024c4
4024b9:	83 f8 fe             	cmp    $0xfffffffe,%eax
4024bc:	74 06                	je     0x4024c4
4024be:	80 4e 04 80          	orb    $0x80,0x4(%esi)
4024c2:	eb 72                	jmp    0x402536
4024c4:	c6 46 04 81          	movb   $0x81,0x4(%esi)
4024c8:	85 db                	test   %ebx,%ebx
4024ca:	75 05                	jne    0x4024d1
4024cc:	6a f6                	push   $0xfffffff6
4024ce:	58                   	pop    %eax
4024cf:	eb 0a                	jmp    0x4024db
4024d1:	8b c3                	mov    %ebx,%eax
4024d3:	48                   	dec    %eax
4024d4:	f7 d8                	neg    %eax
4024d6:	1b c0                	sbb    %eax,%eax
4024d8:	83 c0 f5             	add    $0xfffffff5,%eax
4024db:	50                   	push   %eax
4024dc:	ff 15 84 d0 41 00    	call   *0x41d084
4024e2:	8b f8                	mov    %eax,%edi
4024e4:	83 ff ff             	cmp    $0xffffffff,%edi
4024e7:	74 43                	je     0x40252c
4024e9:	85 ff                	test   %edi,%edi
4024eb:	74 3f                	je     0x40252c
4024ed:	57                   	push   %edi
4024ee:	ff 15 a4 d0 41 00    	call   *0x41d0a4
4024f4:	85 c0                	test   %eax,%eax
4024f6:	74 34                	je     0x40252c
4024f8:	89 3e                	mov    %edi,(%esi)
4024fa:	25 ff 00 00 00       	and    $0xff,%eax
4024ff:	83 f8 02             	cmp    $0x2,%eax
402502:	75 06                	jne    0x40250a
402504:	80 4e 04 40          	orb    $0x40,0x4(%esi)
402508:	eb 09                	jmp    0x402513
40250a:	83 f8 03             	cmp    $0x3,%eax
40250d:	75 04                	jne    0x402513
40250f:	80 4e 04 08          	orb    $0x8,0x4(%esi)
402513:	68 a0 0f 00 00       	push   $0xfa0
402518:	8d 46 0c             	lea    0xc(%esi),%eax
40251b:	50                   	push   %eax
40251c:	e8 3b 1c 00 00       	call   0x40415c
402521:	59                   	pop    %ecx
402522:	59                   	pop    %ecx
402523:	85 c0                	test   %eax,%eax
402525:	74 37                	je     0x40255e
402527:	ff 46 08             	incl   0x8(%esi)
40252a:	eb 0a                	jmp    0x402536
40252c:	80 4e 04 40          	orb    $0x40,0x4(%esi)
402530:	c7 06 fe ff ff ff    	movl   $0xfffffffe,(%esi)
402536:	43                   	inc    %ebx
402537:	83 fb 03             	cmp    $0x3,%ebx
40253a:	0f 8c 67 ff ff ff    	jl     0x4024a7
402540:	ff 35 9c 2d de 02    	push   0x2de2d9c
402546:	ff 15 a0 d0 41 00    	call   *0x41d0a0
40254c:	33 c0                	xor    %eax,%eax
40254e:	eb 11                	jmp    0x402561
402550:	33 c0                	xor    %eax,%eax
402552:	40                   	inc    %eax
402553:	c3                   	ret
402554:	8b 65 e8             	mov    -0x18(%ebp),%esp
402557:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40255e:	83 c8 ff             	or     $0xffffffff,%eax
402561:	e8 5f 06 00 00       	call   0x402bc5
402566:	c3                   	ret
402567:	8b ff                	mov    %edi,%edi
402569:	56                   	push   %esi
40256a:	b8 e0 e5 41 00       	mov    $0x41e5e0,%eax
40256f:	be e0 e5 41 00       	mov    $0x41e5e0,%esi
402574:	57                   	push   %edi
402575:	8b f8                	mov    %eax,%edi
402577:	3b c6                	cmp    %esi,%eax
402579:	73 0f                	jae    0x40258a
40257b:	8b 07                	mov    (%edi),%eax
40257d:	85 c0                	test   %eax,%eax
40257f:	74 02                	je     0x402583
402581:	ff d0                	call   *%eax
402583:	83 c7 04             	add    $0x4,%edi
402586:	3b fe                	cmp    %esi,%edi
402588:	72 f1                	jb     0x40257b
40258a:	5f                   	pop    %edi
40258b:	5e                   	pop    %esi
40258c:	c3                   	ret
40258d:	8b ff                	mov    %edi,%edi
40258f:	56                   	push   %esi
402590:	b8 e8 e5 41 00       	mov    $0x41e5e8,%eax
402595:	be e8 e5 41 00       	mov    $0x41e5e8,%esi
40259a:	57                   	push   %edi
40259b:	8b f8                	mov    %eax,%edi
40259d:	3b c6                	cmp    %esi,%eax
40259f:	73 0f                	jae    0x4025b0
4025a1:	8b 07                	mov    (%edi),%eax
4025a3:	85 c0                	test   %eax,%eax
4025a5:	74 02                	je     0x4025a9
4025a7:	ff d0                	call   *%eax
4025a9:	83 c7 04             	add    $0x4,%edi
4025ac:	3b fe                	cmp    %esi,%edi
4025ae:	72 f1                	jb     0x4025a1
4025b0:	5f                   	pop    %edi
4025b1:	5e                   	pop    %esi
4025b2:	c3                   	ret
4025b3:	8b ff                	mov    %edi,%edi
4025b5:	55                   	push   %ebp
4025b6:	8b ec                	mov    %esp,%ebp
4025b8:	56                   	push   %esi
4025b9:	ff 35 24 f1 41 00    	push   0x41f124
4025bf:	8b 35 ac d0 41 00    	mov    0x41d0ac,%esi
4025c5:	ff d6                	call   *%esi
4025c7:	85 c0                	test   %eax,%eax
4025c9:	74 21                	je     0x4025ec
4025cb:	a1 20 f1 41 00       	mov    0x41f120,%eax
4025d0:	83 f8 ff             	cmp    $0xffffffff,%eax
4025d3:	74 17                	je     0x4025ec
4025d5:	50                   	push   %eax
4025d6:	ff 35 24 f1 41 00    	push   0x41f124
4025dc:	ff d6                	call   *%esi
4025de:	ff d0                	call   *%eax
4025e0:	85 c0                	test   %eax,%eax
4025e2:	74 08                	je     0x4025ec
4025e4:	8b 80 f8 01 00 00    	mov    0x1f8(%eax),%eax
4025ea:	eb 27                	jmp    0x402613
4025ec:	be 24 d9 41 00       	mov    $0x41d924,%esi
4025f1:	56                   	push   %esi
4025f2:	ff 15 40 d0 41 00    	call   *0x41d040
4025f8:	85 c0                	test   %eax,%eax
4025fa:	75 0b                	jne    0x402607
4025fc:	56                   	push   %esi
4025fd:	e8 cb f1 ff ff       	call   0x4017cd
402602:	59                   	pop    %ecx
402603:	85 c0                	test   %eax,%eax
402605:	74 18                	je     0x40261f
402607:	68 14 d9 41 00       	push   $0x41d914
40260c:	50                   	push   %eax
40260d:	ff 15 20 d0 41 00    	call   *0x41d020
402613:	85 c0                	test   %eax,%eax
402615:	74 08                	je     0x40261f
402617:	ff 75 08             	push   0x8(%ebp)
40261a:	ff d0                	call   *%eax
40261c:	89 45 08             	mov    %eax,0x8(%ebp)
40261f:	8b 45 08             	mov    0x8(%ebp),%eax
402622:	5e                   	pop    %esi
402623:	5d                   	pop    %ebp
402624:	c3                   	ret
402625:	6a 00                	push   $0x0
402627:	e8 87 ff ff ff       	call   0x4025b3
40262c:	59                   	pop    %ecx
40262d:	c3                   	ret
40262e:	8b ff                	mov    %edi,%edi
402630:	55                   	push   %ebp
402631:	8b ec                	mov    %esp,%ebp
402633:	56                   	push   %esi
402634:	ff 35 24 f1 41 00    	push   0x41f124
40263a:	8b 35 ac d0 41 00    	mov    0x41d0ac,%esi
402640:	ff d6                	call   *%esi
402642:	85 c0                	test   %eax,%eax
402644:	74 21                	je     0x402667
402646:	a1 20 f1 41 00       	mov    0x41f120,%eax
40264b:	83 f8 ff             	cmp    $0xffffffff,%eax
40264e:	74 17                	je     0x402667
402650:	50                   	push   %eax
402651:	ff 35 24 f1 41 00    	push   0x41f124
402657:	ff d6                	call   *%esi
402659:	ff d0                	call   *%eax
40265b:	85 c0                	test   %eax,%eax
40265d:	74 08                	je     0x402667
40265f:	8b 80 fc 01 00 00    	mov    0x1fc(%eax),%eax
402665:	eb 27                	jmp    0x40268e
402667:	be 24 d9 41 00       	mov    $0x41d924,%esi
40266c:	56                   	push   %esi
40266d:	ff 15 40 d0 41 00    	call   *0x41d040
402673:	85 c0                	test   %eax,%eax
402675:	75 0b                	jne    0x402682
402677:	56                   	push   %esi
402678:	e8 50 f1 ff ff       	call   0x4017cd
40267d:	59                   	pop    %ecx
40267e:	85 c0                	test   %eax,%eax
402680:	74 18                	je     0x40269a
402682:	68 40 d9 41 00       	push   $0x41d940
402687:	50                   	push   %eax
402688:	ff 15 20 d0 41 00    	call   *0x41d020
40268e:	85 c0                	test   %eax,%eax
402690:	74 08                	je     0x40269a
402692:	ff 75 08             	push   0x8(%ebp)
402695:	ff d0                	call   *%eax
402697:	89 45 08             	mov    %eax,0x8(%ebp)
40269a:	8b 45 08             	mov    0x8(%ebp),%eax
40269d:	5e                   	pop    %esi
40269e:	5d                   	pop    %ebp
40269f:	c3                   	ret
4026a0:	ff 15 b0 d0 41 00    	call   *0x41d0b0
4026a6:	c2 04 00             	ret    $0x4
4026a9:	8b ff                	mov    %edi,%edi
4026ab:	56                   	push   %esi
4026ac:	ff 35 24 f1 41 00    	push   0x41f124
4026b2:	ff 15 ac d0 41 00    	call   *0x41d0ac
4026b8:	8b f0                	mov    %eax,%esi
4026ba:	85 f6                	test   %esi,%esi
4026bc:	75 1b                	jne    0x4026d9
4026be:	ff 35 18 0e 43 00    	push   0x430e18
4026c4:	e8 65 ff ff ff       	call   0x40262e
4026c9:	59                   	pop    %ecx
4026ca:	8b f0                	mov    %eax,%esi
4026cc:	56                   	push   %esi
4026cd:	ff 35 24 f1 41 00    	push   0x41f124
4026d3:	ff 15 b4 d0 41 00    	call   *0x41d0b4
4026d9:	8b c6                	mov    %esi,%eax
4026db:	5e                   	pop    %esi
4026dc:	c3                   	ret
4026dd:	a1 20 f1 41 00       	mov    0x41f120,%eax
4026e2:	83 f8 ff             	cmp    $0xffffffff,%eax
4026e5:	74 16                	je     0x4026fd
4026e7:	50                   	push   %eax
4026e8:	ff 35 20 0e 43 00    	push   0x430e20
4026ee:	e8 3b ff ff ff       	call   0x40262e
4026f3:	59                   	pop    %ecx
4026f4:	ff d0                	call   *%eax
4026f6:	83 0d 20 f1 41 00 ff 	orl    $0xffffffff,0x41f120
4026fd:	a1 24 f1 41 00       	mov    0x41f124,%eax
402702:	83 f8 ff             	cmp    $0xffffffff,%eax
402705:	74 0e                	je     0x402715
402707:	50                   	push   %eax
402708:	ff 15 b8 d0 41 00    	call   *0x41d0b8
40270e:	83 0d 24 f1 41 00 ff 	orl    $0xffffffff,0x41f124
402715:	e9 8c 12 00 00       	jmp    0x4039a6
40271a:	6a 0c                	push   $0xc
40271c:	68 58 e6 41 00       	push   $0x41e658
402721:	e8 5a 04 00 00       	call   0x402b80
402726:	be 24 d9 41 00       	mov    $0x41d924,%esi
40272b:	56                   	push   %esi
40272c:	ff 15 40 d0 41 00    	call   *0x41d040
402732:	85 c0                	test   %eax,%eax
402734:	75 07                	jne    0x40273d
402736:	56                   	push   %esi
402737:	e8 91 f0 ff ff       	call   0x4017cd
40273c:	59                   	pop    %ecx
40273d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
402740:	8b 75 08             	mov    0x8(%ebp),%esi
402743:	c7 46 5c 98 d8 41 00 	movl   $0x41d898,0x5c(%esi)
40274a:	33 ff                	xor    %edi,%edi
40274c:	47                   	inc    %edi
40274d:	89 7e 14             	mov    %edi,0x14(%esi)
402750:	85 c0                	test   %eax,%eax
402752:	74 24                	je     0x402778
402754:	68 14 d9 41 00       	push   $0x41d914
402759:	50                   	push   %eax
40275a:	8b 1d 20 d0 41 00    	mov    0x41d020,%ebx
402760:	ff d3                	call   *%ebx
402762:	89 86 f8 01 00 00    	mov    %eax,0x1f8(%esi)
402768:	68 40 d9 41 00       	push   $0x41d940
40276d:	ff 75 e4             	push   -0x1c(%ebp)
402770:	ff d3                	call   *%ebx
402772:	89 86 fc 01 00 00    	mov    %eax,0x1fc(%esi)
402778:	89 7e 70             	mov    %edi,0x70(%esi)
40277b:	c6 86 c8 00 00 00 43 	movb   $0x43,0xc8(%esi)
402782:	c6 86 4b 01 00 00 43 	movb   $0x43,0x14b(%esi)
402789:	c7 46 68 30 f5 41 00 	movl   $0x41f530,0x68(%esi)
402790:	6a 0d                	push   $0xd
402792:	e8 40 13 00 00       	call   0x403ad7
402797:	59                   	pop    %ecx
402798:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40279c:	ff 76 68             	push   0x68(%esi)
40279f:	ff 15 bc d0 41 00    	call   *0x41d0bc
4027a5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4027ac:	e8 3e 00 00 00       	call   0x4027ef
4027b1:	6a 0c                	push   $0xc
4027b3:	e8 1f 13 00 00       	call   0x403ad7
4027b8:	59                   	pop    %ecx
4027b9:	89 7d fc             	mov    %edi,-0x4(%ebp)
4027bc:	8b 45 0c             	mov    0xc(%ebp),%eax
4027bf:	89 46 6c             	mov    %eax,0x6c(%esi)
4027c2:	85 c0                	test   %eax,%eax
4027c4:	75 08                	jne    0x4027ce
4027c6:	a1 38 fb 41 00       	mov    0x41fb38,%eax
4027cb:	89 46 6c             	mov    %eax,0x6c(%esi)