41177c:	33 c0                	xor    %eax,%eax
41177e:	6a 02                	push   $0x2
411780:	88 5d f1             	mov    %bl,-0xf(%ebp)
411783:	88 45 f2             	mov    %al,-0xe(%ebp)
411786:	59                   	pop    %ecx
411787:	eb 0b                	jmp    0x411794
411789:	33 c0                	xor    %eax,%eax
41178b:	88 5d f0             	mov    %bl,-0x10(%ebp)
41178e:	33 c9                	xor    %ecx,%ecx
411790:	88 45 f1             	mov    %al,-0xf(%ebp)
411793:	41                   	inc    %ecx
411794:	89 45 f4             	mov    %eax,-0xc(%ebp)
411797:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
41179b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41179e:	6a 01                	push   $0x1
4117a0:	ff 70 08             	push   0x8(%eax)
4117a3:	8d 45 f4             	lea    -0xc(%ebp),%eax
4117a6:	50                   	push   %eax
4117a7:	51                   	push   %ecx
4117a8:	8d 45 f0             	lea    -0x10(%ebp),%eax
4117ab:	50                   	push   %eax
4117ac:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4117af:	6a 01                	push   $0x1
4117b1:	50                   	push   %eax
4117b2:	e8 81 f4 ff ff       	call   0x410c38
4117b7:	83 c4 1c             	add    $0x1c,%esp
4117ba:	85 c0                	test   %eax,%eax
4117bc:	75 13                	jne    0x4117d1
4117be:	38 45 ec             	cmp    %al,-0x14(%ebp)
4117c1:	74 0a                	je     0x4117cd
4117c3:	8b 45 e0             	mov    -0x20(%ebp),%eax
4117c6:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
4117cd:	33 c0                	xor    %eax,%eax
4117cf:	eb 17                	jmp    0x4117e8
4117d1:	0f b7 45 f4          	movzwl -0xc(%ebp),%eax
4117d5:	23 45 0c             	and    0xc(%ebp),%eax
4117d8:	80 7d ec 00          	cmpb   $0x0,-0x14(%ebp)
4117dc:	74 0a                	je     0x4117e8
4117de:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4117e1:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4117e8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4117eb:	33 cd                	xor    %ebp,%ecx
4117ed:	5b                   	pop    %ebx
4117ee:	e8 63 17 ff ff       	call   0x402f56
4117f3:	8b e5                	mov    %ebp,%esp
4117f5:	5d                   	pop    %ebp
4117f6:	c3                   	ret
4117f7:	8b ff                	mov    %edi,%edi
4117f9:	55                   	push   %ebp
4117fa:	8b ec                	mov    %esp,%ebp
4117fc:	83 ec 10             	sub    $0x10,%esp
4117ff:	ff 75 0c             	push   0xc(%ebp)
411802:	8d 4d f0             	lea    -0x10(%ebp),%ecx
411805:	e8 a7 3e ff ff       	call   0x4056b1
41180a:	8b 45 f4             	mov    -0xc(%ebp),%eax
41180d:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
411811:	8b 00                	mov    (%eax),%eax
411813:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
411817:	25 00 80 00 00       	and    $0x8000,%eax
41181c:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
411820:	74 0a                	je     0x41182c
411822:	8b 4d f0             	mov    -0x10(%ebp),%ecx
411825:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41182c:	8b e5                	mov    %ebp,%esp
41182e:	5d                   	pop    %ebp
41182f:	c3                   	ret
411830:	8b ff                	mov    %edi,%edi
411832:	55                   	push   %ebp
411833:	8b ec                	mov    %esp,%ebp
411835:	51                   	push   %ecx
411836:	51                   	push   %ecx
411837:	a1 0c 30 42 00       	mov    0x42300c,%eax
41183c:	33 c5                	xor    %ebp,%eax
41183e:	89 45 fc             	mov    %eax,-0x4(%ebp)
411841:	53                   	push   %ebx
411842:	56                   	push   %esi
411843:	8b 75 18             	mov    0x18(%ebp),%esi
411846:	57                   	push   %edi
411847:	85 f6                	test   %esi,%esi
411849:	7e 14                	jle    0x41185f
41184b:	56                   	push   %esi
41184c:	ff 75 14             	push   0x14(%ebp)
41184f:	e8 0d 42 00 00       	call   0x415a61
411854:	59                   	pop    %ecx
411855:	3b c6                	cmp    %esi,%eax
411857:	59                   	pop    %ecx
411858:	8d 70 01             	lea    0x1(%eax),%esi
41185b:	7c 02                	jl     0x41185f
41185d:	8b f0                	mov    %eax,%esi
41185f:	8b 7d 24             	mov    0x24(%ebp),%edi
411862:	85 ff                	test   %edi,%edi
411864:	75 0b                	jne    0x411871
411866:	8b 45 08             	mov    0x8(%ebp),%eax
411869:	8b 00                	mov    (%eax),%eax
41186b:	8b 78 08             	mov    0x8(%eax),%edi
41186e:	89 7d 24             	mov    %edi,0x24(%ebp)
411871:	33 c0                	xor    %eax,%eax
411873:	39 45 28             	cmp    %eax,0x28(%ebp)
411876:	6a 00                	push   $0x0
411878:	6a 00                	push   $0x0
41187a:	56                   	push   %esi
41187b:	ff 75 14             	push   0x14(%ebp)
41187e:	0f 95 c0             	setne  %al
411881:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
411888:	50                   	push   %eax
411889:	57                   	push   %edi
41188a:	ff 15 2c b1 41 00    	call   *0x41b12c
411890:	89 45 f8             	mov    %eax,-0x8(%ebp)
411893:	85 c0                	test   %eax,%eax
411895:	0f 84 8d 01 00 00    	je     0x411a28
41189b:	8d 14 00             	lea    (%eax,%eax,1),%edx
41189e:	8d 4a 08             	lea    0x8(%edx),%ecx
4118a1:	3b d1                	cmp    %ecx,%edx
4118a3:	1b c0                	sbb    %eax,%eax
4118a5:	85 c1                	test   %eax,%ecx
4118a7:	74 52                	je     0x4118fb
4118a9:	8d 4a 08             	lea    0x8(%edx),%ecx
4118ac:	3b d1                	cmp    %ecx,%edx
4118ae:	1b c0                	sbb    %eax,%eax
4118b0:	23 c1                	and    %ecx,%eax
4118b2:	8d 4a 08             	lea    0x8(%edx),%ecx
4118b5:	3d 00 04 00 00       	cmp    $0x400,%eax
4118ba:	77 1d                	ja     0x4118d9
4118bc:	3b d1                	cmp    %ecx,%edx
4118be:	1b c0                	sbb    %eax,%eax
4118c0:	23 c1                	and    %ecx,%eax
4118c2:	e8 09 6b 00 00       	call   0x4183d0
4118c7:	8b dc                	mov    %esp,%ebx
4118c9:	85 db                	test   %ebx,%ebx
4118cb:	0f 84 4c 01 00 00    	je     0x411a1d
4118d1:	c7 03 cc cc 00 00    	movl   $0xcccc,(%ebx)
4118d7:	eb 1d                	jmp    0x4118f6
4118d9:	3b d1                	cmp    %ecx,%edx
4118db:	1b c0                	sbb    %eax,%eax
4118dd:	23 c1                	and    %ecx,%eax
4118df:	50                   	push   %eax
4118e0:	e8 79 7f ff ff       	call   0x40985e
4118e5:	8b d8                	mov    %eax,%ebx
4118e7:	59                   	pop    %ecx
4118e8:	85 db                	test   %ebx,%ebx
4118ea:	0f 84 2d 01 00 00    	je     0x411a1d
4118f0:	c7 03 dd dd 00 00    	movl   $0xdddd,(%ebx)
4118f6:	83 c3 08             	add    $0x8,%ebx
4118f9:	eb 02                	jmp    0x4118fd
4118fb:	33 db                	xor    %ebx,%ebx
4118fd:	85 db                	test   %ebx,%ebx
4118ff:	0f 84 18 01 00 00    	je     0x411a1d
411905:	ff 75 f8             	push   -0x8(%ebp)
411908:	53                   	push   %ebx
411909:	56                   	push   %esi
41190a:	ff 75 14             	push   0x14(%ebp)
41190d:	6a 01                	push   $0x1
41190f:	57                   	push   %edi
411910:	ff 15 2c b1 41 00    	call   *0x41b12c
411916:	85 c0                	test   %eax,%eax
411918:	0f 84 ff 00 00 00    	je     0x411a1d
41191e:	8b 7d f8             	mov    -0x8(%ebp),%edi
411921:	33 c0                	xor    %eax,%eax
411923:	50                   	push   %eax
411924:	50                   	push   %eax
411925:	50                   	push   %eax
411926:	50                   	push   %eax
411927:	50                   	push   %eax
411928:	57                   	push   %edi
411929:	53                   	push   %ebx
41192a:	ff 75 10             	push   0x10(%ebp)
41192d:	ff 75 0c             	push   0xc(%ebp)
411930:	e8 75 a7 ff ff       	call   0x40c0aa
411935:	8b f0                	mov    %eax,%esi
411937:	85 f6                	test   %esi,%esi
411939:	0f 84 de 00 00 00    	je     0x411a1d
41193f:	f7 45 10 00 04 00 00 	testl  $0x400,0x10(%ebp)
411946:	74 38                	je     0x411980
411948:	8b 45 20             	mov    0x20(%ebp),%eax
41194b:	85 c0                	test   %eax,%eax
41194d:	0f 84 cc 00 00 00    	je     0x411a1f
411953:	3b f0                	cmp    %eax,%esi
411955:	0f 8f c2 00 00 00    	jg     0x411a1d
41195b:	33 c9                	xor    %ecx,%ecx
41195d:	51                   	push   %ecx
41195e:	51                   	push   %ecx
41195f:	51                   	push   %ecx
411960:	50                   	push   %eax
411961:	ff 75 1c             	push   0x1c(%ebp)
411964:	57                   	push   %edi
411965:	53                   	push   %ebx
411966:	ff 75 10             	push   0x10(%ebp)
411969:	ff 75 0c             	push   0xc(%ebp)
41196c:	e8 39 a7 ff ff       	call   0x40c0aa
411971:	8b f0                	mov    %eax,%esi
411973:	85 f6                	test   %esi,%esi
411975:	0f 85 a4 00 00 00    	jne    0x411a1f
41197b:	e9 9d 00 00 00       	jmp    0x411a1d
411980:	8d 14 36             	lea    (%esi,%esi,1),%edx
411983:	8d 4a 08             	lea    0x8(%edx),%ecx
411986:	3b d1                	cmp    %ecx,%edx
411988:	1b c0                	sbb    %eax,%eax
41198a:	85 c1                	test   %eax,%ecx
41198c:	74 4a                	je     0x4119d8
41198e:	8d 4a 08             	lea    0x8(%edx),%ecx
411991:	3b d1                	cmp    %ecx,%edx
411993:	1b c0                	sbb    %eax,%eax
411995:	23 c1                	and    %ecx,%eax
411997:	8d 4a 08             	lea    0x8(%edx),%ecx
41199a:	3d 00 04 00 00       	cmp    $0x400,%eax
41199f:	77 19                	ja     0x4119ba
4119a1:	3b d1                	cmp    %ecx,%edx
4119a3:	1b c0                	sbb    %eax,%eax
4119a5:	23 c1                	and    %ecx,%eax
4119a7:	e8 24 6a 00 00       	call   0x4183d0
4119ac:	8b fc                	mov    %esp,%edi
4119ae:	85 ff                	test   %edi,%edi
4119b0:	74 64                	je     0x411a16
4119b2:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
4119b8:	eb 19                	jmp    0x4119d3
4119ba:	3b d1                	cmp    %ecx,%edx
4119bc:	1b c0                	sbb    %eax,%eax
4119be:	23 c1                	and    %ecx,%eax
4119c0:	50                   	push   %eax
4119c1:	e8 98 7e ff ff       	call   0x40985e
4119c6:	8b f8                	mov    %eax,%edi
4119c8:	59                   	pop    %ecx
4119c9:	85 ff                	test   %edi,%edi
4119cb:	74 49                	je     0x411a16
4119cd:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
4119d3:	83 c7 08             	add    $0x8,%edi
4119d6:	eb 02                	jmp    0x4119da
4119d8:	33 ff                	xor    %edi,%edi
4119da:	85 ff                	test   %edi,%edi
4119dc:	74 38                	je     0x411a16
4119de:	6a 00                	push   $0x0
4119e0:	6a 00                	push   $0x0
4119e2:	6a 00                	push   $0x0
4119e4:	56                   	push   %esi
4119e5:	57                   	push   %edi
4119e6:	ff 75 f8             	push   -0x8(%ebp)
4119e9:	53                   	push   %ebx
4119ea:	ff 75 10             	push   0x10(%ebp)
4119ed:	ff 75 0c             	push   0xc(%ebp)
4119f0:	e8 b5 a6 ff ff       	call   0x40c0aa
4119f5:	85 c0                	test   %eax,%eax
4119f7:	74 1d                	je     0x411a16
4119f9:	33 c0                	xor    %eax,%eax
4119fb:	50                   	push   %eax
4119fc:	50                   	push   %eax
4119fd:	39 45 20             	cmp    %eax,0x20(%ebp)
411a00:	75 3a                	jne    0x411a3c
411a02:	50                   	push   %eax
411a03:	50                   	push   %eax
411a04:	56                   	push   %esi
411a05:	57                   	push   %edi
411a06:	50                   	push   %eax
411a07:	ff 75 24             	push   0x24(%ebp)
411a0a:	ff 15 30 b1 41 00    	call   *0x41b130
411a10:	8b f0                	mov    %eax,%esi
411a12:	85 f6                	test   %esi,%esi
411a14:	75 2e                	jne    0x411a44
411a16:	57                   	push   %edi
411a17:	e8 39 f3 ff ff       	call   0x410d55
411a1c:	59                   	pop    %ecx
411a1d:	33 f6                	xor    %esi,%esi
411a1f:	53                   	push   %ebx
411a20:	e8 30 f3 ff ff       	call   0x410d55
411a25:	59                   	pop    %ecx
411a26:	8b c6                	mov    %esi,%eax
411a28:	8d 65 ec             	lea    -0x14(%ebp),%esp
411a2b:	5f                   	pop    %edi
411a2c:	5e                   	pop    %esi
411a2d:	5b                   	pop    %ebx
411a2e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411a31:	33 cd                	xor    %ebp,%ecx
411a33:	e8 1e 15 ff ff       	call   0x402f56
411a38:	8b e5                	mov    %ebp,%esp
411a3a:	5d                   	pop    %ebp
411a3b:	c3                   	ret
411a3c:	ff 75 20             	push   0x20(%ebp)
411a3f:	ff 75 1c             	push   0x1c(%ebp)
411a42:	eb c0                	jmp    0x411a04
411a44:	57                   	push   %edi
411a45:	e8 0b f3 ff ff       	call   0x410d55
411a4a:	59                   	pop    %ecx
411a4b:	eb d2                	jmp    0x411a1f
411a4d:	8b ff                	mov    %edi,%edi
411a4f:	55                   	push   %ebp
411a50:	8b ec                	mov    %esp,%ebp
411a52:	83 ec 10             	sub    $0x10,%esp
411a55:	ff 75 08             	push   0x8(%ebp)
411a58:	8d 4d f0             	lea    -0x10(%ebp),%ecx
411a5b:	e8 51 3c ff ff       	call   0x4056b1
411a60:	ff 75 28             	push   0x28(%ebp)
411a63:	8d 45 f4             	lea    -0xc(%ebp),%eax
411a66:	ff 75 24             	push   0x24(%ebp)
411a69:	ff 75 20             	push   0x20(%ebp)
411a6c:	ff 75 1c             	push   0x1c(%ebp)
411a6f:	ff 75 18             	push   0x18(%ebp)
411a72:	ff 75 14             	push   0x14(%ebp)
411a75:	ff 75 10             	push   0x10(%ebp)
411a78:	ff 75 0c             	push   0xc(%ebp)
411a7b:	50                   	push   %eax
411a7c:	e8 af fd ff ff       	call   0x411830
411a81:	83 c4 24             	add    $0x24,%esp
411a84:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
411a88:	74 0a                	je     0x411a94
411a8a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
411a8d:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
411a94:	8b e5                	mov    %ebp,%esp
411a96:	5d                   	pop    %ebp
411a97:	c3                   	ret
411a98:	8b ff                	mov    %edi,%edi
411a9a:	55                   	push   %ebp
411a9b:	8b ec                	mov    %esp,%ebp
411a9d:	8b 55 08             	mov    0x8(%ebp),%edx
411aa0:	56                   	push   %esi
411aa1:	85 d2                	test   %edx,%edx
411aa3:	75 16                	jne    0x411abb
411aa5:	e8 5d 62 ff ff       	call   0x407d07
411aaa:	6a 16                	push   $0x16
411aac:	5e                   	pop    %esi
411aad:	89 30                	mov    %esi,(%eax)
411aaf:	e8 7a 61 ff ff       	call   0x407c2e
411ab4:	8b c6                	mov    %esi,%eax
411ab6:	e9 96 00 00 00       	jmp    0x411b51
411abb:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
411abf:	76 e4                	jbe    0x411aa5
411ac1:	8b 4d 10             	mov    0x10(%ebp),%ecx
411ac4:	c6 02 00             	movb   $0x0,(%edx)
411ac7:	85 c9                	test   %ecx,%ecx
411ac9:	7e 04                	jle    0x411acf
411acb:	8b c1                	mov    %ecx,%eax
411acd:	eb 02                	jmp    0x411ad1
411acf:	33 c0                	xor    %eax,%eax
411ad1:	40                   	inc    %eax
411ad2:	39 45 0c             	cmp    %eax,0xc(%ebp)
411ad5:	77 09                	ja     0x411ae0
411ad7:	e8 2b 62 ff ff       	call   0x407d07
411adc:	6a 22                	push   $0x22
411ade:	eb cc                	jmp    0x411aac
411ae0:	8b 75 14             	mov    0x14(%ebp),%esi
411ae3:	85 f6                	test   %esi,%esi
411ae5:	74 be                	je     0x411aa5
411ae7:	53                   	push   %ebx
411ae8:	8d 5a 01             	lea    0x1(%edx),%ebx
411aeb:	8b c3                	mov    %ebx,%eax
411aed:	57                   	push   %edi
411aee:	8b 7e 08             	mov    0x8(%esi),%edi
411af1:	c6 02 30             	movb   $0x30,(%edx)
411af4:	85 c9                	test   %ecx,%ecx
411af6:	7e 16                	jle    0x411b0e
411af8:	8a 1f                	mov    (%edi),%bl
411afa:	84 db                	test   %bl,%bl