808383:	68 cc ff c2 00       	push   $0xc2ffcc
808388:	ff 74 24 4c          	push   0x4c(%esp)
80838c:	e8 94 8d c1 ff       	call   0x421125
808391:	83 c4 08             	add    $0x8,%esp
808394:	85 c0                	test   %eax,%eax
808396:	75 16                	jne    0x8083ae
808398:	39 87 68 03 00 00    	cmp    %eax,0x368(%edi)
80839e:	74 0e                	je     0x8083ae
8083a0:	8b 44 24 48          	mov    0x48(%esp),%eax
8083a4:	8b 80 44 02 00 00    	mov    0x244(%eax),%eax
8083aa:	89 44 24 2c          	mov    %eax,0x2c(%esp)
8083ae:	8b 44 24 48          	mov    0x48(%esp),%eax
8083b2:	b9 35 41 bd 00       	mov    $0xbd4135,%ecx
8083b7:	ff 74 24 2c          	push   0x2c(%esp)
8083bb:	8b 80 40 02 00 00    	mov    0x240(%eax),%eax
8083c1:	85 c0                	test   %eax,%eax
8083c3:	0f 45 c8             	cmovne %eax,%ecx
8083c6:	51                   	push   %ecx
8083c7:	55                   	push   %ebp
8083c8:	ff 74 24 44          	push   0x44(%esp)
8083cc:	56                   	push   %esi
8083cd:	68 7c 4d c3 00       	push   $0xc34d7c
8083d2:	53                   	push   %ebx
8083d3:	e8 07 a2 c0 ff       	call   0x4125df
8083d8:	83 c4 1c             	add    $0x1c,%esp
8083db:	8b f0                	mov    %eax,%esi
8083dd:	85 ed                	test   %ebp,%ebp
8083df:	74 10                	je     0x8083f1
8083e1:	80 7d 00 00          	cmpb   $0x0,0x0(%ebp)
8083e5:	74 0a                	je     0x8083f1
8083e7:	55                   	push   %ebp
8083e8:	ff 15 04 e2 d5 00    	call   *0xd5e204
8083ee:	83 c4 04             	add    $0x4,%esp
8083f1:	ff 74 24 28          	push   0x28(%esp)
8083f5:	ff 15 04 e2 d5 00    	call   *0xd5e204
8083fb:	83 c4 04             	add    $0x4,%esp
8083fe:	85 f6                	test   %esi,%esi
808400:	75 42                	jne    0x808444
808402:	8b 6c 24 48          	mov    0x48(%esp),%ebp
808406:	53                   	push   %ebx
808407:	6a 01                	push   $0x1
808409:	55                   	push   %ebp
80840a:	e8 29 38 c2 ff       	call   0x42bc38
80840f:	8b f0                	mov    %eax,%esi
808411:	83 c4 0c             	add    $0xc,%esp
808414:	85 f6                	test   %esi,%esi
808416:	75 2c                	jne    0x808444
808418:	68 04 1e bf 00       	push   $0xbf1e04
80841d:	53                   	push   %ebx
80841e:	e8 bc a1 c0 ff       	call   0x4125df
808423:	8b f0                	mov    %eax,%esi
808425:	83 c4 08             	add    $0x8,%esp
808428:	85 f6                	test   %esi,%esi
80842a:	75 18                	jne    0x808444
80842c:	ff 74 24 4c          	push   0x4c(%esp)
808430:	50                   	push   %eax
808431:	8d 87 c4 86 00 00    	lea    0x86c4(%edi),%eax
808437:	50                   	push   %eax
808438:	55                   	push   %ebp
808439:	53                   	push   %ebx
80843a:	e8 d4 9e c1 ff       	call   0x422313
80843f:	83 c4 14             	add    $0x14,%esp
808442:	8b f0                	mov    %eax,%esi
808444:	33 db                	xor    %ebx,%ebx
808446:	85 f6                	test   %esi,%esi
808448:	74 0e                	je     0x808458
80844a:	68 9c 4d c3 00       	push   $0xc34d9c
80844f:	57                   	push   %edi
808450:	e8 1b e9 bf ff       	call   0x406d70
808455:	83 c4 08             	add    $0x8,%esp
808458:	53                   	push   %ebx
808459:	e8 57 b6 c1 ff       	call   0x423ab5
80845e:	83 c4 04             	add    $0x4,%esp
808461:	85 f6                	test   %esi,%esi
808463:	0f 85 75 06 00 00    	jne    0x808ade
808469:	8b 44 24 14          	mov    0x14(%esp),%eax
80846d:	8b 6c 24 48          	mov    0x48(%esp),%ebp
808471:	8b 74 24 34          	mov    0x34(%esp),%esi
808475:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
80847b:	6a 01                	push   $0x1
80847d:	6a 00                	push   $0x0
80847f:	57                   	push   %edi
808480:	e8 ac 53 c1 ff       	call   0x41d831
808485:	83 c4 0c             	add    $0xc,%esp
808488:	85 c0                	test   %eax,%eax
80848a:	0f 8e a8 07 00 00    	jle    0x808c38
808490:	80 7c 24 58 00       	cmpb   $0x0,0x58(%esp)
808495:	75 17                	jne    0x8084ae
808497:	6a 00                	push   $0x0
808499:	6a ff                	push   $0xffffffff
80849b:	6a ff                	push   $0xffffffff
80849d:	56                   	push   %esi
80849e:	e8 0d 14 c3 ff       	call   0x4398b0
8084a3:	83 c4 10             	add    $0x10,%esp
8084a6:	85 c0                	test   %eax,%eax
8084a8:	0f 84 80 07 00 00    	je     0x808c2e
8084ae:	8d 87 5c 05 00 00    	lea    0x55c(%edi),%eax
8084b4:	c7 44 24 2c 00 00 00 	movl   $0x0,0x2c(%esp)
8084bb:	00
8084bc:	b9 01 00 00 00       	mov    $0x1,%ecx
8084c1:	89 44 24 28          	mov    %eax,0x28(%esp)
8084c5:	89 4c 24 18          	mov    %ecx,0x18(%esp)
8084c9:	8b f0                	mov    %eax,%esi
8084cb:	33 db                	xor    %ebx,%ebx
8084cd:	0f 1f 00             	nopl   (%eax)
8084d0:	85 c9                	test   %ecx,%ecx
8084d2:	0f 84 c3 03 00 00    	je     0x80889b
8084d8:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
8084dd:	0f 85 fb 06 00 00    	jne    0x808bde
8084e3:	6a 01                	push   $0x1
8084e5:	6a 00                	push   $0x0
8084e7:	57                   	push   %edi
8084e8:	e8 44 53 c1 ff       	call   0x41d831
8084ed:	8b c8                	mov    %eax,%ecx
8084ef:	83 c4 0c             	add    $0xc,%esp
8084f2:	85 c9                	test   %ecx,%ecx
8084f4:	0f 8e 11 06 00 00    	jle    0x808b0b
8084fa:	b8 e8 03 00 00       	mov    $0x3e8,%eax
8084ff:	3b c8                	cmp    %eax,%ecx
808501:	0f 4c c1             	cmovl  %ecx,%eax
808504:	50                   	push   %eax
808505:	6a ff                	push   $0xffffffff
808507:	6a ff                	push   $0xffffffff
808509:	ff 74 24 40          	push   0x40(%esp)
80850d:	e8 9e 13 c3 ff       	call   0x4398b0
808512:	83 c4 10             	add    $0x10,%esp
808515:	83 f8 ff             	cmp    $0xffffffff,%eax
808518:	0f 84 2d 05 00 00    	je     0x808a4b
80851e:	85 c0                	test   %eax,%eax
808520:	0f 84 52 03 00 00    	je     0x808878
808526:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80852a:	50                   	push   %eax
80852b:	b8 00 40 00 00       	mov    $0x4000,%eax
808530:	2b 44 24 30          	sub    0x30(%esp),%eax
808534:	50                   	push   %eax
808535:	ff 74 24 30          	push   0x30(%esp)
808539:	ff 74 24 40          	push   0x40(%esp)
80853d:	55                   	push   %ebp
80853e:	e8 50 bb bf ff       	call   0x404093
808543:	83 c4 14             	add    $0x14,%esp
808546:	83 f8 51             	cmp    $0x51,%eax
808549:	0f 84 3a 03 00 00    	je     0x808889
80854f:	85 c0                	test   %eax,%eax
808551:	74 0b                	je     0x80855e
808553:	33 c0                	xor    %eax,%eax
808555:	89 44 24 18          	mov    %eax,0x18(%esp)
808559:	e9 1a 03 00 00       	jmp    0x808878
80855e:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
808562:	85 c9                	test   %ecx,%ecx
808564:	7f 4b                	jg     0x8085b1
808566:	33 c0                	xor    %eax,%eax
808568:	89 44 24 18          	mov    %eax,0x18(%esp)
80856c:	39 87 40 01 00 00    	cmp    %eax,0x140(%edi)
808572:	74 22                	je     0x808596
808574:	39 87 f8 85 00 00    	cmp    %eax,0x85f8(%edi)
80857a:	74 1a                	je     0x808596
80857c:	68 28 4e c3 00       	push   $0xc34e28
808581:	57                   	push   %edi
808582:	c6 85 14 02 00 00 01 	movb   $0x1,0x214(%ebp)
808589:	e8 be 72 c2 ff       	call   0x42f84c
80858e:	83 c4 08             	add    $0x8,%esp
808591:	e9 e2 02 00 00       	jmp    0x808878
808596:	68 50 4e c3 00       	push   $0xc34e50
80859b:	57                   	push   %edi
80859c:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%esp)
8085a3:	00
8085a4:	e8 c7 e7 bf ff       	call   0x406d70
8085a9:	83 c4 08             	add    $0x8,%esp
8085ac:	e9 c7 02 00 00       	jmp    0x808878
8085b1:	01 4c 24 2c          	add    %ecx,0x2c(%esp)
8085b5:	83 7c 24 18 01       	cmpl   $0x1,0x18(%esp)
8085ba:	0f 8e a7 00 00 00    	jle    0x808667
8085c0:	8b 44 24 20          	mov    0x20(%esp),%eax
8085c4:	8d 97 5c 05 00 00    	lea    0x55c(%edi),%edx
8085ca:	0b 44 24 24          	or     0x24(%esp),%eax
8085ce:	c7 44 24 2c 00 00 00 	movl   $0x0,0x2c(%esp)
8085d5:	00
8085d6:	89 54 24 28          	mov    %edx,0x28(%esp)
8085da:	74 34                	je     0x808610
8085dc:	8b c1                	mov    %ecx,%eax
8085de:	8b 4c 24 20          	mov    0x20(%esp),%ecx
8085e2:	99                   	cltd
8085e3:	2b c8                	sub    %eax,%ecx
8085e5:	8b 44 24 24          	mov    0x24(%esp),%eax
8085e9:	89 4c 24 20          	mov    %ecx,0x20(%esp)
8085ed:	1b c2                	sbb    %edx,%eax
8085ef:	89 44 24 24          	mov    %eax,0x24(%esp)
8085f3:	85 c0                	test   %eax,%eax
8085f5:	0f 8f 7d 02 00 00    	jg     0x808878
8085fb:	7c 08                	jl     0x808605
8085fd:	85 c9                	test   %ecx,%ecx
8085ff:	0f 85 73 02 00 00    	jne    0x808878
808605:	33 c0                	xor    %eax,%eax
808607:	89 44 24 18          	mov    %eax,0x18(%esp)
80860b:	e9 68 02 00 00       	jmp    0x808878
808610:	8d 44 24 38          	lea    0x38(%esp),%eax
808614:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
80861b:	00
80861c:	50                   	push   %eax
80861d:	51                   	push   %ecx
80861e:	52                   	push   %edx
80861f:	55                   	push   %ebp
808620:	e8 94 9c c1 ff       	call   0x4222b9
808625:	83 c4 10             	add    $0x10,%esp
808628:	83 f8 ff             	cmp    $0xffffffff,%eax
80862b:	75 23                	jne    0x808650
80862d:	68 6c 4e c3 00       	push   $0xc34e6c
808632:	57                   	push   %edi
808633:	e8 14 72 c2 ff       	call   0x42f84c
808638:	83 c4 08             	add    $0x8,%esp
80863b:	33 c0                	xor    %eax,%eax
80863d:	89 44 24 18          	mov    %eax,0x18(%esp)
808641:	8b 44 24 14          	mov    0x14(%esp),%eax
808645:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
80864b:	e9 28 02 00 00       	jmp    0x808878
808650:	ff 74 24 38          	push   0x38(%esp)
808654:	68 84 4e c3 00       	push   $0xc34e84
808659:	57                   	push   %edi
80865a:	e8 ed 71 c2 ff       	call   0x42f84c
80865f:	83 c4 0c             	add    $0xc,%esp
808662:	e9 11 02 00 00       	jmp    0x808878
808667:	33 ed                	xor    %ebp,%ebp
808669:	89 6c 24 38          	mov    %ebp,0x38(%esp)
80866d:	85 c9                	test   %ecx,%ecx
80866f:	0f 8e ff 01 00 00    	jle    0x808874
808675:	8b 44 24 28          	mov    0x28(%esp),%eax
808679:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
808680:	43                   	inc    %ebx
808681:	80 38 0a             	cmpb   $0xa,(%eax)
808684:	0f 85 d8 01 00 00    	jne    0x808862
80868a:	80 bf d0 02 00 00 00 	cmpb   $0x0,0x2d0(%edi)
808691:	74 11                	je     0x8086a4
808693:	ff 74 24 48          	push   0x48(%esp)
808697:	53                   	push   %ebx
808698:	56                   	push   %esi
808699:	6a 01                	push   $0x1
80869b:	57                   	push   %edi
80869c:	e8 06 e7 bf ff       	call   0x406da7
8086a1:	83 c4 14             	add    $0x14,%esp
8086a4:	33 c0                	xor    %eax,%eax
8086a6:	38 87 c4 02 00 00    	cmp    %al,0x2c4(%edi)
8086ac:	53                   	push   %ebx
8086ad:	0f 95 c0             	setne  %al
8086b0:	56                   	push   %esi
8086b1:	83 c0 02             	add    $0x2,%eax
8086b4:	50                   	push   %eax
8086b5:	ff 74 24 54          	push   0x54(%esp)
8086b9:	e8 89 90 c1 ff       	call   0x421747
8086be:	01 9f c0 86 00 00    	add    %ebx,0x86c0(%edi)
8086c4:	83 c4 10             	add    $0x10,%esp
8086c7:	01 9f 80 00 00 00    	add    %ebx,0x80(%edi)
8086cd:	85 c0                	test   %eax,%eax
8086cf:	0f 85 76 05 00 00    	jne    0x808c4b
8086d5:	8a 06                	mov    (%esi),%al
8086d7:	3c 0d                	cmp    $0xd,%al
8086d9:	0f 84 ff 01 00 00    	je     0x8088de
8086df:	3c 0a                	cmp    $0xa,%al
8086e1:	0f 84 f7 01 00 00    	je     0x8088de
8086e7:	8a 04 33             	mov    (%ebx,%esi,1),%al
8086ea:	8d 2c 33             	lea    (%ebx,%esi,1),%ebp
8086ed:	6a 11                	push   $0x11
8086ef:	56                   	push   %esi
8086f0:	68 b0 07 c3 00       	push   $0xc307b0
8086f5:	88 44 24 1f          	mov    %al,0x1f(%esp)
8086f9:	c6 45 00 00          	movb   $0x0,0x0(%ebp)
8086fd:	e8 82 76 c1 ff       	call   0x41fd84
808702:	83 c4 0c             	add    $0xc,%esp
808705:	85 c0                	test   %eax,%eax
808707:	74 0e                	je     0x808717
808709:	8b 9f c8 00 00 00    	mov    0xc8(%edi),%ebx
80870f:	81 fb 91 01 00 00    	cmp    $0x191,%ebx
808715:	74 22                	je     0x808739
808717:	6a 13                	push   $0x13
808719:	56                   	push   %esi
80871a:	68 c8 07 c3 00       	push   $0xc307c8
80871f:	e8 60 76 c1 ff       	call   0x41fd84
808724:	83 c4 0c             	add    $0xc,%esp
808727:	85 c0                	test   %eax,%eax
808729:	74 56                	je     0x808781
80872b:	8b 9f c8 00 00 00    	mov    0xc8(%edi),%ebx
808731:	81 fb 97 01 00 00    	cmp    $0x197,%ebx
808737:	75 48                	jne    0x808781
808739:	56                   	push   %esi
80873a:	e8 b0 73 c2 ff       	call   0x42faef
80873f:	8b f0                	mov    %eax,%esi
808741:	83 c4 04             	add    $0x4,%esp
808744:	85 f6                	test   %esi,%esi
808746:	0f 84 a5 03 00 00    	je     0x808af1
80874c:	81 fb 97 01 00 00    	cmp    $0x197,%ebx
808752:	56                   	push   %esi
808753:	0f 94 c0             	sete   %al
808756:	0f b6 c0             	movzbl %al,%eax
808759:	50                   	push   %eax
80875a:	ff 74 24 50          	push   0x50(%esp)
80875e:	e8 ab f4 c2 ff       	call   0x437c0e
808763:	56                   	push   %esi
808764:	8b d8                	mov    %eax,%ebx
808766:	ff 15 04 e2 d5 00    	call   *0xd5e204
80876c:	83 c4 10             	add    $0x10,%esp
80876f:	85 db                	test   %ebx,%ebx
808771:	0f 84 d3 00 00 00    	je     0x80884a
808777:	5f                   	pop    %edi
808778:	5e                   	pop    %esi
808779:	5d                   	pop    %ebp
80877a:	8b c3                	mov    %ebx,%eax
80877c:	5b                   	pop    %ebx
80877d:	83 c4 34             	add    $0x34,%esp
808780:	c3                   	ret
808781:	6a 0f                	push   $0xf
808783:	56                   	push   %esi
808784:	68 e0 02 c3 00       	push   $0xc302e0
808789:	e8 f6 75 c1 ff       	call   0x41fd84
80878e:	83 c4 0c             	add    $0xc,%esp
808791:	85 c0                	test   %eax,%eax
808793:	74 1d                	je     0x8087b2
808795:	6a 0a                	push   $0xa
808797:	6a 00                	push   $0x0
808799:	83 c6 0f             	add    $0xf,%esi
80879c:	56                   	push   %esi
80879d:	e8 4b 63 c0 ff       	call   0x40eaed
8087a2:	83 c4 0c             	add    $0xc,%esp
8087a5:	89 44 24 20          	mov    %eax,0x20(%esp)
8087a9:	89 54 24 24          	mov    %edx,0x24(%esp)
8087ad:	e9 98 00 00 00       	jmp    0x80884a
8087b2:	68 7c 1c bf 00       	push   $0xbf1c7c
8087b7:	68 3c 07 c3 00       	push   $0xc3073c
8087bc:	56                   	push   %esi
8087bd:	e8 09 71 c0 ff       	call   0x40f8cb
8087c2:	83 c4 0c             	add    $0xc,%esp
8087c5:	84 c0                	test   %al,%al
8087c7:	74 07                	je     0x8087d0
8087c9:	c6 44 24 11 01       	movb   $0x1,0x11(%esp)
8087ce:	eb 7a                	jmp    0x80884a
8087d0:	68 50 1c bf 00       	push   $0xbf1c50
8087d5:	68 34 00 c3 00       	push   $0xc30034
8087da:	56                   	push   %esi
8087db:	e8 eb 70 c0 ff       	call   0x40f8cb
8087e0:	83 c4 0c             	add    $0xc,%esp
8087e3:	84 c0                	test   %al,%al
8087e5:	74 1e                	je     0x808805
8087e7:	68 64 4f c3 00       	push   $0xc34f64
8087ec:	57                   	push   %edi
8087ed:	e8 5a 70 c2 ff       	call   0x42f84c
8087f2:	ff 74 24 50          	push   0x50(%esp)
8087f6:	c6 44 24 1e 01       	movb   $0x1,0x1e(%esp)
8087fb:	e8 68 9b c1 ff       	call   0x422368
808800:	83 c4 0c             	add    $0xc,%esp
808803:	eb 45                	jmp    0x80884a
808805:	68 7c 1c bf 00       	push   $0xbf1c7c
80880a:	68 bc 06 c3 00       	push   $0xc306bc