4023e4:	8d 8b 08 68 00 00    	lea    0x6808(%ebx),%ecx
4023ea:	89 4d b0             	mov    %ecx,-0x50(%ebp)
4023ed:	89 45 dc             	mov    %eax,-0x24(%ebp)
4023f0:	c7 45 e4 0c 00 00 00 	movl   $0xc,-0x1c(%ebp)
4023f7:	8b 45 ec             	mov    -0x14(%ebp),%eax
4023fa:	8b 7c 85 a8          	mov    -0x58(%ebp,%eax,4),%edi
4023fe:	8b 45 dc             	mov    -0x24(%ebp),%eax
402401:	8a 4d e4             	mov    -0x1c(%ebp),%cl
402404:	d3 e8                	shr    %cl,%eax
402406:	89 45 e0             	mov    %eax,-0x20(%ebp)
402409:	a8 08                	test   $0x8,%al
40240b:	74 6f                	je     0x40247c
40240d:	85 ff                	test   %edi,%edi
40240f:	74 6b                	je     0x40247c
402411:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
402415:	74 10                	je     0x402427
402417:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40241a:	e8 29 90 00 00       	call   0x40b448
40241f:	50                   	push   %eax
402420:	8b cf                	mov    %edi,%ecx
402422:	e8 8d ee 00 00       	call   0x4112b4
402427:	8d 45 80             	lea    -0x80(%ebp),%eax
40242a:	50                   	push   %eax
40242b:	8b cf                	mov    %edi,%ecx
40242d:	e8 f3 ec 00 00       	call   0x411125
402432:	f6 45 e0 04          	testb  $0x4,-0x20(%ebp)
402436:	74 03                	je     0x40243b
402438:	ff 45 94             	incl   -0x6c(%ebp)
40243b:	8b 45 e0             	mov    -0x20(%ebp),%eax
40243e:	83 65 98 00          	andl   $0x0,-0x68(%ebp)
402442:	83 e0 03             	and    $0x3,%eax
402445:	7e 25                	jle    0x40246c
402447:	6a 03                	push   $0x3
402449:	5f                   	pop    %edi
40244a:	2b f8                	sub    %eax,%edi
40244c:	c1 e7 03             	shl    $0x3,%edi
40244f:	89 45 e0             	mov    %eax,-0x20(%ebp)
402452:	8d 4d b8             	lea    -0x48(%ebp),%ecx
402455:	e8 a1 8f 00 00       	call   0x40b3fb
40245a:	0f b6 c0             	movzbl %al,%eax
40245d:	8b cf                	mov    %edi,%ecx
40245f:	d3 e0                	shl    %cl,%eax
402461:	83 c7 08             	add    $0x8,%edi
402464:	09 45 98             	or     %eax,-0x68(%ebp)
402467:	ff 4d e0             	decl   -0x20(%ebp)
40246a:	75 e6                	jne    0x402452
40246c:	8d 45 80             	lea    -0x80(%ebp),%eax
40246f:	50                   	push   %eax
402470:	8b 45 ec             	mov    -0x14(%ebp),%eax
402473:	8b 4c 85 a8          	mov    -0x58(%ebp,%eax,4),%ecx
402477:	e8 90 ed 00 00       	call   0x41120c
40247c:	83 6d e4 04          	subl   $0x4,-0x1c(%ebp)
402480:	ff 45 ec             	incl   -0x14(%ebp)
402483:	83 7d e4 fc          	cmpl   $0xfffffffc,-0x1c(%ebp)
402487:	0f 8f 6a ff ff ff    	jg     0x4023f7
40248d:	8b 86 48 10 00 00    	mov    0x1048(%esi),%eax
402493:	01 83 28 a2 00 00    	add    %eax,0xa228(%ebx)
402499:	8b 86 4c 10 00 00    	mov    0x104c(%esi),%eax
40249f:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4024a2:	11 83 2c a2 00 00    	adc    %eax,0xa22c(%ebx)
4024a8:	8a 86 e2 10 00 00    	mov    0x10e2(%esi),%al
4024ae:	88 45 dc             	mov    %al,-0x24(%ebp)
4024b1:	ff 75 dc             	push   -0x24(%ebp)
4024b4:	e8 c6 90 00 00       	call   0x40b57f
4024b9:	0f b7 c0             	movzwl %ax,%eax
4024bc:	39 06                	cmp    %eax,(%esi)
4024be:	0f 84 14 01 00 00    	je     0x4025d8
4024c4:	6a 01                	push   $0x1
4024c6:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
4024cb:	c6 83 44 a2 00 00 01 	movb   $0x1,0xa244(%ebx)
4024d2:	e8 33 3f 00 00       	call   0x40640a
4024d7:	80 7d f2 00          	cmpb   $0x0,-0xe(%ebp)
4024db:	0f 85 f7 00 00 00    	jne    0x4025d8
4024e1:	ff 75 e8             	push   -0x18(%ebp)
4024e4:	8d 43 1e             	lea    0x1e(%ebx),%eax
4024e7:	50                   	push   %eax
4024e8:	6a 1a                	push   $0x1a
4024ea:	e8 ea 3f 00 00       	call   0x4064d9
4024ef:	e9 e4 00 00 00       	jmp    0x4025d8
4024f4:	f7 83 34 57 00 00 00 	testl  $0x8000,0x5734(%ebx)
4024fb:	80 00 00
4024fe:	0f 84 d4 00 00 00    	je     0x4025d8
402504:	8d 4d b8             	lea    -0x48(%ebp),%ecx
402507:	e8 3c 8f 00 00       	call   0x40b448
40250c:	01 83 28 a2 00 00    	add    %eax,0xa228(%ebx)
402512:	83 93 2c a2 00 00 00 	adcl   $0x0,0xa22c(%ebx)
402519:	e9 ba 00 00 00       	jmp    0x4025d8
40251e:	8d bb 50 57 00 00    	lea    0x5750(%ebx),%edi
402524:	8b cf                	mov    %edi,%ecx
402526:	e8 6c 75 00 00       	call   0x409a97
40252b:	6a 05                	push   $0x5
40252d:	59                   	pop    %ecx
40252e:	8d b3 2c 57 00 00    	lea    0x572c(%ebx),%esi
402534:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
402536:	8d 4d b8             	lea    -0x48(%ebp),%ecx
402539:	e8 d5 8e 00 00       	call   0x40b413
40253e:	8d 4d b8             	lea    -0x48(%ebp),%ecx
402541:	66 89 83 64 57 00 00 	mov    %ax,0x5764(%ebx)
402548:	e8 fb 8e 00 00       	call   0x40b448
40254d:	8b f0                	mov    %eax,%esi
40254f:	8d 8b 58 57 00 00    	lea    0x5758(%ebx),%ecx
402555:	8a 01                	mov    (%ecx),%al
402557:	8b 09                	mov    (%ecx),%ecx
402559:	24 01                	and    $0x1,%al
40255b:	88 83 35 a2 00 00    	mov    %al,0xa235(%ebx)
402561:	8b c1                	mov    %ecx,%eax
402563:	c1 e8 03             	shr    $0x3,%eax
402566:	24 01                	and    $0x1,%al
402568:	88 83 34 a2 00 00    	mov    %al,0xa234(%ebx)
40256e:	8b c1                	mov    %ecx,%eax
402570:	c1 e8 02             	shr    $0x2,%eax
402573:	24 01                	and    $0x1,%al
402575:	88 83 37 a2 00 00    	mov    %al,0xa237(%ebx)
40257b:	8b c1                	mov    %ecx,%eax
40257d:	c1 e8 06             	shr    $0x6,%eax
402580:	24 01                	and    $0x1,%al
402582:	88 83 3b a2 00 00    	mov    %al,0xa23b(%ebx)
402588:	8b c1                	mov    %ecx,%eax
40258a:	c1 e8 07             	shr    $0x7,%eax
40258d:	24 01                	and    $0x1,%al
40258f:	89 b3 68 57 00 00    	mov    %esi,0x5768(%ebx)
402595:	88 83 3c a2 00 00    	mov    %al,0xa23c(%ebx)
40259b:	85 f6                	test   %esi,%esi
40259d:	75 0b                	jne    0x4025aa
40259f:	33 c0                	xor    %eax,%eax
4025a1:	66 39 83 64 57 00 00 	cmp    %ax,0x5764(%ebx)
4025a8:	74 03                	je     0x4025ad
4025aa:	33 c0                	xor    %eax,%eax
4025ac:	40                   	inc    %eax
4025ad:	88 83 38 a2 00 00    	mov    %al,0xa238(%ebx)
4025b3:	8b c1                	mov    %ecx,%eax
4025b5:	d1 e8                	shr    $1,%eax
4025b7:	24 01                	and    $0x1,%al
4025b9:	88 83 6c 57 00 00    	mov    %al,0x576c(%ebx)
4025bf:	8b c1                	mov    %ecx,%eax
4025c1:	c1 e8 08             	shr    $0x8,%eax
4025c4:	24 01                	and    $0x1,%al
4025c6:	c1 e9 04             	shr    $0x4,%ecx
4025c9:	80 e1 01             	and    $0x1,%cl
4025cc:	88 83 39 a2 00 00    	mov    %al,0xa239(%ebx)
4025d2:	88 8b 3a a2 00 00    	mov    %cl,0xa23a(%ebx)
4025d8:	33 ff                	xor    %edi,%edi
4025da:	57                   	push   %edi
4025db:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4025de:	e8 9c 8f 00 00       	call   0x40b57f
4025e3:	0f b7 c0             	movzwl %ax,%eax
4025e6:	39 83 2c 57 00 00    	cmp    %eax,0x572c(%ebx)
4025ec:	0f 84 ab 00 00 00    	je     0x40269d
4025f2:	8b 83 30 57 00 00    	mov    0x5730(%ebx),%eax
4025f8:	83 f8 79             	cmp    $0x79,%eax
4025fb:	0f 84 9c 00 00 00    	je     0x40269d
402601:	83 f8 76             	cmp    $0x76,%eax
402604:	0f 84 93 00 00 00    	je     0x40269d
40260a:	83 f8 05             	cmp    $0x5,%eax
40260d:	75 5d                	jne    0x40266c
40260f:	80 bb e6 7a 00 00 00 	cmpb   $0x0,0x7ae6(%ebx)
402616:	74 54                	je     0x40266c
402618:	53                   	push   %ebx
402619:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40261c:	e8 5a eb ff ff       	call   0x40117b
402621:	8b 03                	mov    (%ebx),%eax
402623:	8b cb                	mov    %ebx,%ecx
402625:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402629:	ff 50 10             	call   *0x10(%eax)
40262c:	57                   	push   %edi
40262d:	6a 07                	push   $0x7
40262f:	5e                   	pop    %esi
402630:	2b c6                	sub    %esi,%eax
402632:	1b d7                	sbb    %edi,%edx
402634:	52                   	push   %edx
402635:	50                   	push   %eax
402636:	8b 03                	mov    (%ebx),%eax
402638:	8b cb                	mov    %ebx,%ecx
40263a:	ff 50 0c             	call   *0xc(%eax)
40263d:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
402641:	8b cb                	mov    %ebx,%ecx
402643:	e8 74 65 00 00       	call   0x408bbc
402648:	84 c0                	test   %al,%al
40264a:	74 04                	je     0x402650
40264c:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
402650:	4e                   	dec    %esi
402651:	75 ee                	jne    0x402641
402653:	8b 4d a8             	mov    -0x58(%ebp),%ecx
402656:	8b 01                	mov    (%ecx),%eax
402658:	57                   	push   %edi
402659:	ff 75 b4             	push   -0x4c(%ebp)
40265c:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
402660:	ff 75 b0             	push   -0x50(%ebp)
402663:	ff 50 0c             	call   *0xc(%eax)
402666:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
40266a:	75 31                	jne    0x40269d
40266c:	6a 03                	push   $0x3
40266e:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
402673:	c6 83 44 a2 00 00 01 	movb   $0x1,0xa244(%ebx)
40267a:	e8 8b 3d 00 00       	call   0x40640a
40267f:	80 7d f2 00          	cmpb   $0x0,-0xe(%ebp)
402683:	74 18                	je     0x40269d
402685:	8d 43 1e             	lea    0x1e(%ebx),%eax
402688:	50                   	push   %eax
402689:	50                   	push   %eax
40268a:	6a 04                	push   $0x4
40268c:	e8 48 3e 00 00       	call   0x4064d9
402691:	c6 83 45 a2 00 00 01 	movb   $0x1,0xa245(%ebx)
402698:	e9 52 f6 ff ff       	jmp    0x401cef
40269d:	8b 83 2c a2 00 00    	mov    0xa22c(%ebx),%eax
4026a3:	3b 83 24 a2 00 00    	cmp    0xa224(%ebx),%eax
4026a9:	7f 18                	jg     0x4026c3
4026ab:	0f 8c ea f6 ff ff    	jl     0x401d9b
4026b1:	8b 83 28 a2 00 00    	mov    0xa228(%ebx),%eax
4026b7:	3b 83 20 a2 00 00    	cmp    0xa220(%ebx),%eax
4026bd:	0f 86 d8 f6 ff ff    	jbe    0x401d9b
4026c3:	8b 75 cc             	mov    -0x34(%ebp),%esi
4026c6:	39 7d b8             	cmp    %edi,-0x48(%ebp)
4026c9:	74 09                	je     0x4026d4
4026cb:	ff 75 b8             	push   -0x48(%ebp)
4026ce:	e8 0f 78 01 00       	call   0x419ee2
4026d3:	59                   	pop    %ecx
4026d4:	8b c6                	mov    %esi,%eax
4026d6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4026d9:	5f                   	pop    %edi
4026da:	5e                   	pop    %esi
4026db:	5b                   	pop    %ebx
4026dc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4026e3:	c9                   	leave
4026e4:	c3                   	ret
4026e5:	55                   	push   %ebp
4026e6:	8d 6c 24 94          	lea    -0x6c(%esp),%ebp
4026ea:	b8 c0 20 00 00       	mov    $0x20c0,%eax
4026ef:	e8 dc 7d 01 00       	call   0x41a4d0
4026f4:	57                   	push   %edi
4026f5:	8b 7d 74             	mov    0x74(%ebp),%edi
4026f8:	89 4d 68             	mov    %ecx,0x68(%ebp)
4026fb:	8b 4f 14             	mov    0x14(%edi),%ecx
4026fe:	8b c1                	mov    %ecx,%eax
402700:	2b 45 78             	sub    0x78(%ebp),%eax
402703:	3b 47 18             	cmp    0x18(%edi),%eax
402706:	0f 82 e0 04 00 00    	jb     0x402bec
40270c:	2b c8                	sub    %eax,%ecx
40270e:	89 47 18             	mov    %eax,0x18(%edi)
402711:	83 f9 02             	cmp    $0x2,%ecx
402714:	0f 82 d2 04 00 00    	jb     0x402bec
40271a:	56                   	push   %esi
40271b:	8b 75 7c             	mov    0x7c(%ebp),%esi
40271e:	53                   	push   %ebx
40271f:	8b cf                	mov    %edi,%ecx
402721:	e8 80 8d 00 00       	call   0x40b4a6
402726:	8b c8                	mov    %eax,%ecx
402728:	0b ca                	or     %edx,%ecx
40272a:	89 55 50             	mov    %edx,0x50(%ebp)
40272d:	0f 84 b7 04 00 00    	je     0x402bea
402733:	8b 4f 18             	mov    0x18(%edi),%ecx
402736:	8b 57 14             	mov    0x14(%edi),%edx
402739:	2b d1                	sub    %ecx,%edx
40273b:	0f 84 a9 04 00 00    	je     0x402bea
402741:	33 db                	xor    %ebx,%ebx
402743:	39 5d 50             	cmp    %ebx,0x50(%ebp)
402746:	0f 8f 9e 04 00 00    	jg     0x402bea
40274c:	7c 08                	jl     0x402756
40274e:	3b c2                	cmp    %edx,%eax
402750:	0f 87 94 04 00 00    	ja     0x402bea
402756:	03 c8                	add    %eax,%ecx
402758:	89 4d 5c             	mov    %ecx,0x5c(%ebp)
40275b:	8b cf                	mov    %edi,%ecx
40275d:	e8 44 8d 00 00       	call   0x40b4a6
402762:	8b 5f 14             	mov    0x14(%edi),%ebx
402765:	2b 5f 18             	sub    0x18(%edi),%ebx
402768:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
40276c:	89 45 60             	mov    %eax,0x60(%ebp)
40276f:	89 55 64             	mov    %edx,0x64(%ebp)
402772:	75 70                	jne    0x4027e4
402774:	83 f8 01             	cmp    $0x1,%eax
402777:	75 6b                	jne    0x4027e4
402779:	85 d2                	test   %edx,%edx
40277b:	75 67                	jne    0x4027e4
40277d:	8b cf                	mov    %edi,%ecx
40277f:	88 46 1e             	mov    %al,0x1e(%esi)
402782:	e8 1f 8d 00 00       	call   0x40b4a6
402787:	89 45 74             	mov    %eax,0x74(%ebp)
40278a:	a8 01                	test   $0x1,%al
40278c:	74 28                	je     0x4027b6
40278e:	8b cf                	mov    %edi,%ecx
402790:	e8 11 8d 00 00       	call   0x40b4a6
402795:	89 45 54             	mov    %eax,0x54(%ebp)
402798:	0b c2                	or     %edx,%eax
40279a:	74 1a                	je     0x4027b6
40279c:	8b 4d 68             	mov    0x68(%ebp),%ecx
40279f:	8b 81 20 a2 00 00    	mov    0xa220(%ecx),%eax
4027a5:	03 45 54             	add    0x54(%ebp),%eax
4027a8:	8b 89 24 a2 00 00    	mov    0xa224(%ecx),%ecx
4027ae:	13 ca                	adc    %edx,%ecx
4027b0:	89 46 20             	mov    %eax,0x20(%esi)
4027b3:	89 4e 24             	mov    %ecx,0x24(%esi)
4027b6:	f6 45 74 02          	testb  $0x2,0x74(%ebp)
4027ba:	74 28                	je     0x4027e4
4027bc:	8b cf                	mov    %edi,%ecx
4027be:	e8 e3 8c 00 00       	call   0x40b4a6
4027c3:	89 45 44             	mov    %eax,0x44(%ebp)
4027c6:	0b c2                	or     %edx,%eax
4027c8:	74 1a                	je     0x4027e4
4027ca:	8b 4d 68             	mov    0x68(%ebp),%ecx
4027cd:	8b 81 20 a2 00 00    	mov    0xa220(%ecx),%eax
4027d3:	03 45 44             	add    0x44(%ebp),%eax
4027d6:	8b 89 24 a2 00 00    	mov    0xa224(%ecx),%ecx
4027dc:	13 ca                	adc    %edx,%ecx
4027de:	89 46 30             	mov    %eax,0x30(%esi)
4027e1:	89 4e 34             	mov    %ecx,0x34(%esi)
4027e4:	8b 46 04             	mov    0x4(%esi),%eax
4027e7:	83 f8 02             	cmp    $0x2,%eax
4027ea:	74 09                	je     0x4027f5
4027ec:	83 f8 03             	cmp    $0x3,%eax
4027ef:	0f 85 e0 03 00 00    	jne    0x402bd5
4027f5:	83 7d 64 00          	cmpl   $0x0,0x64(%ebp)
4027f9:	0f 87 d6 03 00 00    	ja     0x402bd5
4027ff:	72 0a                	jb     0x40280b
402801:	83 7d 60 07          	cmpl   $0x7,0x60(%ebp)
402805:	0f 87 ca 03 00 00    	ja     0x402bd5
40280b:	8b 45 60             	mov    0x60(%ebp),%eax
40280e:	48                   	dec    %eax
40280f:	0f 84 c9 02 00 00    	je     0x402ade
402815:	48                   	dec    %eax
402816:	0f 84 94 02 00 00    	je     0x402ab0
40281c:	48                   	dec    %eax
40281d:	0f 84 c8 01 00 00    	je     0x4029eb
402823:	48                   	dec    %eax
402824:	0f 84 61 01 00 00    	je     0x40298b
40282a:	48                   	dec    %eax
40282b:	0f 84 f2 00 00 00    	je     0x402923
402831:	48                   	dec    %eax
402832:	74 1f                	je     0x402853
402834:	48                   	dec    %eax
402835:	0f 85 9a 03 00 00    	jne    0x402bd5
40283b:	8d 8e 20 10 00 00    	lea    0x1020(%esi),%ecx
402841:	53                   	push   %ebx
402842:	e8 88 f3 ff ff       	call   0x401bcf
402847:	53                   	push   %ebx
402848:	ff b6 20 10 00 00    	push   0x1020(%esi)
40284e:	e9 7f 02 00 00       	jmp    0x402ad2
402853:	8b cf                	mov    %edi,%ecx
402855:	e8 4c 8c 00 00       	call   0x40b4a6
40285a:	8b c8                	mov    %eax,%ecx
40285c:	c1 e9 02             	shr    $0x2,%ecx
40285f:	80 e1 01             	and    $0x1,%cl
402862:	88 8e f6 20 00 00    	mov    %cl,0x20f6(%esi)
402868:	8b c8                	mov    %eax,%ecx
40286a:	c1 e9 03             	shr    $0x3,%ecx
40286d:	80 e1 01             	and    $0x1,%cl
402870:	8d 9e f8 20 00 00    	lea    0x20f8(%esi),%ebx
402876:	89 45 78             	mov    %eax,0x78(%ebp)
402879:	88 8e f7 20 00 00    	mov    %cl,0x20f7(%esi)
40287f:	c6 86 f8 21 00 00 00 	movb   $0x0,0x21f8(%esi)