a7c537:	8d 45 ff             	lea    -0x1(%ebp),%eax
a7c53a:	50                   	push   %eax
a7c53b:	8d 45 10             	lea    0x10(%ebp),%eax
a7c53e:	50                   	push   %eax
a7c53f:	8d 45 c4             	lea    -0x3c(%ebp),%eax
a7c542:	50                   	push   %eax
a7c543:	e8 08 b6 9b ff       	call   0x437b50
a7c548:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
a7c54b:	83 c4 10             	add    $0x10,%esp
a7c54e:	85 c9                	test   %ecx,%ecx
a7c550:	0f 85 87 03 00 00    	jne    0xa7c8dd
a7c556:	a1 50 18 d8 00       	mov    0xd81850,%eax
a7c55b:	33 c9                	xor    %ecx,%ecx
a7c55d:	8b 55 dc             	mov    -0x24(%ebp),%edx
a7c560:	8a 00                	mov    (%eax),%al
a7c562:	3c 41                	cmp    $0x41,%al
a7c564:	0f be d8             	movsbl %al,%ebx
a7c567:	0f 9c c1             	setl   %cl
a7c56a:	49                   	dec    %ecx
a7c56b:	83 e1 2b             	and    $0x2b,%ecx
a7c56e:	83 c1 16             	add    $0x16,%ecx
a7c571:	2b d9                	sub    %ecx,%ebx
a7c573:	8b 4d e8             	mov    -0x18(%ebp),%ecx
a7c576:	e9 6a fe ff ff       	jmp    0xa7c3e5
a7c57b:	a1 50 18 d8 00       	mov    0xd81850,%eax
a7c580:	80 38 00             	cmpb   $0x0,(%eax)
a7c583:	74 06                	je     0xa7c58b
a7c585:	ff 05 50 18 d8 00    	incl   0xd81850
a7c58b:	83 fb 1f             	cmp    $0x1f,%ebx
a7c58e:	0f 87 b0 00 00 00    	ja     0xa7c644
a7c594:	ff 75 10             	push   0x10(%ebp)
a7c597:	8d 4d ec             	lea    -0x14(%ebp),%ecx
a7c59a:	e8 30 33 9a ff       	call   0x41f8cf
a7c59f:	8b 45 f8             	mov    -0x8(%ebp),%eax
a7c5a2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
a7c5a5:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
a7c5a9:	89 45 d8             	mov    %eax,-0x28(%ebp)
a7c5ac:	8d 45 ec             	lea    -0x14(%ebp),%eax
a7c5af:	50                   	push   %eax
a7c5b0:	e8 3f e5 9a ff       	call   0x42aaf4
a7c5b5:	8b 45 d4             	mov    -0x2c(%ebp),%eax
a7c5b8:	8b 55 d8             	mov    -0x28(%ebp),%edx
a7c5bb:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7c5be:	89 55 f0             	mov    %edx,-0x10(%ebp)
a7c5c1:	85 ff                	test   %edi,%edi
a7c5c3:	74 34                	je     0xa7c5f9
a7c5c5:	6a 20                	push   $0x20
a7c5c7:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
a7c5ca:	89 45 d4             	mov    %eax,-0x2c(%ebp)
a7c5cd:	89 55 d8             	mov    %edx,-0x28(%ebp)
a7c5d0:	e8 12 32 9c ff       	call   0x43f7e7
a7c5d5:	8b 45 d4             	mov    -0x2c(%ebp),%eax
a7c5d8:	8d 4d f4             	lea    -0xc(%ebp),%ecx
a7c5db:	89 45 f4             	mov    %eax,-0xc(%ebp)
a7c5de:	8b 45 d8             	mov    -0x28(%ebp),%eax
a7c5e1:	89 45 f8             	mov    %eax,-0x8(%ebp)
a7c5e4:	8d 45 e4             	lea    -0x1c(%ebp),%eax
a7c5e7:	50                   	push   %eax
a7c5e8:	e8 07 e5 9a ff       	call   0x42aaf4
a7c5ed:	8b 45 f4             	mov    -0xc(%ebp),%eax
a7c5f0:	8b 55 f8             	mov    -0x8(%ebp),%edx
a7c5f3:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7c5f6:	89 55 f0             	mov    %edx,-0x10(%ebp)
a7c5f9:	8b 4d dc             	mov    -0x24(%ebp),%ecx
a7c5fc:	85 c9                	test   %ecx,%ecx
a7c5fe:	74 37                	je     0xa7c637
a7c600:	8b 45 e0             	mov    -0x20(%ebp),%eax
a7c603:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
a7c606:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
a7c609:	6a 20                	push   $0x20
a7c60b:	89 45 d8             	mov    %eax,-0x28(%ebp)
a7c60e:	e8 d4 31 9c ff       	call   0x43f7e7
a7c613:	8b 45 d4             	mov    -0x2c(%ebp),%eax
a7c616:	8d 4d dc             	lea    -0x24(%ebp),%ecx
a7c619:	89 45 dc             	mov    %eax,-0x24(%ebp)
a7c61c:	8b 45 d8             	mov    -0x28(%ebp),%eax
a7c61f:	89 45 e0             	mov    %eax,-0x20(%ebp)
a7c622:	8d 45 ec             	lea    -0x14(%ebp),%eax
a7c625:	50                   	push   %eax
a7c626:	e8 c9 e4 9a ff       	call   0x42aaf4
a7c62b:	8b 45 dc             	mov    -0x24(%ebp),%eax
a7c62e:	8b 55 e0             	mov    -0x20(%ebp),%edx
a7c631:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7c634:	89 55 f0             	mov    %edx,-0x10(%ebp)
a7c637:	f6 c3 10             	test   $0x10,%bl
a7c63a:	0f 84 d3 00 00 00    	je     0xa7c713
a7c640:	85 f6                	test   %esi,%esi
a7c642:	74 07                	je     0xa7c64b
a7c644:	6a 02                	push   $0x2
a7c646:	e9 15 03 00 00       	jmp    0xa7c960
a7c64b:	8b 45 10             	mov    0x10(%ebp),%eax
a7c64e:	80 38 00             	cmpb   $0x0,(%eax)
a7c651:	74 78                	je     0xa7c6cb
a7c653:	8d 45 ec             	lea    -0x14(%ebp),%eax
a7c656:	50                   	push   %eax
a7c657:	8d 45 cc             	lea    -0x34(%ebp),%eax
a7c65a:	50                   	push   %eax
a7c65b:	68 38 e3 bd 00       	push   $0xbde338
a7c660:	8d 4d ac             	lea    -0x54(%ebp),%ecx
a7c663:	e8 67 32 9a ff       	call   0x41f8cf
a7c668:	8b c8                	mov    %eax,%ecx
a7c66a:	e8 2f fa 99 ff       	call   0x41c09e
a7c66f:	8b 45 cc             	mov    -0x34(%ebp),%eax
a7c672:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7c675:	8b 45 d0             	mov    -0x30(%ebp),%eax
a7c678:	89 45 f0             	mov    %eax,-0x10(%ebp)
a7c67b:	a1 50 18 d8 00       	mov    0xd81850,%eax
a7c680:	80 38 00             	cmpb   $0x0,(%eax)
a7c683:	8d 45 ec             	lea    -0x14(%ebp),%eax
a7c686:	50                   	push   %eax
a7c687:	74 1f                	je     0xa7c6a8
a7c689:	8d 45 ac             	lea    -0x54(%ebp),%eax
a7c68c:	50                   	push   %eax
a7c68d:	8d 45 b4             	lea    -0x4c(%ebp),%eax
a7c690:	50                   	push   %eax
a7c691:	e8 8f ef 9a ff       	call   0x42b625
a7c696:	59                   	pop    %ecx
a7c697:	8b c8                	mov    %eax,%ecx
a7c699:	e8 00 fa 99 ff       	call   0x41c09e
a7c69e:	8b 08                	mov    (%eax),%ecx
a7c6a0:	8b 50 04             	mov    0x4(%eax),%edx
a7c6a3:	89 4d ec             	mov    %ecx,-0x14(%ebp)
a7c6a6:	eb 1e                	jmp    0xa7c6c6
a7c6a8:	8d 45 cc             	lea    -0x34(%ebp),%eax
a7c6ab:	50                   	push   %eax
a7c6ac:	6a 01                	push   $0x1
a7c6ae:	8d 4d ac             	lea    -0x54(%ebp),%ecx
a7c6b1:	e8 b8 39 99 ff       	call   0x41006e
a7c6b6:	8b c8                	mov    %eax,%ecx
a7c6b8:	e8 e1 f9 99 ff       	call   0x41c09e
a7c6bd:	8b 45 cc             	mov    -0x34(%ebp),%eax
a7c6c0:	8b 55 d0             	mov    -0x30(%ebp),%edx
a7c6c3:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7c6c6:	89 55 f0             	mov    %edx,-0x10(%ebp)
a7c6c9:	eb 20                	jmp    0xa7c6eb
a7c6cb:	a1 50 18 d8 00       	mov    0xd81850,%eax
a7c6d0:	80 38 00             	cmpb   $0x0,(%eax)
a7c6d3:	74 31                	je     0xa7c706
a7c6d5:	8d 45 ac             	lea    -0x54(%ebp),%eax
a7c6d8:	50                   	push   %eax
a7c6d9:	e8 47 ef 9a ff       	call   0x42b625
a7c6de:	59                   	pop    %ecx
a7c6df:	50                   	push   %eax
a7c6e0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
a7c6e3:	e8 50 fe 9b ff       	call   0x43c538
a7c6e8:	8b 55 f0             	mov    -0x10(%ebp),%edx
a7c6eb:	a1 50 18 d8 00       	mov    0xd81850,%eax
a7c6f0:	8a 08                	mov    (%eax),%cl
a7c6f2:	84 c9                	test   %cl,%cl
a7c6f4:	74 10                	je     0xa7c706
a7c6f6:	40                   	inc    %eax
a7c6f7:	a3 50 18 d8 00       	mov    %eax,0xd81850
a7c6fc:	80 f9 40             	cmp    $0x40,%cl
a7c6ff:	74 12                	je     0xa7c713
a7c701:	e9 3e ff ff ff       	jmp    0xa7c644
a7c706:	6a 01                	push   $0x1
a7c708:	8d 4d ec             	lea    -0x14(%ebp),%ecx
a7c70b:	e8 45 38 9a ff       	call   0x41ff55
a7c710:	8b 55 f0             	mov    -0x10(%ebp),%edx
a7c713:	a1 60 18 d8 00       	mov    0xd81860,%eax
a7c718:	d1 e8                	shr    $1,%eax
a7c71a:	f7 d0                	not    %eax
a7c71c:	a8 01                	test   $0x1,%al
a7c71e:	8b c3                	mov    %ebx,%eax
a7c720:	74 35                	je     0xa7c757
a7c722:	83 e0 0c             	and    $0xc,%eax
a7c725:	3c 0c                	cmp    $0xc,%al
a7c727:	75 4b                	jne    0xa7c774
a7c729:	85 f6                	test   %esi,%esi
a7c72b:	0f 85 13 ff ff ff    	jne    0xa7c644
a7c731:	8d 45 ec             	lea    -0x14(%ebp),%eax
a7c734:	50                   	push   %eax
a7c735:	8d 45 ac             	lea    -0x54(%ebp),%eax
a7c738:	50                   	push   %eax
a7c739:	8d 45 b4             	lea    -0x4c(%ebp),%eax
a7c73c:	50                   	push   %eax
a7c73d:	e8 27 ca 99 ff       	call   0x419169
a7c742:	59                   	pop    %ecx
a7c743:	8b c8                	mov    %eax,%ecx
a7c745:	e8 54 f9 99 ff       	call   0x41c09e
a7c74a:	8b 08                	mov    (%eax),%ecx
a7c74c:	8b 50 04             	mov    0x4(%eax),%edx
a7c74f:	89 4d ec             	mov    %ecx,-0x14(%ebp)
a7c752:	89 55 f0             	mov    %edx,-0x10(%ebp)
a7c755:	eb 1d                	jmp    0xa7c774
a7c757:	83 e0 0c             	and    $0xc,%eax
a7c75a:	3c 0c                	cmp    $0xc,%al
a7c75c:	75 16                	jne    0xa7c774
a7c75e:	8d 45 ac             	lea    -0x54(%ebp),%eax
a7c761:	50                   	push   %eax
a7c762:	e8 02 ca 99 ff       	call   0x419169
a7c767:	59                   	pop    %ecx
a7c768:	50                   	push   %eax
a7c769:	8d 4d ec             	lea    -0x14(%ebp),%ecx
a7c76c:	e8 c7 fd 9b ff       	call   0x43c538
a7c771:	8b 55 f0             	mov    -0x10(%ebp),%edx
a7c774:	f6 c3 02             	test   $0x2,%bl
a7c777:	74 28                	je     0xa7c7a1
a7c779:	8d 45 ec             	lea    -0x14(%ebp),%eax
a7c77c:	50                   	push   %eax
a7c77d:	8d 45 cc             	lea    -0x34(%ebp),%eax
a7c780:	50                   	push   %eax
a7c781:	68 5c e4 c7 00       	push   $0xc7e45c
a7c786:	8d 4d ac             	lea    -0x54(%ebp),%ecx
a7c789:	e8 41 31 9a ff       	call   0x41f8cf
a7c78e:	8b c8                	mov    %eax,%ecx
a7c790:	e8 09 f9 99 ff       	call   0x41c09e
a7c795:	8b 45 cc             	mov    -0x34(%ebp),%eax
a7c798:	8b 55 d0             	mov    -0x30(%ebp),%edx
a7c79b:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7c79e:	89 55 f0             	mov    %edx,-0x10(%ebp)
a7c7a1:	f6 c3 01             	test   $0x1,%bl
a7c7a4:	74 28                	je     0xa7c7ce
a7c7a6:	8d 45 ec             	lea    -0x14(%ebp),%eax
a7c7a9:	50                   	push   %eax
a7c7aa:	8d 45 cc             	lea    -0x34(%ebp),%eax
a7c7ad:	50                   	push   %eax
a7c7ae:	68 68 e4 c7 00       	push   $0xc7e468
a7c7b3:	8d 4d ac             	lea    -0x54(%ebp),%ecx
a7c7b6:	e8 14 31 9a ff       	call   0x41f8cf
a7c7bb:	8b c8                	mov    %eax,%ecx
a7c7bd:	e8 dc f8 99 ff       	call   0x41c09e
a7c7c2:	8b 45 cc             	mov    -0x34(%ebp),%eax
a7c7c5:	8b 55 d0             	mov    -0x30(%ebp),%edx
a7c7c8:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7c7cb:	89 55 f0             	mov    %edx,-0x10(%ebp)
a7c7ce:	8a 45 fe             	mov    -0x2(%ebp),%al
a7c7d1:	84 c0                	test   %al,%al
a7c7d3:	74 22                	je     0xa7c7f7
a7c7d5:	8b 45 ec             	mov    -0x14(%ebp),%eax
a7c7d8:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
a7c7db:	68 70 e4 c7 00       	push   $0xc7e470
a7c7e0:	89 45 d4             	mov    %eax,-0x2c(%ebp)
a7c7e3:	89 55 d8             	mov    %edx,-0x28(%ebp)
a7c7e6:	e8 b9 1d 9c ff       	call   0x43e5a4
a7c7eb:	8b 45 d4             	mov    -0x2c(%ebp),%eax
a7c7ee:	8b 55 d8             	mov    -0x28(%ebp),%edx
a7c7f1:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7c7f4:	89 55 f0             	mov    %edx,-0x10(%ebp)
a7c7f7:	8a 45 fd             	mov    -0x3(%ebp),%al
a7c7fa:	84 c0                	test   %al,%al
a7c7fc:	74 22                	je     0xa7c820
a7c7fe:	8b 45 ec             	mov    -0x14(%ebp),%eax
a7c801:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
a7c804:	68 74 e4 c7 00       	push   $0xc7e474
a7c809:	89 45 d4             	mov    %eax,-0x2c(%ebp)
a7c80c:	89 55 d8             	mov    %edx,-0x28(%ebp)
a7c80f:	e8 90 1d 9c ff       	call   0x43e5a4
a7c814:	8b 45 d4             	mov    -0x2c(%ebp),%eax
a7c817:	8b 55 d8             	mov    -0x28(%ebp),%edx
a7c81a:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7c81d:	89 55 f0             	mov    %edx,-0x10(%ebp)
a7c820:	bf 00 01 00 00       	mov    $0x100,%edi
a7c825:	85 f6                	test   %esi,%esi
a7c827:	0f 85 92 00 00 00    	jne    0xa7c8bf
a7c82d:	8b 75 0c             	mov    0xc(%ebp),%esi
a7c830:	33 c9                	xor    %ecx,%ecx
a7c832:	39 0e                	cmp    %ecx,(%esi)
a7c834:	74 5d                	je     0xa7c893
a7c836:	85 7e 04             	test   %edi,0x4(%esi)
a7c839:	75 42                	jne    0xa7c87d
a7c83b:	8b 45 14             	mov    0x14(%ebp),%eax
a7c83e:	39 08                	cmp    %ecx,(%eax)
a7c840:	74 3b                	je     0xa7c87d
a7c842:	50                   	push   %eax
a7c843:	8d 45 d4             	lea    -0x2c(%ebp),%eax
a7c846:	50                   	push   %eax
a7c847:	6a 20                	push   $0x20
a7c849:	8d 4d ac             	lea    -0x54(%ebp),%ecx
a7c84c:	e8 b7 6f 9a ff       	call   0x423808
a7c851:	8b c8                	mov    %eax,%ecx
a7c853:	e8 46 f8 99 ff       	call   0x41c09e
a7c858:	8b 45 d4             	mov    -0x2c(%ebp),%eax
a7c85b:	8d 4d cc             	lea    -0x34(%ebp),%ecx
a7c85e:	89 45 cc             	mov    %eax,-0x34(%ebp)
a7c861:	8b 45 d8             	mov    -0x28(%ebp),%eax
a7c864:	6a 20                	push   $0x20
a7c866:	89 45 d0             	mov    %eax,-0x30(%ebp)
a7c869:	e8 79 2f 9c ff       	call   0x43f7e7
a7c86e:	56                   	push   %esi
a7c86f:	8d 45 b4             	lea    -0x4c(%ebp),%eax
a7c872:	50                   	push   %eax
a7c873:	8d 4d cc             	lea    -0x34(%ebp),%ecx
a7c876:	e8 23 f8 99 ff       	call   0x41c09e
a7c87b:	eb 36                	jmp    0xa7c8b3
a7c87d:	f7 46 04 00 08 00 00 	testl  $0x800,0x4(%esi)
a7c884:	74 0a                	je     0xa7c890
a7c886:	8b 06                	mov    (%esi),%eax
a7c888:	8b 56 04             	mov    0x4(%esi),%edx
a7c88b:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7c88e:	eb 2f                	jmp    0xa7c8bf
a7c890:	56                   	push   %esi
a7c891:	eb 08                	jmp    0xa7c89b
a7c893:	8b 45 14             	mov    0x14(%ebp),%eax
a7c896:	39 08                	cmp    %ecx,(%eax)
a7c898:	74 25                	je     0xa7c8bf
a7c89a:	50                   	push   %eax
a7c89b:	8d 45 c4             	lea    -0x3c(%ebp),%eax
a7c89e:	50                   	push   %eax
a7c89f:	6a 20                	push   $0x20
a7c8a1:	8d 4d ac             	lea    -0x54(%ebp),%ecx
a7c8a4:	e8 5f 6f 9a ff       	call   0x423808
a7c8a9:	8b c8                	mov    %eax,%ecx
a7c8ab:	e8 ee f7 99 ff       	call   0x41c09e
a7c8b0:	8d 45 c4             	lea    -0x3c(%ebp),%eax
a7c8b3:	50                   	push   %eax
a7c8b4:	8d 4d ec             	lea    -0x14(%ebp),%ecx
a7c8b7:	e8 38 e2 9a ff       	call   0x42aaf4
a7c8bc:	8b 55 f0             	mov    -0x10(%ebp),%edx
a7c8bf:	0b d7                	or     %edi,%edx
a7c8c1:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
a7c8c5:	74 06                	je     0xa7c8cd
a7c8c7:	81 ca 00 20 00 00    	or     $0x2000,%edx
a7c8cd:	8b 45 08             	mov    0x8(%ebp),%eax
a7c8d0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
a7c8d3:	89 08                	mov    %ecx,(%eax)
a7c8d5:	89 50 04             	mov    %edx,0x4(%eax)
a7c8d8:	e9 8e 00 00 00       	jmp    0xa7c96b
a7c8dd:	8b 45 08             	mov    0x8(%ebp),%eax
a7c8e0:	89 08                	mov    %ecx,(%eax)
a7c8e2:	8b 4d c8             	mov    -0x38(%ebp),%ecx
a7c8e5:	e9 b7 fa ff ff       	jmp    0xa7c3a1
a7c8ea:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
a7c8ee:	75 6e                	jne    0xa7c95e
a7c8f0:	8b 75 0c             	mov    0xc(%ebp),%esi
a7c8f3:	83 3e 00             	cmpl   $0x0,(%esi)
a7c8f6:	74 5b                	je     0xa7c953
a7c8f8:	f7 46 04 00 01 00 00 	testl  $0x100,0x4(%esi)
a7c8ff:	75 42                	jne    0xa7c943
a7c901:	8b 45 14             	mov    0x14(%ebp),%eax
a7c904:	83 38 00             	cmpl   $0x0,(%eax)
a7c907:	74 3a                	je     0xa7c943
a7c909:	50                   	push   %eax
a7c90a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
a7c90d:	50                   	push   %eax
a7c90e:	6a 01                	push   $0x1
a7c910:	8d 4d ac             	lea    -0x54(%ebp),%ecx
a7c913:	e8 56 37 99 ff       	call   0x41006e
a7c918:	8b c8                	mov    %eax,%ecx
a7c91a:	e8 7f f7 99 ff       	call   0x41c09e
a7c91f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
a7c922:	8d 4d cc             	lea    -0x34(%ebp),%ecx
a7c925:	89 45 cc             	mov    %eax,-0x34(%ebp)
a7c928:	8b 45 c8             	mov    -0x38(%ebp),%eax
a7c92b:	6a 20                	push   $0x20
a7c92d:	89 45 d0             	mov    %eax,-0x30(%ebp)
a7c930:	e8 b2 2e 9c ff       	call   0x43f7e7
a7c935:	56                   	push   %esi
a7c936:	ff 75 08             	push   0x8(%ebp)
a7c939:	8d 4d cc             	lea    -0x34(%ebp),%ecx