4093b8:	59                   	pop    %ecx
4093b9:	8b bd a0 fb ff ff    	mov    -0x460(%ebp),%edi
4093bf:	8b 9d e4 fb ff ff    	mov    -0x41c(%ebp),%ebx
4093c5:	0f b7 07             	movzwl (%edi),%eax
4093c8:	33 f6                	xor    %esi,%esi
4093ca:	89 85 e0 fb ff ff    	mov    %eax,-0x420(%ebp)
4093d0:	66 3b c6             	cmp    %si,%ax
4093d3:	74 07                	je     0x4093dc
4093d5:	8b d0                	mov    %eax,%edx
4093d7:	e9 71 f5 ff ff       	jmp    0x40894d
4093dc:	39 b5 c4 fb ff ff    	cmp    %esi,-0x43c(%ebp)
4093e2:	74 0d                	je     0x4093f1
4093e4:	83 bd c4 fb ff ff 07 	cmpl   $0x7,-0x43c(%ebp)
4093eb:	0f 85 01 f5 ff ff    	jne    0x4088f2
4093f1:	80 bd c0 fb ff ff 00 	cmpb   $0x0,-0x440(%ebp)
4093f8:	74 0a                	je     0x409404
4093fa:	8b 85 bc fb ff ff    	mov    -0x444(%ebp),%eax
409400:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
409404:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
40940a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40940d:	5f                   	pop    %edi
40940e:	5e                   	pop    %esi
40940f:	33 cd                	xor    %ebp,%ecx
409411:	5b                   	pop    %ebx
409412:	e8 8d 89 ff ff       	call   0x401da4
409417:	c9                   	leave
409418:	c3                   	ret
409419:	8d 49 00             	lea    0x0(%ecx),%ecx
40941c:	b3 8b                	mov    $0x8b,%bl
40941e:	40                   	inc    %eax
40941f:	00 b3 89 40 00 e5    	add    %dh,-0x1affbf77(%ebx)
409425:	89 40 00             	mov    %eax,0x0(%eax)
409428:	40                   	inc    %eax
409429:	8a 40 00             	mov    0x0(%eax),%al
40942c:	8c 8a 40 00 98 8a    	mov    %cs,-0x7567ffc0(%edx)
409432:	40                   	inc    %eax
409433:	00 de                	add    %bl,%dh
409435:	8a 40 00             	mov    0x0(%eax),%al
409438:	d5 8b                	aad    $0x8b
40943a:	40                   	inc    %eax
40943b:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
409441:	83 ec 10             	sub    $0x10,%esp
409444:	53                   	push   %ebx
409445:	8b 5d 10             	mov    0x10(%ebp),%ebx
409448:	85 db                	test   %ebx,%ebx
40944a:	75 07                	jne    0x409453
40944c:	33 c0                	xor    %eax,%eax
40944e:	e9 06 01 00 00       	jmp    0x409559
409453:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
409457:	75 1a                	jne    0x409473
409459:	e8 c9 ac ff ff       	call   0x404127
40945e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
409464:	e8 1e 98 ff ff       	call   0x402c87
409469:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
40946e:	e9 e6 00 00 00       	jmp    0x409559
409473:	56                   	push   %esi
409474:	8b 75 0c             	mov    0xc(%ebp),%esi
409477:	85 f6                	test   %esi,%esi
409479:	75 1a                	jne    0x409495
40947b:	e8 a7 ac ff ff       	call   0x404127
409480:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
409486:	e8 fc 97 ff ff       	call   0x402c87
40948b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
409490:	e9 c3 00 00 00       	jmp    0x409558
409495:	57                   	push   %edi
409496:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
40949b:	3b df                	cmp    %edi,%ebx
40949d:	76 15                	jbe    0x4094b4
40949f:	e8 83 ac ff ff       	call   0x404127
4094a4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4094aa:	e8 d8 97 ff ff       	call   0x402c87
4094af:	e9 8f 00 00 00       	jmp    0x409543
4094b4:	ff 75 14             	push   0x14(%ebp)
4094b7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4094ba:	e8 26 8b ff ff       	call   0x401fe5
4094bf:	8b 45 f0             	mov    -0x10(%ebp),%eax
4094c2:	8b 40 10             	mov    0x10(%eax),%eax
4094c5:	85 c0                	test   %eax,%eax
4094c7:	75 4a                	jne    0x409513
4094c9:	8b 55 08             	mov    0x8(%ebp),%edx
4094cc:	2b d6                	sub    %esi,%edx
4094ce:	0f b7 04 32          	movzwl (%edx,%esi,1),%eax
4094d2:	83 f8 41             	cmp    $0x41,%eax
4094d5:	72 0d                	jb     0x4094e4
4094d7:	83 f8 5a             	cmp    $0x5a,%eax
4094da:	77 08                	ja     0x4094e4
4094dc:	83 c0 20             	add    $0x20,%eax
4094df:	0f b7 c8             	movzwl %ax,%ecx
4094e2:	eb 02                	jmp    0x4094e6
4094e4:	8b c8                	mov    %eax,%ecx
4094e6:	0f b7 06             	movzwl (%esi),%eax
4094e9:	83 f8 41             	cmp    $0x41,%eax
4094ec:	72 0b                	jb     0x4094f9
4094ee:	83 f8 5a             	cmp    $0x5a,%eax
4094f1:	77 06                	ja     0x4094f9
4094f3:	83 c0 20             	add    $0x20,%eax
4094f6:	0f b7 c0             	movzwl %ax,%eax
4094f9:	83 c6 02             	add    $0x2,%esi
4094fc:	4b                   	dec    %ebx
4094fd:	74 0a                	je     0x409509
4094ff:	66 85 c9             	test   %cx,%cx
409502:	74 05                	je     0x409509
409504:	66 3b c8             	cmp    %ax,%cx
409507:	74 c5                	je     0x4094ce
409509:	0f b7 d0             	movzwl %ax,%edx
40950c:	0f b7 c1             	movzwl %cx,%eax
40950f:	2b c2                	sub    %edx,%eax
409511:	eb 37                	jmp    0x40954a
409513:	53                   	push   %ebx
409514:	56                   	push   %esi
409515:	53                   	push   %ebx
409516:	ff 75 08             	push   0x8(%ebp)
409519:	68 01 10 00 00       	push   $0x1001
40951e:	50                   	push   %eax
40951f:	e8 fb 46 00 00       	call   0x40dc1f
409524:	83 c4 18             	add    $0x18,%esp
409527:	85 c0                	test   %eax,%eax
409529:	75 1c                	jne    0x409547
40952b:	e8 f7 ab ff ff       	call   0x404127
409530:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
409534:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40953a:	74 07                	je     0x409543
40953c:	8b 45 f8             	mov    -0x8(%ebp),%eax
40953f:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
409543:	8b c7                	mov    %edi,%eax
409545:	eb 10                	jmp    0x409557
409547:	83 c0 fe             	add    $0xfffffffe,%eax
40954a:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
40954e:	74 07                	je     0x409557
409550:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409553:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
409557:	5f                   	pop    %edi
409558:	5e                   	pop    %esi
409559:	5b                   	pop    %ebx
40955a:	c9                   	leave
40955b:	c3                   	ret
40955c:	8b ff                	mov    %edi,%edi
40955e:	55                   	push   %ebp
40955f:	8b ec                	mov    %esp,%ebp
409561:	83 3d 54 32 41 00 00 	cmpl   $0x0,0x413254
409568:	56                   	push   %esi
409569:	0f 85 91 00 00 00    	jne    0x409600
40956f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
409573:	75 1a                	jne    0x40958f
409575:	e8 ad ab ff ff       	call   0x404127
40957a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
409580:	e8 02 97 ff ff       	call   0x402c87
409585:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
40958a:	e9 84 00 00 00       	jmp    0x409613
40958f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409592:	85 c9                	test   %ecx,%ecx
409594:	74 df                	je     0x409575
409596:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
40959b:	39 75 10             	cmp    %esi,0x10(%ebp)
40959e:	76 14                	jbe    0x4095b4
4095a0:	e8 82 ab ff ff       	call   0x404127
4095a5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4095ab:	e8 d7 96 ff ff       	call   0x402c87
4095b0:	8b c6                	mov    %esi,%eax
4095b2:	eb 5f                	jmp    0x409613
4095b4:	8b 75 08             	mov    0x8(%ebp),%esi
4095b7:	2b f1                	sub    %ecx,%esi
4095b9:	0f b7 04 0e          	movzwl (%esi,%ecx,1),%eax
4095bd:	83 f8 41             	cmp    $0x41,%eax
4095c0:	72 0d                	jb     0x4095cf
4095c2:	83 f8 5a             	cmp    $0x5a,%eax
4095c5:	77 08                	ja     0x4095cf
4095c7:	83 c0 20             	add    $0x20,%eax
4095ca:	0f b7 d0             	movzwl %ax,%edx
4095cd:	eb 02                	jmp    0x4095d1
4095cf:	8b d0                	mov    %eax,%edx
4095d1:	0f b7 01             	movzwl (%ecx),%eax
4095d4:	83 f8 41             	cmp    $0x41,%eax
4095d7:	72 0b                	jb     0x4095e4
4095d9:	83 f8 5a             	cmp    $0x5a,%eax
4095dc:	77 06                	ja     0x4095e4
4095de:	83 c0 20             	add    $0x20,%eax
4095e1:	0f b7 c0             	movzwl %ax,%eax
4095e4:	83 c1 02             	add    $0x2,%ecx
4095e7:	ff 4d 10             	decl   0x10(%ebp)
4095ea:	74 0a                	je     0x4095f6
4095ec:	66 85 d2             	test   %dx,%dx
4095ef:	74 05                	je     0x4095f6
4095f1:	66 3b d0             	cmp    %ax,%dx
4095f4:	74 c3                	je     0x4095b9
4095f6:	0f b7 c8             	movzwl %ax,%ecx
4095f9:	0f b7 c2             	movzwl %dx,%eax
4095fc:	2b c1                	sub    %ecx,%eax
4095fe:	eb 13                	jmp    0x409613
409600:	6a 00                	push   $0x0
409602:	ff 75 10             	push   0x10(%ebp)
409605:	ff 75 0c             	push   0xc(%ebp)
409608:	ff 75 08             	push   0x8(%ebp)
40960b:	e8 2c fe ff ff       	call   0x40943c
409610:	83 c4 10             	add    $0x10,%esp
409613:	5e                   	pop    %esi
409614:	5d                   	pop    %ebp
409615:	c3                   	ret
409616:	8b ff                	mov    %edi,%edi
409618:	55                   	push   %ebp
409619:	8b ec                	mov    %esp,%ebp
40961b:	8b 45 08             	mov    0x8(%ebp),%eax
40961e:	66 8b 08             	mov    (%eax),%cx
409621:	83 c0 02             	add    $0x2,%eax
409624:	66 85 c9             	test   %cx,%cx
409627:	75 f5                	jne    0x40961e
409629:	2b 45 08             	sub    0x8(%ebp),%eax
40962c:	d1 f8                	sar    $1,%eax
40962e:	48                   	dec    %eax
40962f:	5d                   	pop    %ebp
409630:	c3                   	ret
409631:	8b ff                	mov    %edi,%edi
409633:	55                   	push   %ebp
409634:	8b ec                	mov    %esp,%ebp
409636:	51                   	push   %ecx
409637:	51                   	push   %ecx
409638:	53                   	push   %ebx
409639:	56                   	push   %esi
40963a:	8b 35 68 32 41 00    	mov    0x413268,%esi
409640:	33 db                	xor    %ebx,%ebx
409642:	89 5d fc             	mov    %ebx,-0x4(%ebp)
409645:	8b 06                	mov    (%esi),%eax
409647:	57                   	push   %edi
409648:	3b c3                	cmp    %ebx,%eax
40964a:	74 50                	je     0x40969c
40964c:	8b 3d 30 f0 40 00    	mov    0x40f030,%edi
409652:	53                   	push   %ebx
409653:	53                   	push   %ebx
409654:	6a ff                	push   $0xffffffff
409656:	50                   	push   %eax
409657:	53                   	push   %ebx
409658:	53                   	push   %ebx
409659:	ff d7                	call   *%edi
40965b:	89 45 f8             	mov    %eax,-0x8(%ebp)
40965e:	3b c3                	cmp    %ebx,%eax
409660:	74 41                	je     0x4096a3
409662:	6a 02                	push   $0x2
409664:	50                   	push   %eax
409665:	e8 9a d2 ff ff       	call   0x406904
40966a:	59                   	pop    %ecx
40966b:	59                   	pop    %ecx
40966c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40966f:	3b c3                	cmp    %ebx,%eax
409671:	74 30                	je     0x4096a3
409673:	ff 75 f8             	push   -0x8(%ebp)
409676:	50                   	push   %eax
409677:	6a ff                	push   $0xffffffff
409679:	ff 36                	push   (%esi)
40967b:	53                   	push   %ebx
40967c:	53                   	push   %ebx
40967d:	ff d7                	call   *%edi
40967f:	85 c0                	test   %eax,%eax
409681:	74 2a                	je     0x4096ad
409683:	8d 45 fc             	lea    -0x4(%ebp),%eax
409686:	53                   	push   %ebx
409687:	50                   	push   %eax
409688:	e8 aa 46 00 00       	call   0x40dd37
40968d:	59                   	pop    %ecx
40968e:	59                   	pop    %ecx
40968f:	85 c0                	test   %eax,%eax
409691:	78 15                	js     0x4096a8
409693:	83 c6 04             	add    $0x4,%esi
409696:	8b 06                	mov    (%esi),%eax
409698:	3b c3                	cmp    %ebx,%eax
40969a:	75 b6                	jne    0x409652
40969c:	33 c0                	xor    %eax,%eax
40969e:	5f                   	pop    %edi
40969f:	5e                   	pop    %esi
4096a0:	5b                   	pop    %ebx
4096a1:	c9                   	leave
4096a2:	c3                   	ret
4096a3:	83 c8 ff             	or     $0xffffffff,%eax
4096a6:	eb f6                	jmp    0x40969e
4096a8:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
4096ab:	74 f6                	je     0x4096a3
4096ad:	ff 75 fc             	push   -0x4(%ebp)
4096b0:	e8 b6 88 ff ff       	call   0x401f6b
4096b5:	59                   	pop    %ecx
4096b6:	eb eb                	jmp    0x4096a3
4096b8:	8b ff                	mov    %edi,%edi
4096ba:	56                   	push   %esi
4096bb:	8b 35 ec 2e 41 00    	mov    0x412eec,%esi
4096c1:	57                   	push   %edi
4096c2:	33 ff                	xor    %edi,%edi
4096c4:	85 f6                	test   %esi,%esi
4096c6:	75 1a                	jne    0x4096e2
4096c8:	83 c8 ff             	or     $0xffffffff,%eax
4096cb:	e9 9d 00 00 00       	jmp    0x40976d
4096d0:	66 83 f8 3d          	cmp    $0x3d,%ax
4096d4:	74 01                	je     0x4096d7
4096d6:	47                   	inc    %edi
4096d7:	56                   	push   %esi
4096d8:	e8 39 ff ff ff       	call   0x409616
4096dd:	59                   	pop    %ecx
4096de:	8d 74 46 02          	lea    0x2(%esi,%eax,2),%esi
4096e2:	0f b7 06             	movzwl (%esi),%eax
4096e5:	66 85 c0             	test   %ax,%ax
4096e8:	75 e6                	jne    0x4096d0
4096ea:	53                   	push   %ebx
4096eb:	6a 04                	push   $0x4
4096ed:	47                   	inc    %edi
4096ee:	57                   	push   %edi
4096ef:	e8 10 d2 ff ff       	call   0x406904
4096f4:	8b d8                	mov    %eax,%ebx
4096f6:	59                   	pop    %ecx
4096f7:	59                   	pop    %ecx
4096f8:	89 1d 70 32 41 00    	mov    %ebx,0x413270
4096fe:	85 db                	test   %ebx,%ebx
409700:	75 05                	jne    0x409707
409702:	83 c8 ff             	or     $0xffffffff,%eax
409705:	eb 65                	jmp    0x40976c
409707:	8b 35 ec 2e 41 00    	mov    0x412eec,%esi
40970d:	eb 35                	jmp    0x409744
40970f:	56                   	push   %esi
409710:	e8 01 ff ff ff       	call   0x409616
409715:	66 83 3e 3d          	cmpw   $0x3d,(%esi)
409719:	59                   	pop    %ecx
40971a:	8d 78 01             	lea    0x1(%eax),%edi
40971d:	74 22                	je     0x409741
40971f:	6a 02                	push   $0x2
409721:	57                   	push   %edi
409722:	e8 dd d1 ff ff       	call   0x406904
409727:	59                   	pop    %ecx
409728:	59                   	pop    %ecx
409729:	89 03                	mov    %eax,(%ebx)
40972b:	85 c0                	test   %eax,%eax
40972d:	74 41                	je     0x409770
40972f:	56                   	push   %esi
409730:	57                   	push   %edi
409731:	50                   	push   %eax
409732:	e8 84 a0 ff ff       	call   0x4037bb
409737:	83 c4 0c             	add    $0xc,%esp
40973a:	85 c0                	test   %eax,%eax
40973c:	75 49                	jne    0x409787
40973e:	83 c3 04             	add    $0x4,%ebx
409741:	8d 34 7e             	lea    (%esi,%edi,2),%esi
409744:	66 83 3e 00          	cmpw   $0x0,(%esi)
409748:	75 c5                	jne    0x40970f
40974a:	ff 35 ec 2e 41 00    	push   0x412eec
409750:	e8 16 88 ff ff       	call   0x401f6b
409755:	83 25 ec 2e 41 00 00 	andl   $0x0,0x412eec
40975c:	83 23 00             	andl   $0x0,(%ebx)
40975f:	c7 05 20 47 41 00 01 	movl   $0x1,0x414720
409766:	00 00 00
409769:	33 c0                	xor    %eax,%eax
40976b:	59                   	pop    %ecx
40976c:	5b                   	pop    %ebx
40976d:	5f                   	pop    %edi
40976e:	5e                   	pop    %esi
40976f:	c3                   	ret