41c4ce:	75 f8                	jne    0x41c4c8
41c4d0:	e9 b4 dc fe ff       	jmp    0x40a189
41c4d5:	83 fe 5f             	cmp    $0x5f,%esi
41c4d8:	0f 83 26 dd fe ff    	jae    0x40a204
41c4de:	83 fe 1f             	cmp    $0x1f,%esi
41c4e1:	76 11                	jbe    0x41c4f4
41c4e3:	8d 46 e0             	lea    -0x20(%esi),%eax
41c4e6:	c1 e8 05             	shr    $0x5,%eax
41c4e9:	40                   	inc    %eax
41c4ea:	8b f8                	mov    %eax,%edi
41c4ec:	83 e9 20             	sub    $0x20,%ecx
41c4ef:	83 e8 01             	sub    $0x1,%eax
41c4f2:	75 f8                	jne    0x41c4ec
41c4f4:	8b 04 bd ac 67 43 00 	mov    0x4367ac(,%edi,4),%eax
41c4fb:	0f b3 c8             	btr    %ecx,%eax
41c4fe:	89 04 bd ac 67 43 00 	mov    %eax,0x4367ac(,%edi,4)
41c505:	e9 fa dc fe ff       	jmp    0x40a204
41c50a:	8d 71 e0             	lea    -0x20(%ecx),%esi
41c50d:	c1 ee 05             	shr    $0x5,%esi
41c510:	46                   	inc    %esi
41c511:	6b c6 e0             	imul   $0xffffffe0,%esi,%eax
41c514:	03 c8                	add    %eax,%ecx
41c516:	e9 21 dd fe ff       	jmp    0x40a23c
41c51b:	33 c0                	xor    %eax,%eax
41c51d:	50                   	push   %eax
41c51e:	e8 4d 59 ff ff       	call   0x411e70
41c523:	85 c0                	test   %eax,%eax
41c525:	74 f4                	je     0x41c51b
41c527:	e9 61 02 00 00       	jmp    0x41c78d
41c52c:	c7 05 1c 95 44 00 01 	movl   $0x1,0x44951c
41c533:	00 00 00
41c536:	e9 57 df fe ff       	jmp    0x40a492
41c53b:	c6 05 50 90 44 00 01 	movb   $0x1,0x449050
41c542:	e9 4b df fe ff       	jmp    0x40a492
41c547:	33 c0                	xor    %eax,%eax
41c549:	a2 50 90 44 00       	mov    %al,0x449050
41c54e:	e9 3f df fe ff       	jmp    0x40a492
41c553:	33 c0                	xor    %eax,%eax
41c555:	a2 55 67 43 00       	mov    %al,0x436755
41c55a:	e9 33 df fe ff       	jmp    0x40a492
41c55f:	8b 7d 0c             	mov    0xc(%ebp),%edi
41c562:	8b c6                	mov    %esi,%eax
41c564:	2b c3                	sub    %ebx,%eax
41c566:	8b ce                	mov    %esi,%ecx
41c568:	d1 f8                	sar    $1,%eax
41c56a:	2b f8                	sub    %eax,%edi
41c56c:	8d 46 04             	lea    0x4(%esi),%eax
41c56f:	50                   	push   %eax
41c570:	8b d7                	mov    %edi,%edx
41c572:	e8 29 2e ff ff       	call   0x40f3a0
41c577:	6a 3a                	push   $0x3a
41c579:	58                   	pop    %eax
41c57a:	66 39 06             	cmp    %ax,(%esi)
41c57d:	75 22                	jne    0x41c5a1
41c57f:	6a 03                	push   $0x3
41c581:	8d 46 02             	lea    0x2(%esi),%eax
41c584:	68 d4 3c 40 00       	push   $0x403cd4
41c589:	50                   	push   %eax
41c58a:	ff 15 28 a4 44 00    	call   *0x44a428
41c590:	83 c4 0c             	add    $0xc,%esp
41c593:	85 c0                	test   %eax,%eax
41c595:	75 0a                	jne    0x41c5a1
41c597:	a2 55 67 43 00       	mov    %al,0x436755
41c59c:	e9 a6 00 00 00       	jmp    0x41c647
41c5a1:	c6 05 55 67 43 00 01 	movb   $0x1,0x436755
41c5a8:	e9 b1 00 00 00       	jmp    0x41c65e
41c5ad:	8b 7d 0c             	mov    0xc(%ebp),%edi
41c5b0:	8b c6                	mov    %esi,%eax
41c5b2:	2b c3                	sub    %ebx,%eax
41c5b4:	8b ce                	mov    %esi,%ecx
41c5b6:	d1 f8                	sar    $1,%eax
41c5b8:	2b f8                	sub    %eax,%edi
41c5ba:	8d 46 04             	lea    0x4(%esi),%eax
41c5bd:	50                   	push   %eax
41c5be:	8b d7                	mov    %edi,%edx
41c5c0:	e8 db 2d ff ff       	call   0x40f3a0
41c5c5:	6a 3a                	push   $0x3a
41c5c7:	58                   	pop    %eax
41c5c8:	66 39 06             	cmp    %ax,(%esi)
41c5cb:	75 29                	jne    0x41c5f6
41c5cd:	6a 03                	push   $0x3
41c5cf:	8d 46 02             	lea    0x2(%esi),%eax
41c5d2:	68 d4 3c 40 00       	push   $0x403cd4
41c5d7:	50                   	push   %eax
41c5d8:	ff 15 28 a4 44 00    	call   *0x44a428
41c5de:	83 c4 0c             	add    $0xc,%esp
41c5e1:	85 c0                	test   %eax,%eax
41c5e3:	75 11                	jne    0x41c5f6
41c5e5:	6a 20                	push   $0x20
41c5e7:	58                   	pop    %eax
41c5e8:	66 a3 d0 e0 42 00    	mov    %ax,0x42e0d0
41c5ee:	66 a3 cc e0 42 00    	mov    %ax,0x42e0cc
41c5f4:	eb 51                	jmp    0x41c647
41c5f6:	6a 06                	push   $0x6
41c5f8:	58                   	pop    %eax
41c5f9:	6a 04                	push   $0x4
41c5fb:	66 a3 d0 e0 42 00    	mov    %ax,0x42e0d0
41c601:	58                   	pop    %eax
41c602:	66 a3 cc e0 42 00    	mov    %ax,0x42e0cc
41c608:	eb 54                	jmp    0x41c65e
41c60a:	8b 7d 0c             	mov    0xc(%ebp),%edi
41c60d:	8b c6                	mov    %esi,%eax
41c60f:	2b c3                	sub    %ebx,%eax
41c611:	8b ce                	mov    %esi,%ecx
41c613:	d1 f8                	sar    $1,%eax
41c615:	2b f8                	sub    %eax,%edi
41c617:	8d 46 04             	lea    0x4(%esi),%eax
41c61a:	50                   	push   %eax
41c61b:	8b d7                	mov    %edi,%edx
41c61d:	e8 7e 2d ff ff       	call   0x40f3a0
41c622:	6a 3a                	push   $0x3a
41c624:	58                   	pop    %eax
41c625:	66 39 06             	cmp    %ax,(%esi)
41c628:	75 2d                	jne    0x41c657
41c62a:	6a 03                	push   $0x3
41c62c:	8d 46 02             	lea    0x2(%esi),%eax
41c62f:	68 d4 3c 40 00       	push   $0x403cd4
41c634:	50                   	push   %eax
41c635:	ff 15 28 a4 44 00    	call   *0x44a428
41c63b:	83 c4 0c             	add    $0xc,%esp
41c63e:	85 c0                	test   %eax,%eax
41c640:	75 15                	jne    0x41c657
41c642:	a2 54 67 43 00       	mov    %al,0x436754
41c647:	8d 46 08             	lea    0x8(%esi),%eax
41c64a:	eb 03                	jmp    0x41c64f
41c64c:	8d 46 06             	lea    0x6(%esi),%eax
41c64f:	50                   	push   %eax
41c650:	8b d7                	mov    %edi,%edx
41c652:	e9 c8 df fe ff       	jmp    0x40a61f
41c657:	c6 05 54 67 43 00 01 	movb   $0x1,0x436754
41c65e:	6a 03                	push   $0x3
41c660:	68 dc 3c 40 00       	push   $0x403cdc
41c665:	56                   	push   %esi
41c666:	ff 15 28 a4 44 00    	call   *0x44a428
41c66c:	83 c4 0c             	add    $0xc,%esp
41c66f:	85 c0                	test   %eax,%eax
41c671:	0f 85 af df fe ff    	jne    0x40a626
41c677:	eb d3                	jmp    0x41c64c
41c679:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
41c680:	0f 84 80 df fe ff    	je     0x40a606
41c686:	6a 3a                	push   $0x3a
41c688:	8d 7e 04             	lea    0x4(%esi),%edi
41c68b:	58                   	pop    %eax
41c68c:	66 39 07             	cmp    %ax,(%edi)
41c68f:	0f 85 b2 00 00 00    	jne    0x41c747
41c695:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c699:	50                   	push   %eax
41c69a:	ff 15 b4 a3 44 00    	call   *0x44a3b4
41c6a0:	59                   	pop    %ecx
41c6a1:	85 c0                	test   %eax,%eax
41c6a3:	0f 84 9e 00 00 00    	je     0x41c747
41c6a9:	0f b7 46 08          	movzwl 0x8(%esi),%eax
41c6ad:	50                   	push   %eax
41c6ae:	ff 15 b4 a3 44 00    	call   *0x44a3b4
41c6b4:	59                   	pop    %ecx
41c6b5:	85 c0                	test   %eax,%eax
41c6b7:	0f 84 8a 00 00 00    	je     0x41c747
41c6bd:	0f b7 46 0a          	movzwl 0xa(%esi),%eax
41c6c1:	50                   	push   %eax
41c6c2:	ff 15 b4 a3 44 00    	call   *0x44a3b4
41c6c8:	59                   	pop    %ecx
41c6c9:	85 c0                	test   %eax,%eax
41c6cb:	75 7a                	jne    0x41c747
41c6cd:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c6d1:	50                   	push   %eax
41c6d2:	ff 15 34 a4 44 00    	call   *0x44a434
41c6d8:	59                   	pop    %ecx
41c6d9:	0f b7 4e 06          	movzwl 0x6(%esi),%ecx
41c6dd:	85 c0                	test   %eax,%eax
41c6df:	74 05                	je     0x41c6e6
41c6e1:	8d 41 d0             	lea    -0x30(%ecx),%eax
41c6e4:	eb 0e                	jmp    0x41c6f4
41c6e6:	51                   	push   %ecx
41c6e7:	ff 15 10 a4 44 00    	call   *0x44a410
41c6ed:	59                   	pop    %ecx
41c6ee:	6a 57                	push   $0x57
41c6f0:	59                   	pop    %ecx
41c6f1:	66 2b c1             	sub    %cx,%ax
41c6f4:	0f b7 c0             	movzwl %ax,%eax
41c6f7:	c1 e0 04             	shl    $0x4,%eax
41c6fa:	66 a3 64 67 43 00    	mov    %ax,0x436764
41c700:	0f b7 46 08          	movzwl 0x8(%esi),%eax
41c704:	50                   	push   %eax
41c705:	ff 15 34 a4 44 00    	call   *0x44a434
41c70b:	59                   	pop    %ecx
41c70c:	0f b7 4e 08          	movzwl 0x8(%esi),%ecx
41c710:	85 c0                	test   %eax,%eax
41c712:	74 05                	je     0x41c719
41c714:	8d 41 d0             	lea    -0x30(%ecx),%eax
41c717:	eb 0e                	jmp    0x41c727
41c719:	51                   	push   %ecx
41c71a:	ff 15 10 a4 44 00    	call   *0x44a410
41c720:	59                   	pop    %ecx
41c721:	6a 57                	push   $0x57
41c723:	59                   	pop    %ecx
41c724:	66 2b c1             	sub    %cx,%ax
41c727:	8b 55 0c             	mov    0xc(%ebp),%edx
41c72a:	8b cf                	mov    %edi,%ecx
41c72c:	0f b7 c0             	movzwl %ax,%eax
41c72f:	66 09 05 64 67 43 00 	or     %ax,0x436764
41c736:	8d 46 0a             	lea    0xa(%esi),%eax
41c739:	50                   	push   %eax
41c73a:	8b c6                	mov    %esi,%eax
41c73c:	2b c3                	sub    %ebx,%eax
41c73e:	d1 f8                	sar    $1,%eax
41c740:	2b d0                	sub    %eax,%edx
41c742:	e8 59 2c ff ff       	call   0x40f3a0
41c747:	8b 55 0c             	mov    0xc(%ebp),%edx
41c74a:	8b c6                	mov    %esi,%eax
41c74c:	2b c3                	sub    %ebx,%eax
41c74e:	d1 f8                	sar    $1,%eax
41c750:	2b d0                	sub    %eax,%edx
41c752:	e9 c7 de fe ff       	jmp    0x40a61e
41c757:	c7 05 4c 90 44 00 01 	movl   $0x1,0x44904c
41c75e:	00 00 00
41c761:	e9 e7 db fe ff       	jmp    0x40a34d
41c766:	33 c0                	xor    %eax,%eax
41c768:	50                   	push   %eax
41c769:	e8 02 57 ff ff       	call   0x411e70
41c76e:	85 c0                	test   %eax,%eax
41c770:	74 f4                	je     0x41c766
41c772:	eb 19                	jmp    0x41c78d
41c774:	33 db                	xor    %ebx,%ebx
41c776:	53                   	push   %ebx
41c777:	68 df 23 00 40       	push   $0x400023df
41c77c:	e8 63 b1 fe ff       	call   0x4078e4
41c781:	59                   	pop    %ecx
41c782:	59                   	pop    %ecx
41c783:	53                   	push   %ebx
41c784:	e8 e7 56 ff ff       	call   0x411e70
41c789:	85 c0                	test   %eax,%eax
41c78b:	74 f6                	je     0x41c783
41c78d:	6a 01                	push   $0x1
41c78f:	eb 01                	jmp    0x41c792
41c791:	56                   	push   %esi
41c792:	ff 15 a4 a3 44 00    	call   *0x44a3a4
41c798:	83 ff 03             	cmp    $0x3,%edi
41c79b:	0f 85 b6 dc fe ff    	jne    0x40a457
41c7a1:	33 db                	xor    %ebx,%ebx
41c7a3:	53                   	push   %ebx
41c7a4:	ff 35 a8 67 43 00    	push   0x4367a8
41c7aa:	e8 35 b1 fe ff       	call   0x4078e4
41c7af:	8b 35 a8 67 43 00    	mov    0x4367a8,%esi
41c7b5:	59                   	pop    %ecx
41c7b6:	59                   	pop    %ecx
41c7b7:	53                   	push   %ebx
41c7b8:	e8 b3 56 ff ff       	call   0x411e70
41c7bd:	85 c0                	test   %eax,%eax
41c7bf:	74 f6                	je     0x41c7b7
41c7c1:	eb ce                	jmp    0x41c791
41c7c3:	8b 44 24 20          	mov    0x20(%esp),%eax
41c7c7:	66 89 03             	mov    %ax,(%ebx)
41c7ca:	e9 41 dc fe ff       	jmp    0x40a410
41c7cf:	8b 35 a8 67 43 00    	mov    0x4367a8,%esi
41c7d5:	33 c0                	xor    %eax,%eax
41c7d7:	50                   	push   %eax
41c7d8:	e8 93 56 ff ff       	call   0x411e70
41c7dd:	85 c0                	test   %eax,%eax
41c7df:	74 f4                	je     0x41c7d5
41c7e1:	eb ae                	jmp    0x41c791
41c7e3:	e8 26 d2 00 00       	call   0x429a0e
41c7e8:	33 db                	xor    %ebx,%ebx
41c7ea:	39 1d 9c 25 43 00    	cmp    %ebx,0x43259c
41c7f0:	0f 85 84 00 00 00    	jne    0x41c87a
41c7f6:	53                   	push   %ebx
41c7f7:	68 99 23 00 40       	push   $0x40002399
41c7fc:	e8 bc 9b fe ff       	call   0x4063bd
41c801:	59                   	pop    %ecx
41c802:	59                   	pop    %ecx
41c803:	39 1d 9c 25 43 00    	cmp    %ebx,0x43259c
41c809:	75 6f                	jne    0x41c87a
41c80b:	53                   	push   %ebx
41c80c:	68 9a 23 00 40       	push   $0x4000239a
41c811:	e8 a7 9b fe ff       	call   0x4063bd
41c816:	59                   	pop    %ecx
41c817:	59                   	pop    %ecx
41c818:	38 5c 24 0f          	cmp    %bl,0xf(%esp)
41c81c:	75 08                	jne    0x41c826
41c81e:	38 1d 55 67 43 00    	cmp    %bl,0x436755
41c824:	74 54                	je     0x41c87a
41c826:	39 1d 9c 25 43 00    	cmp    %ebx,0x43259c
41c82c:	75 4c                	jne    0x41c87a
41c82e:	53                   	push   %ebx
41c82f:	68 9b 23 00 40       	push   $0x4000239b
41c834:	e8 84 9b fe ff       	call   0x4063bd
41c839:	59                   	pop    %ecx
41c83a:	59                   	pop    %ecx
41c83b:	39 1d 9c 25 43 00    	cmp    %ebx,0x43259c
41c841:	75 37                	jne    0x41c87a
41c843:	53                   	push   %ebx
41c844:	68 9c 23 00 40       	push   $0x4000239c
41c849:	e8 6f 9b fe ff       	call   0x4063bd
41c84e:	59                   	pop    %ecx
41c84f:	59                   	pop    %ecx
41c850:	39 1d 9c 25 43 00    	cmp    %ebx,0x43259c
41c856:	75 22                	jne    0x41c87a
41c858:	53                   	push   %ebx
41c859:	68 9d 23 00 40       	push   $0x4000239d
41c85e:	e8 5a 9b fe ff       	call   0x4063bd
41c863:	59                   	pop    %ecx
41c864:	59                   	pop    %ecx
41c865:	39 1d 9c 25 43 00    	cmp    %ebx,0x43259c
41c86b:	75 0d                	jne    0x41c87a
41c86d:	53                   	push   %ebx
41c86e:	68 9e 23 00 40       	push   $0x4000239e
41c873:	e8 45 9b fe ff       	call   0x4063bd
41c878:	59                   	pop    %ecx
41c879:	59                   	pop    %ecx
41c87a:	88 1d 5b 90 44 00    	mov    %bl,0x44905b
41c880:	89 1d 0c 95 44 00    	mov    %ebx,0x44950c
41c886:	53                   	push   %ebx
41c887:	e8 e4 55 ff ff       	call   0x411e70
41c88c:	85 c0                	test   %eax,%eax
41c88e:	74 f6                	je     0x41c886
41c890:	e9 f8 fe ff ff       	jmp    0x41c78d
41c895:	8b 5c 24 14          	mov    0x14(%esp),%ebx
41c899:	e9 dd db fe ff       	jmp    0x40a47b
41c89e:	8b 4d 04             	mov    0x4(%ebp),%ecx
41c8a1:	57                   	push   %edi
41c8a2:	68 60 41 40 00       	push   $0x404160
41c8a7:	6a 3c                	push   $0x3c
41c8a9:	5a                   	pop    %edx
41c8aa:	e8 25 6c 00 00       	call   0x4234d4
41c8af:	8b c7                	mov    %edi,%eax
41c8b1:	e9 df dd fe ff       	jmp    0x40a695
41c8b6:	8b 4d 04             	mov    0x4(%ebp),%ecx
41c8b9:	56                   	push   %esi
41c8ba:	68 60 41 40 00       	push   $0x404160
41c8bf:	6a 3d                	push   $0x3d
41c8c1:	5a                   	pop    %edx
41c8c2:	e8 0d 6c 00 00       	call   0x4234d4
41c8c7:	e9 c7 dd fe ff       	jmp    0x40a693
41c8cc:	33 c0                	xor    %eax,%eax
41c8ce:	33 ff                	xor    %edi,%edi
41c8d0:	66 a3 f4 4a 44 00    	mov    %ax,0x444af4
41c8d6:	47                   	inc    %edi
41c8d7:	e9 e7 dd fe ff       	jmp    0x40a6c3
41c8dc:	6a 2f                	push   $0x2f
41c8de:	58                   	pop    %eax
41c8df:	66 a3 f0 4a 44 00    	mov    %ax,0x444af0
41c8e5:	6a 3f                	push   $0x3f
41c8e7:	58                   	pop    %eax
41c8e8:	66 a3 f2 4a 44 00    	mov    %ax,0x444af2
41c8ee:	33 c0                	xor    %eax,%eax
41c8f0:	66 a3 f4 4a 44 00    	mov    %ax,0x444af4
41c8f6:	e9 e1 dd fe ff       	jmp    0x40a6dc
41c8fb:	c7 06 3c 00 00 00    	movl   $0x3c,(%esi)
41c901:	89 5e 38             	mov    %ebx,0x38(%esi)
41c904:	e9 6c de fe ff       	jmp    0x40a775
41c909:	e8 4b c0 00 00       	call   0x428959