40748c:	f7 d8                	neg    %eax
40748e:	1b c0                	sbb    %eax,%eax
407490:	8d 8e 08 68 00 00    	lea    0x6808(%esi),%ecx
407496:	23 c1                	and    %ecx,%eax
407498:	50                   	push   %eax
407499:	8b 87 90 62 00 00    	mov    0x6290(%edi),%eax
40749f:	f7 d8                	neg    %eax
4074a1:	1b c0                	sbb    %eax,%eax
4074a3:	8d 8e 00 68 00 00    	lea    0x6800(%esi),%ecx
4074a9:	23 c1                	and    %ecx,%eax
4074ab:	50                   	push   %eax
4074ac:	8b 87 8c 62 00 00    	mov    0x628c(%edi),%eax
4074b2:	81 c6 f8 67 00 00    	add    $0x67f8,%esi
4074b8:	f7 d8                	neg    %eax
4074ba:	1b c0                	sbb    %eax,%eax
4074bc:	23 c6                	and    %esi,%eax
4074be:	50                   	push   %eax
4074bf:	53                   	push   %ebx
4074c0:	e8 02 1c 00 00       	call   0x4090c7
4074c5:	5e                   	pop    %esi
4074c6:	5b                   	pop    %ebx
4074c7:	5f                   	pop    %edi
4074c8:	c9                   	leave
4074c9:	c2 08 00             	ret    $0x8
4074cc:	55                   	push   %ebp
4074cd:	8b ec                	mov    %esp,%ebp
4074cf:	b8 0c 10 00 00       	mov    $0x100c,%eax
4074d4:	e8 f7 2f 01 00       	call   0x41a4d0
4074d9:	8b 41 08             	mov    0x8(%ecx),%eax
4074dc:	0f b7 90 b2 72 00 00 	movzwl 0x72b2(%eax),%edx
4074e3:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4074e6:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
4074ea:	66 83 fa 45          	cmp    $0x45,%dx
4074ee:	74 0a                	je     0x4074fa
4074f0:	66 83 fa 58          	cmp    $0x58,%dx
4074f4:	0f 85 de 00 00 00    	jne    0x4075d8
4074fa:	80 b8 c1 51 00 00 00 	cmpb   $0x0,0x51c1(%eax)
407501:	0f 85 d1 00 00 00    	jne    0x4075d8
407507:	53                   	push   %ebx
407508:	56                   	push   %esi
407509:	8b 75 08             	mov    0x8(%ebp),%esi
40750c:	57                   	push   %edi
40750d:	6a 01                	push   $0x1
40750f:	8d 96 f8 67 00 00    	lea    0x67f8(%esi),%edx
407515:	52                   	push   %edx
407516:	ff b6 1c 68 00 00    	push   0x681c(%esi)
40751c:	8d 99 f8 4b 00 00    	lea    0x4bf8(%ecx),%ebx
407522:	ff b6 18 68 00 00    	push   0x6818(%esi)
407528:	8d 4d 0b             	lea    0xb(%ebp),%ecx
40752b:	51                   	push   %ecx
40752c:	bf 00 08 00 00       	mov    $0x800,%edi
407531:	57                   	push   %edi
407532:	53                   	push   %ebx
407533:	ff 75 0c             	push   0xc(%ebp)
407536:	50                   	push   %eax
407537:	e8 3a 11 00 00       	call   0x408676
40753c:	84 c0                	test   %al,%al
40753e:	0f 85 91 00 00 00    	jne    0x4075d5
407544:	88 45 ff             	mov    %al,-0x1(%ebp)
407547:	38 45 0b             	cmp    %al,0xb(%ebp)
40754a:	0f 85 85 00 00 00    	jne    0x4075d5
407550:	8d 46 1e             	lea    0x1e(%esi),%eax
407553:	53                   	push   %ebx
407554:	50                   	push   %eax
407555:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
40755a:	89 45 f8             	mov    %eax,-0x8(%ebp)
40755d:	e8 50 f0 ff ff       	call   0x4065b2
407562:	53                   	push   %ebx
407563:	e8 1b 2b 00 00       	call   0x40a083
407568:	84 c0                	test   %al,%al
40756a:	75 69                	jne    0x4075d5
40756c:	ff 75 f8             	push   -0x8(%ebp)
40756f:	6a 6a                	push   $0x6a
407571:	e8 3a ef ff ff       	call   0x4064b0
407576:	57                   	push   %edi
407577:	53                   	push   %ebx
407578:	8d 85 f4 ef ff ff    	lea    -0x100c(%ebp),%eax
40757e:	50                   	push   %eax
40757f:	e8 9b 93 00 00       	call   0x41091f
407584:	6a 01                	push   $0x1
407586:	53                   	push   %ebx
407587:	e8 6b 2b 00 00       	call   0x40a0f7
40758c:	6a 01                	push   $0x1
40758e:	53                   	push   %ebx
40758f:	e8 48 1d 00 00       	call   0x4092dc
407594:	6a 01                	push   $0x1
407596:	8d 86 f8 67 00 00    	lea    0x67f8(%esi),%eax
40759c:	50                   	push   %eax
40759d:	ff b6 1c 68 00 00    	push   0x681c(%esi)
4075a3:	8d 45 0b             	lea    0xb(%ebp),%eax
4075a6:	ff b6 18 68 00 00    	push   0x6818(%esi)
4075ac:	50                   	push   %eax
4075ad:	8b 45 f4             	mov    -0xc(%ebp),%eax
4075b0:	57                   	push   %edi
4075b1:	53                   	push   %ebx
4075b2:	ff 75 0c             	push   0xc(%ebp)
4075b5:	ff 70 08             	push   0x8(%eax)
4075b8:	e8 b9 10 00 00       	call   0x408676
4075bd:	84 c0                	test   %al,%al
4075bf:	74 06                	je     0x4075c7
4075c1:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
4075c5:	eb 0e                	jmp    0x4075d5
4075c7:	53                   	push   %ebx
4075c8:	ff 75 f8             	push   -0x8(%ebp)
4075cb:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
4075d0:	e8 dd ef ff ff       	call   0x4065b2
4075d5:	5f                   	pop    %edi
4075d6:	5e                   	pop    %esi
4075d7:	5b                   	pop    %ebx
4075d8:	8a 45 ff             	mov    -0x1(%ebp),%al
4075db:	c9                   	leave
4075dc:	c2 08 00             	ret    $0x8
4075df:	8b 44 24 04          	mov    0x4(%esp),%eax
4075e3:	83 b8 30 a2 00 00 03 	cmpl   $0x3,0xa230(%eax)
4075ea:	53                   	push   %ebx
4075eb:	75 0c                	jne    0x4075f9
4075ed:	80 b8 e1 57 00 00 00 	cmpb   $0x0,0x57e1(%eax)
4075f4:	0f 97 c3             	seta   %bl
4075f7:	eb 0a                	jmp    0x407603
4075f9:	80 b8 e1 57 00 00 1d 	cmpb   $0x1d,0x57e1(%eax)
407600:	0f 95 c3             	setne  %bl
407603:	80 b8 e2 57 00 00 00 	cmpb   $0x0,0x57e2(%eax)
40760a:	75 02                	jne    0x40760e
40760c:	32 db                	xor    %bl,%bl
40760e:	84 db                	test   %bl,%bl
407610:	74 1c                	je     0x40762e
407612:	56                   	push   %esi
407613:	ff 74 24 10          	push   0x10(%esp)
407617:	8d 70 1e             	lea    0x1e(%eax),%esi
40761a:	56                   	push   %esi
40761b:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
407620:	e8 ea ef ff ff       	call   0x40660f
407625:	56                   	push   %esi
407626:	6a 22                	push   $0x22
407628:	e8 83 ee ff ff       	call   0x4064b0
40762d:	5e                   	pop    %esi
40762e:	33 c0                	xor    %eax,%eax
407630:	84 db                	test   %bl,%bl
407632:	0f 94 c0             	sete   %al
407635:	5b                   	pop    %ebx
407636:	c2 08 00             	ret    $0x8
407639:	b8 30 93 42 00       	mov    $0x429330,%eax
40763e:	e8 75 28 01 00       	call   0x419eb8
407643:	b8 98 41 00 00       	mov    $0x4198,%eax
407648:	e8 83 2e 01 00       	call   0x41a4d0
40764d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
407651:	53                   	push   %ebx
407652:	8b 5d 08             	mov    0x8(%ebp),%ebx
407655:	56                   	push   %esi
407656:	8b f1                	mov    %ecx,%esi
407658:	8b 46 08             	mov    0x8(%esi),%eax
40765b:	0f b7 80 b2 72 00 00 	movzwl 0x72b2(%eax),%eax
407662:	89 75 dc             	mov    %esi,-0x24(%ebp)
407665:	89 45 e8             	mov    %eax,-0x18(%ebp)
407668:	75 2d                	jne    0x407697
40766a:	80 be 6f 18 00 00 00 	cmpb   $0x0,0x186f(%esi)
407671:	74 1d                	je     0x407690
407673:	50                   	push   %eax
407674:	6a 00                	push   $0x0
407676:	8d 46 10             	lea    0x10(%esi),%eax
407679:	50                   	push   %eax
40767a:	53                   	push   %ebx
40767b:	e8 bc 10 01 00       	call   0x41873c
407680:	84 c0                	test   %al,%al
407682:	75 13                	jne    0x407697
407684:	6a 01                	push   $0x1
407686:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
40768b:	e8 7a ed ff ff       	call   0x40640a
407690:	32 c0                	xor    %al,%al
407692:	e9 84 00 00 00       	jmp    0x40771b
407697:	57                   	push   %edi
407698:	8b bb 24 57 00 00    	mov    0x5724(%ebx),%edi
40769e:	83 ff 02             	cmp    $0x2,%edi
4076a1:	0f 84 84 00 00 00    	je     0x40772b
4076a7:	83 ff 03             	cmp    $0x3,%edi
4076aa:	75 1d                	jne    0x4076c9
4076ac:	80 be f7 4b 00 00 00 	cmpb   $0x0,0x4bf7(%esi)
4076b3:	0f 84 79 0a 00 00    	je     0x408132
4076b9:	8d 86 f8 4b 00 00    	lea    0x4bf8(%esi),%eax
4076bf:	50                   	push   %eax
4076c0:	53                   	push   %ebx
4076c1:	ff 76 08             	push   0x8(%esi)
4076c4:	e8 b8 f7 ff ff       	call   0x406e81
4076c9:	83 ff 05             	cmp    $0x5,%edi
4076cc:	0f 85 60 0a 00 00    	jne    0x408132
4076d2:	80 bb e4 7a 00 00 00 	cmpb   $0x0,0x7ae4(%ebx)
4076d9:	0f 84 69 0a 00 00    	je     0x408148
4076df:	ff 75 e8             	push   -0x18(%ebp)
4076e2:	83 c6 10             	add    $0x10,%esi
4076e5:	6a 00                	push   $0x0
4076e7:	56                   	push   %esi
4076e8:	53                   	push   %ebx
4076e9:	e8 4e 10 01 00       	call   0x41873c
4076ee:	84 c0                	test   %al,%al
4076f0:	75 11                	jne    0x407703
4076f2:	6a 01                	push   $0x1
4076f4:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
4076f9:	e8 0c ed ff ff       	call   0x40640a
4076fe:	e9 45 0a 00 00       	jmp    0x408148
407703:	8b 03                	mov    (%ebx),%eax
407705:	6a 00                	push   $0x0
407707:	ff b3 24 a2 00 00    	push   0xa224(%ebx)
40770d:	8b cb                	mov    %ebx,%ecx
40770f:	ff b3 20 a2 00 00    	push   0xa220(%ebx)
407715:	ff 50 0c             	call   *0xc(%eax)
407718:	b0 01                	mov    $0x1,%al
40771a:	5f                   	pop    %edi
40771b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40771e:	5e                   	pop    %esi
40771f:	5b                   	pop    %ebx
407720:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407727:	c9                   	leave
407728:	c2 0c 00             	ret    $0xc
40772b:	8b 4e 08             	mov    0x8(%esi),%ecx
40772e:	c6 86 f7 4b 00 00 00 	movb   $0x0,0x4bf7(%esi)
407735:	83 b9 58 51 00 00 00 	cmpl   $0x0,0x5158(%ecx)
40773c:	75 1b                	jne    0x407759
40773e:	8b 81 e8 92 00 00    	mov    0x92e8(%ecx),%eax
407744:	39 86 ec 3a 00 00    	cmp    %eax,0x3aec(%esi)
40774a:	72 0d                	jb     0x407759
40774c:	80 be f1 3a 00 00 00 	cmpb   $0x0,0x3af1(%esi)
407753:	0f 85 ef 09 00 00    	jne    0x408148
407759:	6a 05                	push   $0x5
40775b:	8d 45 ee             	lea    -0x12(%ebp),%eax
40775e:	50                   	push   %eax
40775f:	8d 83 c8 57 00 00    	lea    0x57c8(%ebx),%eax
407765:	50                   	push   %eax
407766:	c6 45 ee 00          	movb   $0x0,-0x12(%ebp)
40776a:	e8 82 de ff ff       	call   0x4055f1
40776f:	85 c0                	test   %eax,%eax
407771:	0f 95 45 f2          	setne  -0xe(%ebp)
407775:	80 7d f2 00          	cmpb   $0x0,-0xe(%ebp)
407779:	74 0d                	je     0x407788
40777b:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
40777f:	75 07                	jne    0x407788
407781:	c6 86 f1 3a 00 00 00 	movb   $0x0,0x3af1(%esi)
407788:	8b cb                	mov    %ebx,%ecx
40778a:	e8 d3 a2 ff ff       	call   0x401a62
40778f:	8d 85 a4 de ff ff    	lea    -0x215c(%ebp),%eax
407795:	50                   	push   %eax
407796:	8d 83 e8 57 00 00    	lea    0x57e8(%ebx),%eax
40779c:	50                   	push   %eax
40779d:	e8 41 2b 00 00       	call   0x40a2e3
4077a2:	80 bb ab 68 00 00 00 	cmpb   $0x0,0x68ab(%ebx)
4077a9:	74 47                	je     0x4077f2
4077ab:	8b 46 08             	mov    0x8(%esi),%eax
4077ae:	8b 80 84 62 00 00    	mov    0x6284(%eax),%eax
4077b4:	83 f8 01             	cmp    $0x1,%eax
4077b7:	74 54                	je     0x40780d
4077b9:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
4077bd:	75 4e                	jne    0x40780d
4077bf:	85 c0                	test   %eax,%eax
4077c1:	75 03                	jne    0x4077c6
4077c3:	88 45 f2             	mov    %al,-0xe(%ebp)
4077c6:	6a 00                	push   $0x0
4077c8:	8d 85 a4 de ff ff    	lea    -0x215c(%ebp),%eax
4077ce:	50                   	push   %eax
4077cf:	e8 47 2a 00 00       	call   0x40a21b
4077d4:	8b 4e 08             	mov    0x8(%esi),%ecx
4077d7:	8b 89 84 62 00 00    	mov    0x6284(%ecx),%ecx
4077dd:	49                   	dec    %ecx
4077de:	3b c8                	cmp    %eax,%ecx
4077e0:	75 27                	jne    0x407809
4077e2:	6a 01                	push   $0x1
4077e4:	8d 85 a4 de ff ff    	lea    -0x215c(%ebp),%eax
4077ea:	50                   	push   %eax
4077eb:	e8 2b 2a 00 00       	call   0x40a21b
4077f0:	eb 1b                	jmp    0x40780d
4077f2:	8b cb                	mov    %ebx,%ecx
4077f4:	e8 62 a2 ff ff       	call   0x401a5b
4077f9:	84 c0                	test   %al,%al
4077fb:	75 10                	jne    0x40780d
4077fd:	8b 46 08             	mov    0x8(%esi),%eax
407800:	83 b8 84 62 00 00 01 	cmpl   $0x1,0x6284(%eax)
407807:	76 04                	jbe    0x40780d
407809:	c6 45 f2 00          	movb   $0x0,-0xe(%ebp)
40780d:	8a 83 51 68 00 00    	mov    0x6851(%ebx),%al
407813:	88 86 6f 18 00 00    	mov    %al,0x186f(%esi)
407819:	c6 86 70 18 00 00 00 	movb   $0x0,0x1870(%esi)
407820:	8b 8b 28 a2 00 00    	mov    0xa228(%ebx),%ecx
407826:	2b 8b 10 68 00 00    	sub    0x6810(%ebx),%ecx
40782c:	8b 93 2c a2 00 00    	mov    0xa22c(%ebx),%edx
407832:	1b 93 14 68 00 00    	sbb    0x6814(%ebx),%edx
407838:	8b 03                	mov    (%ebx),%eax
40783a:	6a 00                	push   $0x0
40783c:	52                   	push   %edx
40783d:	51                   	push   %ecx
40783e:	8b cb                	mov    %ebx,%ecx
407840:	ff 50 0c             	call   *0xc(%eax)
407843:	80 7d f2 00          	cmpb   $0x0,-0xe(%ebp)
407847:	c6 45 0f 00          	movb   $0x0,0xf(%ebp)
40784b:	c6 45 e3 00          	movb   $0x0,-0x1d(%ebp)
40784f:	75 11                	jne    0x407862
407851:	8a 83 34 a2 00 00    	mov    0xa234(%ebx),%al
407857:	88 45 e3             	mov    %al,-0x1d(%ebp)
40785a:	84 c0                	test   %al,%al
40785c:	0f 84 b4 08 00 00    	je     0x408116
407862:	8b 46 08             	mov    0x8(%esi),%eax
407865:	8a 80 c1 51 00 00    	mov    0x51c1(%eax),%al
40786b:	84 c0                	test   %al,%al
40786d:	74 0b                	je     0x40787a
40786f:	66 83 7d e8 49       	cmpw   $0x49,-0x18(%ebp)
407874:	74 04                	je     0x40787a
407876:	b1 01                	mov    $0x1,%cl
407878:	eb 02                	jmp    0x40787c
40787a:	32 c9                	xor    %cl,%cl
40787c:	ff 75 e3             	push   -0x1d(%ebp)
40787f:	84 c0                	test   %al,%al
407881:	0f 94 c0             	sete   %al
407884:	0f b6 c0             	movzbl %al,%eax
407887:	51                   	push   %ecx
407888:	50                   	push   %eax
407889:	8d 85 a4 de ff ff    	lea    -0x215c(%ebp),%eax
40788f:	50                   	push   %eax
407890:	e8 b4 9a 00 00       	call   0x411349
407895:	84 c0                	test   %al,%al
407897:	0f 84 ab 08 00 00    	je     0x408148
40789d:	68 00 08 00 00       	push   $0x800
4078a2:	8d be f8 4b 00 00    	lea    0x4bf8(%esi),%edi
4078a8:	57                   	push   %edi
4078a9:	8d 85 a4 de ff ff    	lea    -0x215c(%ebp),%eax
4078af:	50                   	push   %eax
4078b0:	53                   	push   %ebx
4078b1:	8b ce                	mov    %esi,%ecx
4078b3:	e8 21 f6 ff ff       	call   0x406ed9
4078b8:	80 7d e3 00          	cmpb   $0x0,-0x1d(%ebp)
4078bc:	75 13                	jne    0x4078d1
4078be:	66 83 3f 00          	cmpw   $0x0,(%edi)
4078c2:	74 0d                	je     0x4078d1
4078c4:	80 bb 50 68 00 00 00 	cmpb   $0x0,0x6850(%ebx)
4078cb:	c6 45 0f 01          	movb   $0x1,0xf(%ebp)
4078cf:	74 04                	je     0x4078d5
4078d1:	c6 45 0f 00          	movb   $0x0,0xf(%ebp)
4078d5:	8b 46 08             	mov    0x8(%esi),%eax
4078d8:	80 b8 4f 51 00 00 00 	cmpb   $0x0,0x514f(%eax)
4078df:	75 09                	jne    0x4078ea
4078e1:	80 b8 50 51 00 00 00 	cmpb   $0x0,0x5150(%eax)
4078e8:	74 6b                	je     0x407955
4078ea:	66 83 7d e8 45       	cmpw   $0x45,-0x18(%ebp)
4078ef:	74 07                	je     0x4078f8
4078f1:	66 83 7d e8 58       	cmpw   $0x58,-0x18(%ebp)
4078f6:	75 5d                	jne    0x407955
4078f8:	8d 8d 5c ce ff ff    	lea    -0x31a4(%ebp),%ecx
4078fe:	e8 e3 ee ff ff       	call   0x4067e6
407903:	6a 00                	push   $0x0
407905:	8d 85 5c ce ff ff    	lea    -0x31a4(%ebp),%eax
40790b:	50                   	push   %eax
40790c:	57                   	push   %edi
40790d:	e8 28 1d 00 00       	call   0x40963a
407912:	84 c0                	test   %al,%al