407254:	e8 89 2c 01 00       	call   0x419ee2
407259:	59                   	pop    %ecx
40725a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40725d:	5f                   	pop    %edi
40725e:	5e                   	pop    %esi
40725f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407266:	c9                   	leave
407267:	c2 0c 00             	ret    $0xc
40726a:	b8 10 93 42 00       	mov    $0x429310,%eax
40726f:	e8 44 2c 01 00       	call   0x419eb8
407274:	b8 34 10 00 00       	mov    $0x1034,%eax
407279:	e8 52 32 01 00       	call   0x41a4d0
40727e:	53                   	push   %ebx
40727f:	56                   	push   %esi
407280:	ff 75 18             	push   0x18(%ebp)
407283:	8b 75 14             	mov    0x14(%ebp),%esi
407286:	56                   	push   %esi
407287:	56                   	push   %esi
407288:	e8 1d 2f 00 00       	call   0x40a1aa
40728d:	8d 8d c0 ef ff ff    	lea    -0x1040(%ebp),%ecx
407293:	e8 ac 14 00 00       	call   0x408744
407298:	33 db                	xor    %ebx,%ebx
40729a:	56                   	push   %esi
40729b:	8d 8d c0 ef ff ff    	lea    -0x1040(%ebp),%ecx
4072a1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4072a4:	e8 13 16 00 00       	call   0x4088bc
4072a9:	84 c0                	test   %al,%al
4072ab:	75 39                	jne    0x4072e6
4072ad:	ff 75 10             	push   0x10(%ebp)
4072b0:	56                   	push   %esi
4072b1:	ff 75 0c             	push   0xc(%ebp)
4072b4:	6a 11                	push   $0x11
4072b6:	e8 36 fe ff ff       	call   0x4070f1
4072bb:	ff 75 0c             	push   0xc(%ebp)
4072be:	6a 12                	push   $0x12
4072c0:	e8 eb f1 ff ff       	call   0x4064b0
4072c5:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4072c9:	8d 8d c0 ef ff ff    	lea    -0x1040(%ebp),%ecx
4072cf:	e8 36 19 00 00       	call   0x408c0a
4072d4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4072d7:	5e                   	pop    %esi
4072d8:	8a c3                	mov    %bl,%al
4072da:	5b                   	pop    %ebx
4072db:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4072e2:	c9                   	leave
4072e3:	c2 14 00             	ret    $0x14
4072e6:	68 00 00 10 00       	push   $0x100000
4072eb:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4072ee:	e8 dd 9f ff ff       	call   0x4012d0
4072f3:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4072f7:	e8 78 98 00 00       	call   0x410b74
4072fc:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4072ff:	eb 0f                	jmp    0x407310
407301:	8b 4d 08             	mov    0x8(%ebp),%ecx
407304:	50                   	push   %eax
407305:	56                   	push   %esi
407306:	e8 3b 17 00 00       	call   0x408a46
40730b:	e8 64 98 00 00       	call   0x410b74
407310:	ff 75 e8             	push   -0x18(%ebp)
407313:	8d 8d c0 ef ff ff    	lea    -0x1040(%ebp),%ecx
407319:	56                   	push   %esi
40731a:	e8 ee 1a 00 00       	call   0x408e0d
40731f:	3b c3                	cmp    %ebx,%eax
407321:	75 de                	jne    0x407301
407323:	3b f3                	cmp    %ebx,%esi
407325:	74 07                	je     0x40732e
407327:	56                   	push   %esi
407328:	e8 b5 2b 01 00       	call   0x419ee2
40732d:	59                   	pop    %ecx
40732e:	b3 01                	mov    $0x1,%bl
407330:	eb 93                	jmp    0x4072c5
407332:	80 b9 f4 4b 00 00 00 	cmpb   $0x0,0x4bf4(%ecx)
407339:	75 2c                	jne    0x407367
40733b:	81 c1 f4 4a 00 00    	add    $0x4af4,%ecx
407341:	51                   	push   %ecx
407342:	ff 74 24 0c          	push   0xc(%esp)
407346:	6a 01                	push   $0x1
407348:	e8 7d a2 00 00       	call   0x4115ca
40734d:	84 c0                	test   %al,%al
40734f:	75 16                	jne    0x407367
407351:	6a 02                	push   $0x2
407353:	e8 11 a8 ff ff       	call   0x401b69
407358:	ff 74 24 08          	push   0x8(%esp)
40735c:	6a 06                	push   $0x6
40735e:	e8 4d f1 ff ff       	call   0x4064b0
407363:	32 c0                	xor    %al,%al
407365:	eb 02                	jmp    0x407369
407367:	b0 01                	mov    $0x1,%al
407369:	c2 08 00             	ret    $0x8
40736c:	55                   	push   %ebp
40736d:	8b ec                	mov    %esp,%ebp
40736f:	51                   	push   %ecx
407370:	57                   	push   %edi
407371:	8b f9                	mov    %ecx,%edi
407373:	8b 47 08             	mov    0x8(%edi),%eax
407376:	80 b8 c1 51 00 00 00 	cmpb   $0x0,0x51c1(%eax)
40737d:	0f 85 44 01 00 00    	jne    0x4074c7
407383:	80 b8 9b 51 00 00 00 	cmpb   $0x0,0x519b(%eax)
40738a:	53                   	push   %ebx
40738b:	56                   	push   %esi
40738c:	8b 75 08             	mov    0x8(%ebp),%esi
40738f:	ff b6 e4 57 00 00    	push   0x57e4(%esi)
407395:	0f 94 c0             	sete   %al
407398:	0f b6 c0             	movzbl %al,%eax
40739b:	50                   	push   %eax
40739c:	8d 9f f8 4b 00 00    	lea    0x4bf8(%edi),%ebx
4073a2:	53                   	push   %ebx
4073a3:	e8 b3 1e 00 00       	call   0x40925b
4073a8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4073ab:	85 c0                	test   %eax,%eax
4073ad:	0f 84 9c 00 00 00    	je     0x40744f
4073b3:	53                   	push   %ebx
4073b4:	e8 7e 1e 00 00       	call   0x409237
4073b9:	88 45 0b             	mov    %al,0xb(%ebp)
4073bc:	84 c0                	test   %al,%al
4073be:	74 43                	je     0x407403
4073c0:	53                   	push   %ebx
4073c1:	e8 0d 1c 00 00       	call   0x408fd3
4073c6:	50                   	push   %eax
4073c7:	e8 e2 1b 00 00       	call   0x408fae
4073cc:	84 c0                	test   %al,%al
4073ce:	75 2d                	jne    0x4073fd
4073d0:	6a 00                	push   $0x0
4073d2:	8d 86 f8 67 00 00    	lea    0x67f8(%esi),%eax
4073d8:	50                   	push   %eax
4073d9:	ff b6 1c 68 00 00    	push   0x681c(%esi)
4073df:	8d 45 0b             	lea    0xb(%ebp),%eax
4073e2:	ff b6 18 68 00 00    	push   0x6818(%esi)
4073e8:	50                   	push   %eax
4073e9:	68 00 08 00 00       	push   $0x800
4073ee:	53                   	push   %ebx
4073ef:	6a 00                	push   $0x0
4073f1:	ff 77 08             	push   0x8(%edi)
4073f4:	e8 7d 12 00 00       	call   0x408676
4073f9:	c6 45 0b 00          	movb   $0x0,0xb(%ebp)
4073fd:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
407401:	75 28                	jne    0x40742b
407403:	6a 01                	push   $0x1
407405:	53                   	push   %ebx
407406:	e8 d1 1e 00 00       	call   0x4092dc
40740b:	8b 47 08             	mov    0x8(%edi),%eax
40740e:	80 b8 9b 51 00 00 00 	cmpb   $0x0,0x519b(%eax)
407415:	ff b6 e4 57 00 00    	push   0x57e4(%esi)
40741b:	0f 94 c0             	sete   %al
40741e:	0f b6 c0             	movzbl %al,%eax
407421:	50                   	push   %eax
407422:	53                   	push   %ebx
407423:	e8 33 1e 00 00       	call   0x40925b
407428:	89 45 fc             	mov    %eax,-0x4(%ebp)
40742b:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40742f:	74 1e                	je     0x40744f
407431:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
407435:	74 21                	je     0x407458
407437:	8b 47 08             	mov    0x8(%edi),%eax
40743a:	80 b8 9b 51 00 00 00 	cmpb   $0x0,0x519b(%eax)
407441:	75 0c                	jne    0x40744f
407443:	ff b6 e4 57 00 00    	push   0x57e4(%esi)
407449:	53                   	push   %ebx
40744a:	e8 d0 1b 00 00       	call   0x40901f
40744f:	c6 87 f7 4b 00 00 01 	movb   $0x1,0x4bf7(%edi)
407456:	eb 22                	jmp    0x40747a
407458:	53                   	push   %ebx
407459:	8d 46 1e             	lea    0x1e(%esi),%eax
40745c:	50                   	push   %eax
40745d:	6a 13                	push   $0x13
40745f:	e8 75 f0 ff ff       	call   0x4064d9
407464:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
407469:	e8 92 9b ff ff       	call   0x401000
40746e:	6a 09                	push   $0x9
407470:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
407475:	e8 90 ef ff ff       	call   0x40640a
40747a:	80 bf f7 4b 00 00 00 	cmpb   $0x0,0x4bf7(%edi)
407481:	74 42                	je     0x4074c5
407483:	8b 7f 08             	mov    0x8(%edi),%edi
407486:	8b 87 94 62 00 00    	mov    0x6294(%edi),%eax
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