4159f8:	8b cb                	mov    %ebx,%ecx
4159fa:	2b c8                	sub    %eax,%ecx
4159fc:	8d 55 f8             	lea    -0x8(%ebp),%edx
4159ff:	92                   	xchg   %eax,%edx
415a00:	e8 83 e6 fe ff       	call   0x404088
415a05:	8b 55 f8             	mov    -0x8(%ebp),%edx
415a08:	8b 45 fc             	mov    -0x4(%ebp),%eax
415a0b:	8b 08                	mov    (%eax),%ecx
415a0d:	ff 51 38             	call   *0x38(%ecx)
415a10:	80 3b 0d             	cmpb   $0xd,(%ebx)
415a13:	75 01                	jne    0x415a16
415a15:	43                   	inc    %ebx
415a16:	80 3b 0a             	cmpb   $0xa,(%ebx)
415a19:	75 01                	jne    0x415a1c
415a1b:	43                   	inc    %ebx
415a1c:	80 3b 00             	cmpb   $0x0,(%ebx)
415a1f:	75 c2                	jne    0x4159e3
415a21:	33 c0                	xor    %eax,%eax
415a23:	5a                   	pop    %edx
415a24:	59                   	pop    %ecx
415a25:	59                   	pop    %ecx
415a26:	64 89 10             	mov    %edx,%fs:(%eax)
415a29:	68 3e 5a 41 00       	push   $0x415a3e
415a2e:	8b 45 fc             	mov    -0x4(%ebp),%eax
415a31:	e8 12 f6 ff ff       	call   0x415048
415a36:	c3                   	ret
415a37:	e9 60 df fe ff       	jmp    0x40399c
415a3c:	eb f0                	jmp    0x415a2e
415a3e:	33 c0                	xor    %eax,%eax
415a40:	5a                   	pop    %edx
415a41:	59                   	pop    %ecx
415a42:	59                   	pop    %ecx
415a43:	64 89 10             	mov    %edx,%fs:(%eax)
415a46:	68 5b 5a 41 00       	push   $0x415a5b
415a4b:	8d 45 f8             	lea    -0x8(%ebp),%eax
415a4e:	e8 45 e5 fe ff       	call   0x403f98
415a53:	c3                   	ret
415a54:	e9 43 df fe ff       	jmp    0x40399c
415a59:	eb f0                	jmp    0x415a4b
415a5b:	5b                   	pop    %ebx
415a5c:	59                   	pop    %ecx
415a5d:	59                   	pop    %ecx
415a5e:	5d                   	pop    %ebp
415a5f:	c3                   	ret
415a60:	c3                   	ret
415a61:	8d 40 00             	lea    0x0(%eax),%eax
415a64:	55                   	push   %ebp
415a65:	8b ec                	mov    %esp,%ebp
415a67:	83 c4 f4             	add    $0xfffffff4,%esp
415a6a:	53                   	push   %ebx
415a6b:	56                   	push   %esi
415a6c:	57                   	push   %edi
415a6d:	33 c9                	xor    %ecx,%ecx
415a6f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
415a72:	89 55 f8             	mov    %edx,-0x8(%ebp)
415a75:	89 45 fc             	mov    %eax,-0x4(%ebp)
415a78:	33 c0                	xor    %eax,%eax
415a7a:	55                   	push   %ebp
415a7b:	68 da 5a 41 00       	push   $0x415ada
415a80:	64 ff 30             	push   %fs:(%eax)
415a83:	64 89 20             	mov    %esp,%fs:(%eax)
415a86:	8b 45 f8             	mov    -0x8(%ebp),%eax
415a89:	e8 2a 41 00 00       	call   0x419bb8
415a8e:	8b 45 fc             	mov    -0x4(%ebp),%eax
415a91:	8b 10                	mov    (%eax),%edx
415a93:	ff 52 14             	call   *0x14(%edx)
415a96:	8b d8                	mov    %eax,%ebx
415a98:	4b                   	dec    %ebx
415a99:	85 db                	test   %ebx,%ebx
415a9b:	7c 1f                	jl     0x415abc
415a9d:	43                   	inc    %ebx
415a9e:	33 f6                	xor    %esi,%esi
415aa0:	8d 4d f4             	lea    -0xc(%ebp),%ecx
415aa3:	8b d6                	mov    %esi,%edx
415aa5:	8b 45 fc             	mov    -0x4(%ebp),%eax
415aa8:	8b 38                	mov    (%eax),%edi
415aaa:	ff 57 0c             	call   *0xc(%edi)
415aad:	8b 55 f4             	mov    -0xc(%ebp),%edx
415ab0:	8b 45 f8             	mov    -0x8(%ebp),%eax
415ab3:	e8 a8 41 00 00       	call   0x419c60
415ab8:	46                   	inc    %esi
415ab9:	4b                   	dec    %ebx
415aba:	75 e4                	jne    0x415aa0
415abc:	8b 45 f8             	mov    -0x8(%ebp),%eax
415abf:	e8 fc 40 00 00       	call   0x419bc0
415ac4:	33 c0                	xor    %eax,%eax
415ac6:	5a                   	pop    %edx
415ac7:	59                   	pop    %ecx
415ac8:	59                   	pop    %ecx
415ac9:	64 89 10             	mov    %edx,%fs:(%eax)
415acc:	68 e1 5a 41 00       	push   $0x415ae1
415ad1:	8d 45 f4             	lea    -0xc(%ebp),%eax
415ad4:	e8 bf e4 fe ff       	call   0x403f98
415ad9:	c3                   	ret
415ada:	e9 bd de fe ff       	jmp    0x40399c
415adf:	eb f0                	jmp    0x415ad1
415ae1:	5f                   	pop    %edi
415ae2:	5e                   	pop    %esi
415ae3:	5b                   	pop    %ebx
415ae4:	8b e5                	mov    %ebp,%esp
415ae6:	5d                   	pop    %ebp
415ae7:	c3                   	ret
415ae8:	8b c2                	mov    %edx,%eax
415aea:	8b d1                	mov    %ecx,%edx
415aec:	e8 1f 22 ff ff       	call   0x407d10
415af1:	c3                   	ret
415af2:	8b c0                	mov    %eax,%eax
415af4:	53                   	push   %ebx
415af5:	8b d8                	mov    %eax,%ebx
415af7:	f6 43 04 04          	testb  $0x4,0x4(%ebx)
415afb:	75 09                	jne    0x415b06
415afd:	b2 3d                	mov    $0x3d,%dl
415aff:	8b c3                	mov    %ebx,%eax
415b01:	e8 06 00 00 00       	call   0x415b0c
415b06:	8a 43 07             	mov    0x7(%ebx),%al
415b09:	5b                   	pop    %ebx
415b0a:	c3                   	ret
415b0b:	90                   	nop
415b0c:	53                   	push   %ebx
415b0d:	56                   	push   %esi
415b0e:	8b da                	mov    %edx,%ebx
415b10:	8b f0                	mov    %eax,%esi
415b12:	3a 5e 07             	cmp    0x7(%esi),%bl
415b15:	75 06                	jne    0x415b1d
415b17:	f6 46 04 04          	testb  $0x4,0x4(%esi)
415b1b:	75 07                	jne    0x415b24
415b1d:	80 4e 04 04          	orb    $0x4,0x4(%esi)
415b21:	88 5e 07             	mov    %bl,0x7(%esi)
415b24:	5e                   	pop    %esi
415b25:	5b                   	pop    %ebx
415b26:	c3                   	ret
415b27:	90                   	nop
415b28:	53                   	push   %ebx
415b29:	56                   	push   %esi
415b2a:	e8 a5 da fe ff       	call   0x4035d4
415b2f:	8b da                	mov    %edx,%ebx
415b31:	8b f0                	mov    %eax,%esi
415b33:	33 c0                	xor    %eax,%eax
415b35:	89 46 20             	mov    %eax,0x20(%esi)
415b38:	89 46 24             	mov    %eax,0x24(%esi)
415b3b:	33 c0                	xor    %eax,%eax
415b3d:	89 46 28             	mov    %eax,0x28(%esi)
415b40:	89 46 2c             	mov    %eax,0x2c(%esi)
415b43:	8b d3                	mov    %ebx,%edx
415b45:	80 e2 fc             	and    $0xfc,%dl
415b48:	8b c6                	mov    %esi,%eax
415b4a:	e8 75 f2 ff ff       	call   0x414dc4
415b4f:	8b 46 14             	mov    0x14(%esi),%eax
415b52:	85 c0                	test   %eax,%eax
415b54:	74 10                	je     0x415b66
415b56:	8b c8                	mov    %eax,%ecx
415b58:	8b 46 10             	mov    0x10(%esi),%eax
415b5b:	8b 15 0c 1e 41 00    	mov    0x411e0c,%edx
415b61:	e8 ba ee fe ff       	call   0x404a20
415b66:	33 c0                	xor    %eax,%eax
415b68:	89 46 14             	mov    %eax,0x14(%esi)
415b6b:	33 d2                	xor    %edx,%edx
415b6d:	8b c6                	mov    %esi,%eax
415b6f:	8b 08                	mov    (%eax),%ecx
415b71:	ff 51 28             	call   *0x28(%ecx)
415b74:	84 db                	test   %bl,%bl
415b76:	7e 07                	jle    0x415b7f
415b78:	8b c6                	mov    %esi,%eax
415b7a:	e8 3d da fe ff       	call   0x4035bc
415b7f:	5e                   	pop    %esi
415b80:	5b                   	pop    %ebx
415b81:	c3                   	ret
415b82:	8b c0                	mov    %eax,%eax
415b84:	53                   	push   %ebx
415b85:	33 c9                	xor    %ecx,%ecx
415b87:	8b 18                	mov    (%eax),%ebx
415b89:	ff 53 3c             	call   *0x3c(%ebx)
415b8c:	5b                   	pop    %ebx
415b8d:	c3                   	ret
415b8e:	8b c0                	mov    %eax,%eax
415b90:	53                   	push   %ebx
415b91:	56                   	push   %esi
415b92:	57                   	push   %edi
415b93:	55                   	push   %ebp
415b94:	51                   	push   %ecx
415b95:	8b f9                	mov    %ecx,%edi
415b97:	8b f2                	mov    %edx,%esi
415b99:	8b d8                	mov    %eax,%ebx
415b9b:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
415b9f:	75 08                	jne    0x415ba9
415ba1:	8b 43 14             	mov    0x14(%ebx),%eax
415ba4:	89 04 24             	mov    %eax,(%esp)
415ba7:	eb 2e                	jmp    0x415bd7
415ba9:	8b cc                	mov    %esp,%ecx
415bab:	8b d6                	mov    %esi,%edx
415bad:	8b c3                	mov    %ebx,%eax
415baf:	8b 28                	mov    (%eax),%ebp
415bb1:	ff 95 8c 00 00 00    	call   *0x8c(%ebp)
415bb7:	84 c0                	test   %al,%al
415bb9:	74 1c                	je     0x415bd7
415bbb:	8a 43 1d             	mov    0x1d(%ebx),%al
415bbe:	2c 01                	sub    $0x1,%al
415bc0:	72 26                	jb     0x415be8
415bc2:	fe c8                	dec    %al
415bc4:	74 02                	je     0x415bc8
415bc6:	eb 0f                	jmp    0x415bd7
415bc8:	8b 15 e8 da 46 00    	mov    0x46dae8,%edx
415bce:	33 c9                	xor    %ecx,%ecx
415bd0:	8b c3                	mov    %ebx,%eax
415bd2:	e8 69 f5 ff ff       	call   0x415140
415bd7:	57                   	push   %edi
415bd8:	8b ce                	mov    %esi,%ecx
415bda:	8b 54 24 04          	mov    0x4(%esp),%edx
415bde:	8b c3                	mov    %ebx,%eax
415be0:	8b 18                	mov    (%eax),%ebx
415be2:	ff 93 88 00 00 00    	call   *0x88(%ebx)
415be8:	8b 04 24             	mov    (%esp),%eax
415beb:	5a                   	pop    %edx
415bec:	5d                   	pop    %ebp
415bed:	5f                   	pop    %edi
415bee:	5e                   	pop    %esi
415bef:	5b                   	pop    %ebx
415bf0:	c3                   	ret
415bf1:	8d 40 00             	lea    0x0(%eax),%eax
415bf4:	53                   	push   %ebx
415bf5:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
415bf9:	75 11                	jne    0x415c0c
415bfb:	66 83 78 22 00       	cmpw   $0x0,0x22(%eax)
415c00:	74 0a                	je     0x415c0c
415c02:	8b d8                	mov    %eax,%ebx
415c04:	8b d0                	mov    %eax,%edx
415c06:	8b 43 24             	mov    0x24(%ebx),%eax
415c09:	ff 53 20             	call   *0x20(%ebx)
415c0c:	5b                   	pop    %ebx
415c0d:	c3                   	ret
415c0e:	8b c0                	mov    %eax,%eax
415c10:	53                   	push   %ebx
415c11:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
415c15:	75 11                	jne    0x415c28
415c17:	66 83 78 2a 00       	cmpw   $0x0,0x2a(%eax)
415c1c:	74 0a                	je     0x415c28
415c1e:	8b d8                	mov    %eax,%ebx
415c20:	8b d0                	mov    %eax,%edx
415c22:	8b 43 2c             	mov    0x2c(%ebx),%eax
415c25:	ff 53 28             	call   *0x28(%ebx)
415c28:	5b                   	pop    %ebx
415c29:	c3                   	ret
415c2a:	8b c0                	mov    %eax,%eax
415c2c:	53                   	push   %ebx
415c2d:	8b d8                	mov    %eax,%ebx
415c2f:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
415c33:	74 33                	je     0x415c68
415c35:	8b c3                	mov    %ebx,%eax
415c37:	8b 10                	mov    (%eax),%edx
415c39:	ff 92 84 00 00 00    	call   *0x84(%edx)
415c3f:	8b 43 10             	mov    0x10(%ebx),%eax
415c42:	8b 4b 14             	mov    0x14(%ebx),%ecx
415c45:	8b 15 0c 1e 41 00    	mov    0x411e0c,%edx
415c4b:	e8 d0 ed fe ff       	call   0x404a20
415c50:	33 c0                	xor    %eax,%eax
415c52:	89 43 14             	mov    %eax,0x14(%ebx)
415c55:	33 d2                	xor    %edx,%edx
415c57:	8b c3                	mov    %ebx,%eax
415c59:	8b 08                	mov    (%eax),%ecx
415c5b:	ff 51 28             	call   *0x28(%ecx)
415c5e:	8b c3                	mov    %ebx,%eax
415c60:	8b 10                	mov    (%eax),%edx
415c62:	ff 92 80 00 00 00    	call   *0x80(%edx)
415c68:	5b                   	pop    %ebx
415c69:	c3                   	ret
415c6a:	8b c0                	mov    %eax,%eax
415c6c:	53                   	push   %ebx
415c6d:	56                   	push   %esi
415c6e:	8b f2                	mov    %edx,%esi
415c70:	8b d8                	mov    %eax,%ebx
415c72:	85 f6                	test   %esi,%esi
415c74:	7c 05                	jl     0x415c7b
415c76:	3b 73 14             	cmp    0x14(%ebx),%esi
415c79:	7c 0f                	jl     0x415c8a
415c7b:	8b 15 14 dd 46 00    	mov    0x46dd14,%edx
415c81:	8b ce                	mov    %esi,%ecx
415c83:	8b c3                	mov    %ebx,%eax
415c85:	e8 b6 f4 ff ff       	call   0x415140
415c8a:	8b c3                	mov    %ebx,%eax
415c8c:	8b 10                	mov    (%eax),%edx
415c8e:	ff 92 84 00 00 00    	call   *0x84(%edx)
415c94:	8b 43 10             	mov    0x10(%ebx),%eax
415c97:	8d 04 f0             	lea    (%eax,%esi,8),%eax
415c9a:	8b 15 0c 1e 41 00    	mov    0x411e0c,%edx
415ca0:	e8 67 ee fe ff       	call   0x404b0c
415ca5:	ff 4b 14             	decl   0x14(%ebx)
415ca8:	8b 43 14             	mov    0x14(%ebx),%eax
415cab:	3b f0                	cmp    %eax,%esi
415cad:	7d 19                	jge    0x415cc8
415caf:	2b c6                	sub    %esi,%eax
415cb1:	8b c8                	mov    %eax,%ecx
415cb3:	c1 e1 03             	shl    $0x3,%ecx
415cb6:	8b 43 10             	mov    0x10(%ebx),%eax
415cb9:	8d 14 f0             	lea    (%eax,%esi,8),%edx
415cbc:	8b 43 10             	mov    0x10(%ebx),%eax
415cbf:	8d 44 f0 08          	lea    0x8(%eax,%esi,8),%eax
415cc3:	e8 f0 cb fe ff       	call   0x4028b8
415cc8:	8b c3                	mov    %ebx,%eax
415cca:	8b 10                	mov    (%eax),%edx
415ccc:	ff 92 80 00 00 00    	call   *0x80(%edx)
415cd2:	5e                   	pop    %esi
415cd3:	5b                   	pop    %ebx
415cd4:	c3                   	ret
415cd5:	8d 40 00             	lea    0x0(%eax),%eax
415cd8:	53                   	push   %ebx
415cd9:	56                   	push   %esi
415cda:	57                   	push   %edi
415cdb:	8b f9                	mov    %ecx,%edi
415cdd:	8b f2                	mov    %edx,%esi
415cdf:	8b d8                	mov    %eax,%ebx
415ce1:	85 f6                	test   %esi,%esi
415ce3:	7c 05                	jl     0x415cea
415ce5:	3b 73 14             	cmp    0x14(%ebx),%esi
415ce8:	7c 0f                	jl     0x415cf9
415cea:	8b 15 14 dd 46 00    	mov    0x46dd14,%edx
415cf0:	8b ce                	mov    %esi,%ecx
415cf2:	8b c3                	mov    %ebx,%eax
415cf4:	e8 47 f4 ff ff       	call   0x415140
415cf9:	85 ff                	test   %edi,%edi
415cfb:	7c 05                	jl     0x415d02
415cfd:	3b 7b 14             	cmp    0x14(%ebx),%edi
415d00:	7c 0f                	jl     0x415d11
415d02:	8b 15 14 dd 46 00    	mov    0x46dd14,%edx
415d08:	8b cf                	mov    %edi,%ecx
415d0a:	8b c3                	mov    %ebx,%eax
415d0c:	e8 2f f4 ff ff       	call   0x415140
415d11:	8b c3                	mov    %ebx,%eax
415d13:	8b 10                	mov    (%eax),%edx
415d15:	ff 92 84 00 00 00    	call   *0x84(%edx)
415d1b:	8b cf                	mov    %edi,%ecx
415d1d:	8b d6                	mov    %esi,%edx
415d1f:	8b c3                	mov    %ebx,%eax
415d21:	e8 0e 00 00 00       	call   0x415d34
415d26:	8b c3                	mov    %ebx,%eax
415d28:	8b 10                	mov    (%eax),%edx
415d2a:	ff 92 80 00 00 00    	call   *0x80(%edx)
415d30:	5f                   	pop    %edi
415d31:	5e                   	pop    %esi
415d32:	5b                   	pop    %ebx
415d33:	c3                   	ret
415d34:	53                   	push   %ebx
415d35:	8b 58 10             	mov    0x10(%eax),%ebx
415d38:	8d 14 d3             	lea    (%ebx,%edx,8),%edx
415d3b:	8b 40 10             	mov    0x10(%eax),%eax
415d3e:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
415d41:	8b 0a                	mov    (%edx),%ecx
415d43:	8b 18                	mov    (%eax),%ebx
415d45:	89 1a                	mov    %ebx,(%edx)
415d47:	89 08                	mov    %ecx,(%eax)
415d49:	8b 4a 04             	mov    0x4(%edx),%ecx