4118d4:	e8 fc 8d ff ff       	call   0x40a6d5
4118d9:	59                   	pop    %ecx
4118da:	83 cf ff             	or     $0xffffffff,%edi
4118dd:	56                   	push   %esi
4118de:	e8 bc 8e ff ff       	call   0x40a79f
4118e3:	59                   	pop    %ecx
4118e4:	8b c7                	mov    %edi,%eax
4118e6:	5e                   	pop    %esi
4118e7:	e9 d6 00 00 00       	jmp    0x4119c2
4118ec:	8b 45 e8             	mov    -0x18(%ebp),%eax
4118ef:	8b 4d 10             	mov    0x10(%ebp),%ecx
4118f2:	8d 3c 47             	lea    (%edi,%eax,2),%edi
4118f5:	eb 27                	jmp    0x41191e
4118f7:	c6 45 e4 00          	movb   $0x0,-0x1c(%ebp)
4118fb:	6a 00                	push   $0x0
4118fd:	8d 45 e8             	lea    -0x18(%ebp),%eax
411900:	50                   	push   %eax
411901:	53                   	push   %ebx
411902:	8b 5d f4             	mov    -0xc(%ebp),%ebx
411905:	53                   	push   %ebx
411906:	ff 75 ec             	push   -0x14(%ebp)
411909:	ff 15 34 91 41 00    	call   *0x419134
41190f:	85 c0                	test   %eax,%eax
411911:	74 5c                	je     0x41196f
411913:	8b 4d 10             	mov    0x10(%ebp),%ecx
411916:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
411919:	77 54                	ja     0x41196f
41191b:	03 7d e8             	add    -0x18(%ebp),%edi
41191e:	8b 45 f8             	mov    -0x8(%ebp),%eax
411921:	8b 55 f0             	mov    -0x10(%ebp),%edx
411924:	8b 04 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%eax
41192b:	80 7c 02 28 00       	cmpb   $0x0,0x28(%edx,%eax,1)
411930:	7d ab                	jge    0x4118dd
411932:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
411936:	74 17                	je     0x41194f
411938:	d1 e9                	shr    $1,%ecx
41193a:	51                   	push   %ecx
41193b:	ff 75 0c             	push   0xc(%ebp)
41193e:	57                   	push   %edi
41193f:	53                   	push   %ebx
411940:	ff 75 08             	push   0x8(%ebp)
411943:	e8 05 fa ff ff       	call   0x41134d
411948:	83 c4 14             	add    $0x14,%esp
41194b:	8b f8                	mov    %eax,%edi
41194d:	eb 8e                	jmp    0x4118dd
41194f:	d1 ef                	shr    $1,%edi
411951:	80 7d e4 00          	cmpb   $0x0,-0x1c(%ebp)
411955:	57                   	push   %edi
411956:	ff 75 e0             	push   -0x20(%ebp)
411959:	ff 75 08             	push   0x8(%ebp)
41195c:	74 0a                	je     0x411968
41195e:	e8 41 fb ff ff       	call   0x4114a4
411963:	83 c4 0c             	add    $0xc,%esp
411966:	eb e3                	jmp    0x41194b
411968:	e8 26 f8 ff ff       	call   0x411193
41196d:	eb f4                	jmp    0x411963
41196f:	ff 15 28 90 41 00    	call   *0x419028
411975:	6a 05                	push   $0x5
411977:	5f                   	pop    %edi
411978:	3b c7                	cmp    %edi,%eax
41197a:	75 17                	jne    0x411993
41197c:	e8 ae 8d ff ff       	call   0x40a72f
411981:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
411987:	e8 90 8d ff ff       	call   0x40a71c
41198c:	89 38                	mov    %edi,(%eax)
41198e:	e9 47 ff ff ff       	jmp    0x4118da
411993:	83 f8 6d             	cmp    $0x6d,%eax
411996:	0f 85 37 ff ff ff    	jne    0x4118d3
41199c:	33 ff                	xor    %edi,%edi
41199e:	e9 3a ff ff ff       	jmp    0x4118dd
4119a3:	33 c0                	xor    %eax,%eax
4119a5:	eb 1b                	jmp    0x4119c2
4119a7:	e8 70 8d ff ff       	call   0x40a71c
4119ac:	83 20 00             	andl   $0x0,(%eax)
4119af:	e8 7b 8d ff ff       	call   0x40a72f
4119b4:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4119ba:	e8 0a 5b ff ff       	call   0x4074c9
4119bf:	83 c8 ff             	or     $0xffffffff,%eax
4119c2:	5f                   	pop    %edi
4119c3:	5b                   	pop    %ebx
4119c4:	c9                   	leave
4119c5:	c3                   	ret
4119c6:	8b ff                	mov    %edi,%edi
4119c8:	55                   	push   %ebp
4119c9:	8b ec                	mov    %esp,%ebp
4119cb:	ff 05 44 1e 42 00    	incl   0x421e44
4119d1:	56                   	push   %esi
4119d2:	8b 75 08             	mov    0x8(%ebp),%esi
4119d5:	57                   	push   %edi
4119d6:	6a 01                	push   $0x1
4119d8:	bf 00 10 00 00       	mov    $0x1000,%edi
4119dd:	57                   	push   %edi
4119de:	e8 5f 8d ff ff       	call   0x40a742
4119e3:	6a 00                	push   $0x0
4119e5:	89 46 04             	mov    %eax,0x4(%esi)
4119e8:	e8 b2 8d ff ff       	call   0x40a79f
4119ed:	83 c4 0c             	add    $0xc,%esp
4119f0:	8d 46 0c             	lea    0xc(%esi),%eax
4119f3:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4119f7:	74 08                	je     0x411a01
4119f9:	6a 40                	push   $0x40
4119fb:	59                   	pop    %ecx
4119fc:	f0 09 08             	lock or %ecx,(%eax)
4119ff:	eb 11                	jmp    0x411a12
411a01:	b9 00 04 00 00       	mov    $0x400,%ecx
411a06:	f0 09 08             	lock or %ecx,(%eax)
411a09:	8d 46 14             	lea    0x14(%esi),%eax
411a0c:	6a 02                	push   $0x2
411a0e:	89 46 04             	mov    %eax,0x4(%esi)
411a11:	5f                   	pop    %edi
411a12:	89 7e 18             	mov    %edi,0x18(%esi)
411a15:	8b 46 04             	mov    0x4(%esi),%eax
411a18:	83 66 08 00          	andl   $0x0,0x8(%esi)
411a1c:	5f                   	pop    %edi
411a1d:	89 06                	mov    %eax,(%esi)
411a1f:	5e                   	pop    %esi
411a20:	5d                   	pop    %ebp
411a21:	c3                   	ret
411a22:	8b ff                	mov    %edi,%edi
411a24:	55                   	push   %ebp
411a25:	8b ec                	mov    %esp,%ebp
411a27:	8b 4d 10             	mov    0x10(%ebp),%ecx
411a2a:	85 c9                	test   %ecx,%ecx
411a2c:	75 04                	jne    0x411a32
411a2e:	33 c0                	xor    %eax,%eax
411a30:	5d                   	pop    %ebp
411a31:	c3                   	ret
411a32:	53                   	push   %ebx
411a33:	8b 5d 0c             	mov    0xc(%ebp),%ebx
411a36:	56                   	push   %esi
411a37:	57                   	push   %edi
411a38:	8b 7d 08             	mov    0x8(%ebp),%edi
411a3b:	0f b7 17             	movzwl (%edi),%edx
411a3e:	8d 7f 02             	lea    0x2(%edi),%edi
411a41:	8d 42 bf             	lea    -0x41(%edx),%eax
411a44:	83 f8 19             	cmp    $0x19,%eax
411a47:	77 03                	ja     0x411a4c
411a49:	83 c2 20             	add    $0x20,%edx
411a4c:	0f b7 33             	movzwl (%ebx),%esi
411a4f:	83 c3 02             	add    $0x2,%ebx
411a52:	8d 46 bf             	lea    -0x41(%esi),%eax
411a55:	83 f8 19             	cmp    $0x19,%eax
411a58:	77 03                	ja     0x411a5d
411a5a:	83 c6 20             	add    $0x20,%esi
411a5d:	8b c2                	mov    %edx,%eax
411a5f:	2b c6                	sub    %esi,%eax
411a61:	75 09                	jne    0x411a6c
411a63:	85 d2                	test   %edx,%edx
411a65:	74 05                	je     0x411a6c
411a67:	83 e9 01             	sub    $0x1,%ecx
411a6a:	75 cf                	jne    0x411a3b
411a6c:	5f                   	pop    %edi
411a6d:	5e                   	pop    %esi
411a6e:	5b                   	pop    %ebx
411a6f:	5d                   	pop    %ebp
411a70:	c3                   	ret
411a71:	8b ff                	mov    %edi,%edi
411a73:	55                   	push   %ebp
411a74:	8b ec                	mov    %esp,%ebp
411a76:	8b 45 08             	mov    0x8(%ebp),%eax
411a79:	b9 00 01 00 00       	mov    $0x100,%ecx
411a7e:	66 3b c1             	cmp    %cx,%ax
411a81:	73 20                	jae    0x411aa3
411a83:	0f b6 c8             	movzbl %al,%ecx
411a86:	f6 04 4d f2 b5 41 00 	testb  $0x1,0x41b5f2(,%ecx,2)
411a8d:	01
411a8e:	74 0e                	je     0x411a9e
411a90:	8b 45 0c             	mov    0xc(%ebp),%eax
411a93:	8b 00                	mov    (%eax),%eax
411a95:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
411a9b:	8a 04 01             	mov    (%ecx,%eax,1),%al
411a9e:	0f b6 c0             	movzbl %al,%eax
411aa1:	5d                   	pop    %ebp
411aa2:	c3                   	ret
411aa3:	ff 75 0c             	push   0xc(%ebp)
411aa6:	50                   	push   %eax
411aa7:	e8 f3 38 00 00       	call   0x41539f
411aac:	59                   	pop    %ecx
411aad:	59                   	pop    %ecx
411aae:	5d                   	pop    %ebp
411aaf:	c3                   	ret
411ab0:	8b ff                	mov    %edi,%edi
411ab2:	55                   	push   %ebp
411ab3:	8b ec                	mov    %esp,%ebp
411ab5:	83 3d 98 20 42 00 00 	cmpl   $0x0,0x422098
411abc:	75 29                	jne    0x411ae7
411abe:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
411ac2:	75 17                	jne    0x411adb
411ac4:	e8 66 8c ff ff       	call   0x40a72f
411ac9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411acf:	e8 f5 59 ff ff       	call   0x4074c9
411ad4:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
411ad9:	5d                   	pop    %ebp
411ada:	c3                   	ret
411adb:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
411adf:	74 e3                	je     0x411ac4
411ae1:	5d                   	pop    %ebp
411ae2:	e9 3b ff ff ff       	jmp    0x411a22
411ae7:	6a 00                	push   $0x0
411ae9:	ff 75 10             	push   0x10(%ebp)
411aec:	ff 75 0c             	push   0xc(%ebp)
411aef:	ff 75 08             	push   0x8(%ebp)
411af2:	e8 05 00 00 00       	call   0x411afc
411af7:	83 c4 10             	add    $0x10,%esp
411afa:	5d                   	pop    %ebp
411afb:	c3                   	ret
411afc:	8b ff                	mov    %edi,%edi
411afe:	55                   	push   %ebp
411aff:	8b ec                	mov    %esp,%ebp
411b01:	83 ec 14             	sub    $0x14,%esp
411b04:	57                   	push   %edi
411b05:	8b 7d 08             	mov    0x8(%ebp),%edi
411b08:	85 ff                	test   %edi,%edi
411b0a:	75 1a                	jne    0x411b26
411b0c:	e8 1e 8c ff ff       	call   0x40a72f
411b11:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411b17:	e8 ad 59 ff ff       	call   0x4074c9
411b1c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
411b21:	e9 a6 00 00 00       	jmp    0x411bcc
411b26:	53                   	push   %ebx
411b27:	8b 5d 0c             	mov    0xc(%ebp),%ebx
411b2a:	85 db                	test   %ebx,%ebx
411b2c:	75 1a                	jne    0x411b48
411b2e:	e8 fc 8b ff ff       	call   0x40a72f
411b33:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411b39:	e8 8b 59 ff ff       	call   0x4074c9
411b3e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
411b43:	e9 83 00 00 00       	jmp    0x411bcb
411b48:	56                   	push   %esi
411b49:	8b 75 10             	mov    0x10(%ebp),%esi
411b4c:	85 f6                	test   %esi,%esi
411b4e:	75 04                	jne    0x411b54
411b50:	33 c0                	xor    %eax,%eax
411b52:	eb 76                	jmp    0x411bca
411b54:	ff 75 14             	push   0x14(%ebp)
411b57:	8d 4d ec             	lea    -0x14(%ebp),%ecx
411b5a:	e8 c3 c9 ff ff       	call   0x40e522
411b5f:	8b 45 f0             	mov    -0x10(%ebp),%eax
411b62:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
411b69:	75 0f                	jne    0x411b7a
411b6b:	56                   	push   %esi
411b6c:	53                   	push   %ebx
411b6d:	57                   	push   %edi
411b6e:	e8 af fe ff ff       	call   0x411a22
411b73:	83 c4 0c             	add    $0xc,%esp
411b76:	8b c8                	mov    %eax,%ecx
411b78:	eb 3e                	jmp    0x411bb8
411b7a:	0f b7 07             	movzwl (%edi),%eax
411b7d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
411b80:	51                   	push   %ecx
411b81:	50                   	push   %eax
411b82:	8d 7f 02             	lea    0x2(%edi),%edi
411b85:	e8 e7 fe ff ff       	call   0x411a71
411b8a:	0f b7 c0             	movzwl %ax,%eax
411b8d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
411b90:	89 45 fc             	mov    %eax,-0x4(%ebp)
411b93:	0f b7 03             	movzwl (%ebx),%eax
411b96:	8d 5b 02             	lea    0x2(%ebx),%ebx
411b99:	51                   	push   %ecx
411b9a:	50                   	push   %eax
411b9b:	e8 d1 fe ff ff       	call   0x411a71
411ba0:	8b 55 fc             	mov    -0x4(%ebp),%edx
411ba3:	83 c4 10             	add    $0x10,%esp
411ba6:	0f b7 c0             	movzwl %ax,%eax
411ba9:	8b ca                	mov    %edx,%ecx
411bab:	2b c8                	sub    %eax,%ecx
411bad:	75 09                	jne    0x411bb8
411baf:	85 d2                	test   %edx,%edx
411bb1:	74 05                	je     0x411bb8
411bb3:	83 ee 01             	sub    $0x1,%esi
411bb6:	75 c2                	jne    0x411b7a
411bb8:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
411bbc:	74 0a                	je     0x411bc8
411bbe:	8b 45 ec             	mov    -0x14(%ebp),%eax
411bc1:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
411bc8:	8b c1                	mov    %ecx,%eax
411bca:	5e                   	pop    %esi
411bcb:	5b                   	pop    %ebx
411bcc:	5f                   	pop    %edi
411bcd:	c9                   	leave
411bce:	c3                   	ret
411bcf:	6a 10                	push   $0x10
411bd1:	68 e8 02 42 00       	push   $0x4202e8
411bd6:	e8 c5 22 ff ff       	call   0x403ea0
411bdb:	8b 75 18             	mov    0x18(%ebp),%esi
411bde:	85 f6                	test   %esi,%esi
411be0:	75 13                	jne    0x411bf5
411be2:	e8 48 8b ff ff       	call   0x40a72f
411be7:	6a 16                	push   $0x16
411be9:	5e                   	pop    %esi
411bea:	89 30                	mov    %esi,(%eax)
411bec:	e8 d8 58 ff ff       	call   0x4074c9
411bf1:	8b c6                	mov    %esi,%eax
411bf3:	eb 59                	jmp    0x411c4e
411bf5:	83 0e ff             	orl    $0xffffffff,(%esi)
411bf8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
411bfc:	74 e4                	je     0x411be2
411bfe:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
411c02:	74 09                	je     0x411c0d
411c04:	f7 45 14 7f fe ff ff 	testl  $0xfffffe7f,0x14(%ebp)
411c0b:	75 d5                	jne    0x411be2
411c0d:	33 c0                	xor    %eax,%eax
411c0f:	89 45 e0             	mov    %eax,-0x20(%ebp)
411c12:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411c15:	89 45 fc             	mov    %eax,-0x4(%ebp)
411c18:	ff 75 1c             	push   0x1c(%ebp)
411c1b:	ff 75 14             	push   0x14(%ebp)
411c1e:	ff 75 10             	push   0x10(%ebp)
411c21:	ff 75 0c             	push   0xc(%ebp)
411c24:	ff 75 08             	push   0x8(%ebp)
411c27:	56                   	push   %esi
411c28:	8d 45 e0             	lea    -0x20(%ebp),%eax
411c2b:	50                   	push   %eax
411c2c:	e8 88 05 00 00       	call   0x4121b9
411c31:	83 c4 1c             	add    $0x1c,%esp
411c34:	8b f8                	mov    %eax,%edi
411c36:	89 7d e4             	mov    %edi,-0x1c(%ebp)
411c39:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
411c40:	e8 1f 00 00 00       	call   0x411c64
411c45:	85 ff                	test   %edi,%edi
411c47:	74 03                	je     0x411c4c
411c49:	83 0e ff             	orl    $0xffffffff,(%esi)
411c4c:	8b c7                	mov    %edi,%eax
411c4e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
411c51:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
411c58:	59                   	pop    %ecx
411c59:	5f                   	pop    %edi
411c5a:	5e                   	pop    %esi
411c5b:	5b                   	pop    %ebx
411c5c:	c9                   	leave
411c5d:	c3                   	ret
411c5e:	8b 75 18             	mov    0x18(%ebp),%esi
411c61:	8b 7d e4             	mov    -0x1c(%ebp),%edi
411c64:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
411c68:	74 3f                	je     0x411ca9
411c6a:	85 ff                	test   %edi,%edi
411c6c:	74 33                	je     0x411ca1
411c6e:	8b 16                	mov    (%esi),%edx
411c70:	c1 fa 06             	sar    $0x6,%edx
411c73:	8b 06                	mov    (%esi),%eax
411c75:	83 e0 3f             	and    $0x3f,%eax
411c78:	6b c8 38             	imul   $0x38,%eax,%ecx
411c7b:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
411c82:	8a 5c 08 28          	mov    0x28(%eax,%ecx,1),%bl
411c86:	80 e3 fe             	and    $0xfe,%bl
411c89:	8b 16                	mov    (%esi),%edx
411c8b:	c1 fa 06             	sar    $0x6,%edx
411c8e:	8b 06                	mov    (%esi),%eax
411c90:	83 e0 3f             	and    $0x3f,%eax
411c93:	6b c8 38             	imul   $0x38,%eax,%ecx