40563f:	e8 48 bc ff ff       	call   0x40128c
405644:	33 f6                	xor    %esi,%esi
405646:	80 bd e3 fe ff ff 00 	cmpb   $0x0,-0x11d(%ebp)
40564d:	0f 84 e3 00 00 00    	je     0x405736
405653:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
405657:	75 0a                	jne    0x405663
405659:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
40565d:	0f 84 d3 00 00 00    	je     0x405736
405663:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405669:	50                   	push   %eax
40566a:	e8 65 bc ff ff       	call   0x4012d4
40566f:	8b d8                	mov    %eax,%ebx
405671:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405677:	03 d8                	add    %eax,%ebx
405679:	eb 01                	jmp    0x40567c
40567b:	4b                   	dec    %ebx
40567c:	80 3b 2e             	cmpb   $0x2e,(%ebx)
40567f:	74 0a                	je     0x40568b
405681:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405687:	3b d8                	cmp    %eax,%ebx
405689:	75 f0                	jne    0x40567b
40568b:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405691:	3b d8                	cmp    %eax,%ebx
405693:	0f 84 9d 00 00 00    	je     0x405736
405699:	43                   	inc    %ebx
40569a:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
40569e:	74 28                	je     0x4056c8
4056a0:	8b d3                	mov    %ebx,%edx
4056a2:	2b d0                	sub    %eax,%edx
4056a4:	b8 05 01 00 00       	mov    $0x105,%eax
4056a9:	2b c2                	sub    %edx,%eax
4056ab:	50                   	push   %eax
4056ac:	8d 45 ee             	lea    -0x12(%ebp),%eax
4056af:	50                   	push   %eax
4056b0:	53                   	push   %ebx
4056b1:	e8 16 bc ff ff       	call   0x4012cc
4056b6:	6a 02                	push   $0x2
4056b8:	6a 00                	push   $0x0
4056ba:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4056c0:	50                   	push   %eax
4056c1:	e8 f6 bb ff ff       	call   0x4012bc
4056c6:	8b f0                	mov    %eax,%esi
4056c8:	85 f6                	test   %esi,%esi
4056ca:	75 6a                	jne    0x405736
4056cc:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
4056d0:	74 64                	je     0x405736
4056d2:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4056d8:	8b d3                	mov    %ebx,%edx
4056da:	2b d0                	sub    %eax,%edx
4056dc:	b8 05 01 00 00       	mov    $0x105,%eax
4056e1:	2b c2                	sub    %edx,%eax
4056e3:	50                   	push   %eax
4056e4:	8d 45 f3             	lea    -0xd(%ebp),%eax
4056e7:	50                   	push   %eax
4056e8:	53                   	push   %ebx
4056e9:	e8 de bb ff ff       	call   0x4012cc
4056ee:	6a 02                	push   $0x2
4056f0:	6a 00                	push   $0x0
4056f2:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4056f8:	50                   	push   %eax
4056f9:	e8 be bb ff ff       	call   0x4012bc
4056fe:	8b f0                	mov    %eax,%esi
405700:	85 f6                	test   %esi,%esi
405702:	75 32                	jne    0x405736
405704:	c6 45 f5 00          	movb   $0x0,-0xb(%ebp)
405708:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
40570e:	8b d3                	mov    %ebx,%edx
405710:	2b d0                	sub    %eax,%edx
405712:	b8 05 01 00 00       	mov    $0x105,%eax
405717:	2b c2                	sub    %edx,%eax
405719:	50                   	push   %eax
40571a:	8d 45 f3             	lea    -0xd(%ebp),%eax
40571d:	50                   	push   %eax
40571e:	53                   	push   %ebx
40571f:	e8 a8 bb ff ff       	call   0x4012cc
405724:	6a 02                	push   $0x2
405726:	6a 00                	push   $0x0
405728:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
40572e:	50                   	push   %eax
40572f:	e8 88 bb ff ff       	call   0x4012bc
405734:	8b f0                	mov    %eax,%esi
405736:	8b c6                	mov    %esi,%eax
405738:	5e                   	pop    %esi
405739:	5b                   	pop    %ebx
40573a:	8b e5                	mov    %ebp,%esp
40573c:	5d                   	pop    %ebp
40573d:	c3                   	ret
40573e:	00 00                	add    %al,(%eax)
405740:	53                   	push   %ebx
405741:	6f                   	outsl  %ds:(%esi),(%dx)
405742:	66 74 77             	data16 je 0x4057bc
405745:	61                   	popa
405746:	72 65                	jb     0x4057ad
405748:	5c                   	pop    %esp
405749:	42                   	inc    %edx
40574a:	6f                   	outsl  %ds:(%esi),(%dx)
40574b:	72 6c                	jb     0x4057b9
40574d:	61                   	popa
40574e:	6e                   	outsb  %ds:(%esi),(%dx)
40574f:	64 5c                	fs pop %esp
405751:	4c                   	dec    %esp
405752:	6f                   	outsl  %ds:(%esi),(%dx)
405753:	63 61 6c             	arpl   %esp,0x6c(%ecx)
405756:	65 73 00             	gs jae 0x405759
405759:	00 00                	add    %al,(%eax)
40575b:	00 53 6f             	add    %dl,0x6f(%ebx)
40575e:	66 74 77             	data16 je 0x4057d8
405761:	61                   	popa
405762:	72 65                	jb     0x4057c9
405764:	5c                   	pop    %esp
405765:	42                   	inc    %edx
405766:	6f                   	outsl  %ds:(%esi),(%dx)
405767:	72 6c                	jb     0x4057d5
405769:	61                   	popa
40576a:	6e                   	outsb  %ds:(%esi),(%dx)
40576b:	64 5c                	fs pop %esp
40576d:	44                   	inc    %esp
40576e:	65 6c                	gs insb (%dx),%es:(%edi)
405770:	70 68                	jo     0x4057da
405772:	69 5c 4c 6f 63 61 6c 	imul   $0x656c6163,0x6f(%esp,%ecx,2),%ebx
405779:	65
40577a:	73 00                	jae    0x40577c
40577c:	00 00                	add    %al,(%eax)
40577e:	00 00                	add    %al,(%eax)
405780:	e8 03 00 00 00       	call   0x405788
405785:	c3                   	ret
405786:	8b c0                	mov    %eax,%eax
405788:	53                   	push   %ebx
405789:	56                   	push   %esi
40578a:	57                   	push   %edi
40578b:	8b fa                	mov    %edx,%edi
40578d:	8b f0                	mov    %eax,%esi
40578f:	8b 1d 34 90 46 00    	mov    0x469034,%ebx
405795:	85 db                	test   %ebx,%ebx
405797:	74 15                	je     0x4057ae
405799:	8b c3                	mov    %ebx,%eax
40579b:	e8 34 fb ff ff       	call   0x4052d4
4057a0:	8b d7                	mov    %edi,%edx
4057a2:	ff d6                	call   *%esi
4057a4:	84 c0                	test   %al,%al
4057a6:	74 06                	je     0x4057ae
4057a8:	8b 1b                	mov    (%ebx),%ebx
4057aa:	85 db                	test   %ebx,%ebx
4057ac:	75 eb                	jne    0x405799
4057ae:	5f                   	pop    %edi
4057af:	5e                   	pop    %esi
4057b0:	5b                   	pop    %ebx
4057b1:	c3                   	ret
4057b2:	8b c0                	mov    %eax,%eax
4057b4:	e8 0b 00 00 00       	call   0x4057c4
4057b9:	c3                   	ret
4057ba:	8b c0                	mov    %eax,%eax
4057bc:	e8 23 00 00 00       	call   0x4057e4
4057c1:	c3                   	ret
4057c2:	8b c0                	mov    %eax,%eax
4057c4:	53                   	push   %ebx
4057c5:	8b d8                	mov    %eax,%ebx
4057c7:	b8 08 00 00 00       	mov    $0x8,%eax
4057cc:	e8 23 cf ff ff       	call   0x4026f4
4057d1:	8b 15 38 90 46 00    	mov    0x469038,%edx
4057d7:	89 10                	mov    %edx,(%eax)
4057d9:	89 58 04             	mov    %ebx,0x4(%eax)
4057dc:	a3 38 90 46 00       	mov    %eax,0x469038
4057e1:	5b                   	pop    %ebx
4057e2:	c3                   	ret
4057e3:	90                   	nop
4057e4:	53                   	push   %ebx
4057e5:	56                   	push   %esi
4057e6:	8b 35 38 90 46 00    	mov    0x469038,%esi
4057ec:	85 f6                	test   %esi,%esi
4057ee:	74 22                	je     0x405812
4057f0:	8b 56 04             	mov    0x4(%esi),%edx
4057f3:	3b d0                	cmp    %eax,%edx
4057f5:	75 1b                	jne    0x405812
4057f7:	a1 38 90 46 00       	mov    0x469038,%eax
4057fc:	8b 00                	mov    (%eax),%eax
4057fe:	a3 38 90 46 00       	mov    %eax,0x469038
405803:	ba 08 00 00 00       	mov    $0x8,%edx
405808:	8b c6                	mov    %esi,%eax
40580a:	e8 05 cf ff ff       	call   0x402714
40580f:	5e                   	pop    %esi
405810:	5b                   	pop    %ebx
405811:	c3                   	ret
405812:	8b d6                	mov    %esi,%edx
405814:	85 d2                	test   %edx,%edx
405816:	74 27                	je     0x40583f
405818:	8b 0a                	mov    (%edx),%ecx
40581a:	85 c9                	test   %ecx,%ecx
40581c:	74 1b                	je     0x405839
40581e:	8b 59 04             	mov    0x4(%ecx),%ebx
405821:	3b d8                	cmp    %eax,%ebx
405823:	75 14                	jne    0x405839
405825:	8b f1                	mov    %ecx,%esi
405827:	8b 01                	mov    (%ecx),%eax
405829:	89 02                	mov    %eax,(%edx)
40582b:	ba 08 00 00 00       	mov    $0x8,%edx
405830:	8b c6                	mov    %esi,%eax
405832:	e8 dd ce ff ff       	call   0x402714
405837:	eb 06                	jmp    0x40583f
405839:	8b 12                	mov    (%edx),%edx
40583b:	85 d2                	test   %edx,%edx
40583d:	75 d9                	jne    0x405818
40583f:	5e                   	pop    %esi
405840:	5b                   	pop    %ebx
405841:	c3                   	ret
405842:	8b c0                	mov    %eax,%eax
405844:	55                   	push   %ebp
405845:	8b ec                	mov    %esp,%ebp
405847:	83 c4 f8             	add    $0xfffffff8,%esp
40584a:	53                   	push   %ebx
40584b:	56                   	push   %esi
40584c:	57                   	push   %edi
40584d:	89 45 fc             	mov    %eax,-0x4(%ebp)
405850:	a1 38 90 46 00       	mov    0x469038,%eax
405855:	89 45 f8             	mov    %eax,-0x8(%ebp)
405858:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40585c:	74 39                	je     0x405897
40585e:	33 c0                	xor    %eax,%eax
405860:	55                   	push   %ebp
405861:	68 7f 58 40 00       	push   $0x40587f
405866:	64 ff 30             	push   %fs:(%eax)
405869:	64 89 20             	mov    %esp,%fs:(%eax)
40586c:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40586f:	8b 45 fc             	mov    -0x4(%ebp),%eax
405872:	ff 53 04             	call   *0x4(%ebx)
405875:	33 c0                	xor    %eax,%eax
405877:	5a                   	pop    %edx
405878:	59                   	pop    %ecx
405879:	59                   	pop    %ecx
40587a:	64 89 10             	mov    %edx,%fs:(%eax)
40587d:	eb 0a                	jmp    0x405889
40587f:	e9 1c df ff ff       	jmp    0x4037a0
405884:	e8 7f e2 ff ff       	call   0x403b08
405889:	8b 45 f8             	mov    -0x8(%ebp),%eax
40588c:	8b 00                	mov    (%eax),%eax
40588e:	89 45 f8             	mov    %eax,-0x8(%ebp)
405891:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
405895:	75 c7                	jne    0x40585e
405897:	5f                   	pop    %edi
405898:	5e                   	pop    %esi
405899:	5b                   	pop    %ebx
40589a:	59                   	pop    %ecx
40589b:	59                   	pop    %ecx
40589c:	5d                   	pop    %ebp
40589d:	c3                   	ret
40589e:	8b c0                	mov    %eax,%eax
4058a0:	8b 15 34 90 46 00    	mov    0x469034,%edx
4058a6:	89 10                	mov    %edx,(%eax)
4058a8:	a3 34 90 46 00       	mov    %eax,0x469034
4058ad:	c3                   	ret
4058ae:	8b c0                	mov    %eax,%eax
4058b0:	55                   	push   %ebp
4058b1:	8b ec                	mov    %esp,%ebp
4058b3:	51                   	push   %ecx
4058b4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4058b7:	33 d2                	xor    %edx,%edx
4058b9:	55                   	push   %ebp
4058ba:	68 14 59 40 00       	push   $0x405914
4058bf:	64 ff 32             	push   %fs:(%edx)
4058c2:	64 89 22             	mov    %esp,%fs:(%edx)
4058c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4058c8:	8b 40 04             	mov    0x4(%eax),%eax
4058cb:	e8 74 ff ff ff       	call   0x405844
4058d0:	33 c0                	xor    %eax,%eax
4058d2:	5a                   	pop    %edx
4058d3:	59                   	pop    %ecx
4058d4:	59                   	pop    %ecx
4058d5:	64 89 10             	mov    %edx,%fs:(%eax)
4058d8:	68 1b 59 40 00       	push   $0x40591b
4058dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4058e0:	3b 05 34 90 46 00    	cmp    0x469034,%eax
4058e6:	75 0c                	jne    0x4058f4
4058e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4058eb:	8b 00                	mov    (%eax),%eax
4058ed:	a3 34 90 46 00       	mov    %eax,0x469034
4058f2:	eb 1f                	jmp    0x405913
4058f4:	a1 34 90 46 00       	mov    0x469034,%eax
4058f9:	85 c0                	test   %eax,%eax
4058fb:	74 16                	je     0x405913
4058fd:	8b 10                	mov    (%eax),%edx
4058ff:	3b 55 fc             	cmp    -0x4(%ebp),%edx
405902:	75 09                	jne    0x40590d
405904:	8b 55 fc             	mov    -0x4(%ebp),%edx
405907:	8b 12                	mov    (%edx),%edx
405909:	89 10                	mov    %edx,(%eax)
40590b:	eb 06                	jmp    0x405913
40590d:	8b 00                	mov    (%eax),%eax
40590f:	85 c0                	test   %eax,%eax
405911:	75 ea                	jne    0x4058fd
405913:	c3                   	ret
405914:	e9 3b e1 ff ff       	jmp    0x403a54
405919:	eb c2                	jmp    0x4058dd
40591b:	59                   	pop    %ecx
40591c:	5d                   	pop    %ebp
40591d:	c3                   	ret
40591e:	8b c0                	mov    %eax,%eax
405920:	8b 10                	mov    (%eax),%edx
405922:	85 d2                	test   %edx,%edx
405924:	74 0e                	je     0x405934
405926:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40592c:	50                   	push   %eax
40592d:	52                   	push   %edx
40592e:	8b 02                	mov    (%edx),%eax
405930:	ff 50 08             	call   *0x8(%eax)
405933:	58                   	pop    %eax
405934:	c3                   	ret
405935:	8d 40 00             	lea    0x0(%eax),%eax
405938:	85 d2                	test   %edx,%edx
40593a:	74 19                	je     0x405955
40593c:	52                   	push   %edx
40593d:	50                   	push   %eax
40593e:	8b 02                	mov    (%edx),%eax
405940:	52                   	push   %edx
405941:	ff 50 04             	call   *0x4(%eax)
405944:	58                   	pop    %eax
405945:	8b 08                	mov    (%eax),%ecx
405947:	8f 00                	pop    (%eax)
405949:	85 c9                	test   %ecx,%ecx
40594b:	75 01                	jne    0x40594e
40594d:	c3                   	ret
40594e:	8b 01                	mov    (%ecx),%eax
405950:	51                   	push   %ecx
405951:	ff 50 08             	call   *0x8(%eax)
405954:	c3                   	ret
405955:	8b 08                	mov    (%eax),%ecx
405957:	85 c9                	test   %ecx,%ecx
405959:	89 10                	mov    %edx,(%eax)
40595b:	74 06                	je     0x405963
40595d:	8b 01                	mov    (%ecx),%eax
40595f:	51                   	push   %ecx
405960:	ff 50 08             	call   *0x8(%eax)
405963:	c3                   	ret
405964:	85 d2                	test   %edx,%edx
405966:	0f 84 b4 ff ff ff    	je     0x405920
40596c:	57                   	push   %edi
40596d:	89 c7                	mov    %eax,%edi
40596f:	6a 00                	push   $0x0
405971:	54                   	push   %esp
405972:	51                   	push   %ecx
405973:	52                   	push   %edx
405974:	8b 02                	mov    (%edx),%eax
405976:	ff 10                	call   *(%eax)
405978:	85 c0                	test   %eax,%eax
40597a:	74 07                	je     0x405983
40597c:	b0 17                	mov    $0x17,%al
40597e:	e9 cd ce ff ff       	jmp    0x402850
405983:	8b 07                	mov    (%edi),%eax
405985:	85 c0                	test   %eax,%eax
405987:	74 06                	je     0x40598f
405989:	50                   	push   %eax