41c591:	31 40 00             	xor    %eax,0x0(%eax)
41c594:	fc                   	cld
41c595:	c5 41 00             	lds    0x0(%ecx),%eax
41c598:	10 54 52 65          	adc    %dl,0x65(%edx,%edx,2)
41c59c:	73 6f                	jae    0x41c60d
41c59e:	75 72                	jne    0x41c612
41c5a0:	63 65 4d             	arpl   %esp,0x4d(%ebp)
41c5a3:	61                   	popa
41c5a4:	6e                   	outsb  %ds:(%esi),(%dx)
41c5a5:	61                   	popa
41c5a6:	67 65 72 8d          	addr16 gs jb 0x41c537
41c5aa:	40                   	inc    %eax
41c5ab:	00 89 d1 89 c2 31    	add    %cl,0x31c289d1(%ecx)
41c5b1:	c0 66 c1 c0          	shlb   $0xc0,-0x3f(%esi)
41c5b5:	05 32 02 42 49       	add    $0x49420232,%eax
41c5ba:	75 f6                	jne    0x41c5b2
41c5bc:	c3                   	ret
41c5bd:	8d 40 00             	lea    0x0(%eax),%eax
41c5c0:	53                   	push   %ebx
41c5c1:	56                   	push   %esi
41c5c2:	84 d2                	test   %dl,%dl
41c5c4:	74 08                	je     0x41c5ce
41c5c6:	83 c4 f0             	add    $0xfffffff0,%esp
41c5c9:	e8 9e 6f fe ff       	call   0x40356c
41c5ce:	8b da                	mov    %edx,%ebx
41c5d0:	8b f0                	mov    %eax,%esi
41c5d2:	66 89 4e 20          	mov    %cx,0x20(%esi)
41c5d6:	8d 46 08             	lea    0x8(%esi),%eax
41c5d9:	50                   	push   %eax
41c5da:	e8 3d 9b fe ff       	call   0x40611c
41c5df:	8b c6                	mov    %esi,%eax
41c5e1:	84 db                	test   %bl,%bl
41c5e3:	74 0f                	je     0x41c5f4
41c5e5:	e8 da 6f fe ff       	call   0x4035c4
41c5ea:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41c5f1:	83 c4 0c             	add    $0xc,%esp
41c5f4:	8b c6                	mov    %esi,%eax
41c5f6:	5e                   	pop    %esi
41c5f7:	5b                   	pop    %ebx
41c5f8:	c3                   	ret
41c5f9:	8d 40 00             	lea    0x0(%eax),%eax
41c5fc:	53                   	push   %ebx
41c5fd:	56                   	push   %esi
41c5fe:	e8 d1 6f fe ff       	call   0x4035d4
41c603:	8b da                	mov    %edx,%ebx
41c605:	8b f0                	mov    %eax,%esi
41c607:	8d 46 08             	lea    0x8(%esi),%eax
41c60a:	50                   	push   %eax
41c60b:	e8 a4 99 fe ff       	call   0x405fb4
41c610:	84 db                	test   %bl,%bl
41c612:	7e 07                	jle    0x41c61b
41c614:	8b c6                	mov    %esi,%eax
41c616:	e8 a1 6f fe ff       	call   0x4035bc
41c61b:	5e                   	pop    %esi
41c61c:	5b                   	pop    %ebx
41c61d:	c3                   	ret
41c61e:	8b c0                	mov    %eax,%eax
41c620:	83 c0 08             	add    $0x8,%eax
41c623:	50                   	push   %eax
41c624:	e8 93 99 fe ff       	call   0x405fbc
41c629:	c3                   	ret
41c62a:	8b c0                	mov    %eax,%eax
41c62c:	83 c0 08             	add    $0x8,%eax
41c62f:	50                   	push   %eax
41c630:	e8 ef 9a fe ff       	call   0x406124
41c635:	c3                   	ret
41c636:	8b c0                	mov    %eax,%eax
41c638:	55                   	push   %ebp
41c639:	8b ec                	mov    %esp,%ebp
41c63b:	83 c4 f8             	add    $0xfffffff8,%esp
41c63e:	53                   	push   %ebx
41c63f:	56                   	push   %esi
41c640:	8b da                	mov    %edx,%ebx
41c642:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c645:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c648:	0f b7 50 20          	movzwl 0x20(%eax),%edx
41c64c:	8b c3                	mov    %ebx,%eax
41c64e:	e8 59 ff ff ff       	call   0x41c5ac
41c653:	8b f0                	mov    %eax,%esi
41c655:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c658:	e8 c3 ff ff ff       	call   0x41c620
41c65d:	33 d2                	xor    %edx,%edx
41c65f:	55                   	push   %ebp
41c660:	68 0c c7 41 00       	push   $0x41c70c
41c665:	64 ff 32             	push   %fs:(%edx)
41c668:	64 89 22             	mov    %esp,%fs:(%edx)
41c66b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c66e:	8b 40 04             	mov    0x4(%eax),%eax
41c671:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c674:	eb 08                	jmp    0x41c67e
41c676:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c679:	8b 00                	mov    (%eax),%eax
41c67b:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c67e:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41c682:	74 21                	je     0x41c6a5
41c684:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c687:	66 3b 70 0c          	cmp    0xc(%eax),%si
41c68b:	75 e9                	jne    0x41c676
41c68d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c690:	0f b7 48 20          	movzwl 0x20(%eax),%ecx
41c694:	8b d3                	mov    %ebx,%edx
41c696:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c699:	83 c0 10             	add    $0x10,%eax
41c69c:	e8 6b b5 fe ff       	call   0x407c0c
41c6a1:	84 c0                	test   %al,%al
41c6a3:	74 d1                	je     0x41c676
41c6a5:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41c6a9:	75 45                	jne    0x41c6f0
41c6ab:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c6ae:	0f b7 40 20          	movzwl 0x20(%eax),%eax
41c6b2:	83 c0 10             	add    $0x10,%eax
41c6b5:	e8 02 60 fe ff       	call   0x4026bc
41c6ba:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c6bd:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c6c0:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c6c3:	8b 52 04             	mov    0x4(%edx),%edx
41c6c6:	89 10                	mov    %edx,(%eax)
41c6c8:	33 d2                	xor    %edx,%edx
41c6ca:	89 50 04             	mov    %edx,0x4(%eax)
41c6cd:	8b 13                	mov    (%ebx),%edx
41c6cf:	89 50 08             	mov    %edx,0x8(%eax)
41c6d2:	66 89 70 0c          	mov    %si,0xc(%eax)
41c6d6:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c6d9:	0f b7 4a 20          	movzwl 0x20(%edx),%ecx
41c6dd:	8d 50 10             	lea    0x10(%eax),%edx
41c6e0:	8b c3                	mov    %ebx,%eax
41c6e2:	e8 d1 61 fe ff       	call   0x4028b8
41c6e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c6ea:	8b 55 f8             	mov    -0x8(%ebp),%edx
41c6ed:	89 50 04             	mov    %edx,0x4(%eax)
41c6f0:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c6f3:	ff 40 04             	incl   0x4(%eax)
41c6f6:	33 c0                	xor    %eax,%eax
41c6f8:	5a                   	pop    %edx
41c6f9:	59                   	pop    %ecx
41c6fa:	59                   	pop    %ecx
41c6fb:	64 89 10             	mov    %edx,%fs:(%eax)
41c6fe:	68 13 c7 41 00       	push   $0x41c713
41c703:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c706:	e8 21 ff ff ff       	call   0x41c62c
41c70b:	c3                   	ret
41c70c:	e9 8b 72 fe ff       	jmp    0x40399c
41c711:	eb f0                	jmp    0x41c703
41c713:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c716:	5e                   	pop    %esi
41c717:	5b                   	pop    %ebx
41c718:	59                   	pop    %ecx
41c719:	59                   	pop    %ecx
41c71a:	5d                   	pop    %ebp
41c71b:	c3                   	ret
41c71c:	55                   	push   %ebp
41c71d:	8b ec                	mov    %esp,%ebp
41c71f:	83 c4 f0             	add    $0xfffffff0,%esp
41c722:	89 55 f8             	mov    %edx,-0x8(%ebp)
41c725:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c728:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41c72c:	0f 84 96 00 00 00    	je     0x41c7c8
41c732:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c735:	89 45 f0             	mov    %eax,-0x10(%ebp)
41c738:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c73b:	e8 e0 fe ff ff       	call   0x41c620
41c740:	33 c9                	xor    %ecx,%ecx
41c742:	55                   	push   %ebp
41c743:	68 a3 c7 41 00       	push   $0x41c7a3
41c748:	64 ff 31             	push   %fs:(%ecx)
41c74b:	64 89 21             	mov    %esp,%fs:(%ecx)
41c74e:	8b 45 f0             	mov    -0x10(%ebp),%eax
41c751:	ff 48 04             	decl   0x4(%eax)
41c754:	8b 45 f0             	mov    -0x10(%ebp),%eax
41c757:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
41c75b:	0f 94 45 f7          	sete   -0x9(%ebp)
41c75f:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
41c763:	74 28                	je     0x41c78d
41c765:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c768:	8b 40 04             	mov    0x4(%eax),%eax
41c76b:	3b 45 f8             	cmp    -0x8(%ebp),%eax
41c76e:	75 0f                	jne    0x41c77f
41c770:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c773:	8b 00                	mov    (%eax),%eax
41c775:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c778:	89 42 04             	mov    %eax,0x4(%edx)
41c77b:	eb 10                	jmp    0x41c78d
41c77d:	8b c2                	mov    %edx,%eax
41c77f:	8b 10                	mov    (%eax),%edx
41c781:	3b 55 f8             	cmp    -0x8(%ebp),%edx
41c784:	75 f7                	jne    0x41c77d
41c786:	8b 55 f8             	mov    -0x8(%ebp),%edx
41c789:	8b 12                	mov    (%edx),%edx
41c78b:	89 10                	mov    %edx,(%eax)
41c78d:	33 c0                	xor    %eax,%eax
41c78f:	5a                   	pop    %edx
41c790:	59                   	pop    %ecx
41c791:	59                   	pop    %ecx
41c792:	64 89 10             	mov    %edx,%fs:(%eax)
41c795:	68 aa c7 41 00       	push   $0x41c7aa
41c79a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c79d:	e8 8a fe ff ff       	call   0x41c62c
41c7a2:	c3                   	ret
41c7a3:	e9 f4 71 fe ff       	jmp    0x40399c
41c7a8:	eb f0                	jmp    0x41c79a
41c7aa:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
41c7ae:	74 18                	je     0x41c7c8
41c7b0:	8b 45 f0             	mov    -0x10(%ebp),%eax
41c7b3:	8b 40 08             	mov    0x8(%eax),%eax
41c7b6:	85 c0                	test   %eax,%eax
41c7b8:	74 06                	je     0x41c7c0
41c7ba:	50                   	push   %eax
41c7bb:	e8 9c 9a fe ff       	call   0x40625c
41c7c0:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c7c3:	e8 14 5f fe ff       	call   0x4026dc
41c7c8:	8b e5                	mov    %ebp,%esp
41c7ca:	5d                   	pop    %ebp
41c7cb:	c3                   	ret
41c7cc:	55                   	push   %ebp
41c7cd:	8b ec                	mov    %esp,%ebp
41c7cf:	83 c4 f8             	add    $0xfffffff8,%esp
41c7d2:	53                   	push   %ebx
41c7d3:	56                   	push   %esi
41c7d4:	57                   	push   %edi
41c7d5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41c7d8:	8b da                	mov    %edx,%ebx
41c7da:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c7dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c7e0:	e8 3b fe ff ff       	call   0x41c620
41c7e5:	33 c0                	xor    %eax,%eax
41c7e7:	55                   	push   %ebp
41c7e8:	68 35 c8 41 00       	push   $0x41c835
41c7ed:	64 ff 30             	push   %fs:(%eax)
41c7f0:	64 89 20             	mov    %esp,%fs:(%eax)
41c7f3:	8b 7b 10             	mov    0x10(%ebx),%edi
41c7f6:	8b 55 f8             	mov    -0x8(%ebp),%edx
41c7f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c7fc:	e8 37 fe ff ff       	call   0x41c638
41c801:	8b f0                	mov    %eax,%esi
41c803:	89 73 10             	mov    %esi,0x10(%ebx)
41c806:	3b fe                	cmp    %esi,%edi
41c808:	74 0b                	je     0x41c815
41c80a:	8b c3                	mov    %ebx,%eax
41c80c:	66 be fd ff          	mov    $0xfffd,%si
41c810:	e8 2f 6c fe ff       	call   0x403444
41c815:	8b d7                	mov    %edi,%edx
41c817:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c81a:	e8 fd fe ff ff       	call   0x41c71c
41c81f:	33 c0                	xor    %eax,%eax
41c821:	5a                   	pop    %edx
41c822:	59                   	pop    %ecx
41c823:	59                   	pop    %ecx
41c824:	64 89 10             	mov    %edx,%fs:(%eax)
41c827:	68 3c c8 41 00       	push   $0x41c83c
41c82c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c82f:	e8 f8 fd ff ff       	call   0x41c62c
41c834:	c3                   	ret
41c835:	e9 62 71 fe ff       	jmp    0x40399c
41c83a:	eb f0                	jmp    0x41c82c
41c83c:	5f                   	pop    %edi
41c83d:	5e                   	pop    %esi
41c83e:	5b                   	pop    %ebx
41c83f:	59                   	pop    %ecx
41c840:	59                   	pop    %ecx
41c841:	5d                   	pop    %ebp
41c842:	c3                   	ret
41c843:	90                   	nop
41c844:	55                   	push   %ebp
41c845:	8b ec                	mov    %esp,%ebp
41c847:	51                   	push   %ecx
41c848:	53                   	push   %ebx
41c849:	56                   	push   %esi
41c84a:	57                   	push   %edi
41c84b:	8b f9                	mov    %ecx,%edi
41c84d:	8b f2                	mov    %edx,%esi
41c84f:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c852:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c855:	e8 c6 fd ff ff       	call   0x41c620
41c85a:	33 c0                	xor    %eax,%eax
41c85c:	55                   	push   %ebp
41c85d:	68 a0 c8 41 00       	push   $0x41c8a0
41c862:	64 ff 30             	push   %fs:(%eax)
41c865:	64 89 20             	mov    %esp,%fs:(%eax)
41c868:	8b 5e 10             	mov    0x10(%esi),%ebx
41c86b:	3b fb                	cmp    %ebx,%edi
41c86d:	74 1b                	je     0x41c88a
41c86f:	ff 47 04             	incl   0x4(%edi)
41c872:	89 7e 10             	mov    %edi,0x10(%esi)
41c875:	8b c6                	mov    %esi,%eax
41c877:	66 be fd ff          	mov    $0xfffd,%si
41c87b:	e8 c4 6b fe ff       	call   0x403444
41c880:	8b d3                	mov    %ebx,%edx
41c882:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c885:	e8 92 fe ff ff       	call   0x41c71c
41c88a:	33 c0                	xor    %eax,%eax
41c88c:	5a                   	pop    %edx
41c88d:	59                   	pop    %ecx
41c88e:	59                   	pop    %ecx
41c88f:	64 89 10             	mov    %edx,%fs:(%eax)
41c892:	68 a7 c8 41 00       	push   $0x41c8a7
41c897:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c89a:	e8 8d fd ff ff       	call   0x41c62c
41c89f:	c3                   	ret
41c8a0:	e9 f7 70 fe ff       	jmp    0x40399c
41c8a5:	eb f0                	jmp    0x41c897
41c8a7:	5f                   	pop    %edi
41c8a8:	5e                   	pop    %esi
41c8a9:	5b                   	pop    %ebx
41c8aa:	59                   	pop    %ecx
41c8ab:	5d                   	pop    %ebp
41c8ac:	c3                   	ret
41c8ad:	8d 40 00             	lea    0x0(%eax),%eax
41c8b0:	55                   	push   %ebp
41c8b1:	8b ec                	mov    %esp,%ebp
41c8b3:	51                   	push   %ecx
41c8b4:	53                   	push   %ebx
41c8b5:	56                   	push   %esi
41c8b6:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c8b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c8bc:	e8 5f fd ff ff       	call   0x41c620
41c8c1:	33 d2                	xor    %edx,%edx
41c8c3:	55                   	push   %ebp
41c8c4:	68 0f c9 41 00       	push   $0x41c90f
41c8c9:	64 ff 32             	push   %fs:(%edx)
41c8cc:	64 89 22             	mov    %esp,%fs:(%edx)
41c8cf:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c8d2:	8b 58 04             	mov    0x4(%eax),%ebx
41c8d5:	85 db                	test   %ebx,%ebx
41c8d7:	74 20                	je     0x41c8f9
41c8d9:	8b f3                	mov    %ebx,%esi
41c8db:	8b 46 08             	mov    0x8(%esi),%eax
41c8de:	85 c0                	test   %eax,%eax
41c8e0:	74 11                	je     0x41c8f3
41c8e2:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
41c8e6:	7d 0b                	jge    0x41c8f3
41c8e8:	50                   	push   %eax
41c8e9:	e8 6e 99 fe ff       	call   0x40625c
41c8ee:	33 c0                	xor    %eax,%eax
41c8f0:	89 46 08             	mov    %eax,0x8(%esi)
41c8f3:	8b 1b                	mov    (%ebx),%ebx
41c8f5:	85 db                	test   %ebx,%ebx
41c8f7:	75 e0                	jne    0x41c8d9
41c8f9:	33 c0                	xor    %eax,%eax
41c8fb:	5a                   	pop    %edx
41c8fc:	59                   	pop    %ecx
41c8fd:	59                   	pop    %ecx
41c8fe:	64 89 10             	mov    %edx,%fs:(%eax)
41c901:	68 16 c9 41 00       	push   $0x41c916
41c906:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c909:	e8 1e fd ff ff       	call   0x41c62c
41c90e:	c3                   	ret
41c90f:	e9 88 70 fe ff       	jmp    0x40399c
41c914:	eb f0                	jmp    0x41c906
41c916:	5e                   	pop    %esi
41c917:	5b                   	pop    %ebx