413b40:	43                   	inc    %ebx
413b41:	39 58 08             	cmp    %ebx,0x8(%eax)
413b44:	0f 85 63 3c 03 00    	jne    0x4477ad
413b4a:	8b 0e                	mov    (%esi),%ecx
413b4c:	53                   	push   %ebx
413b4d:	e8 19 53 ff ff       	call   0x408e6b
413b52:	8b 75 0c             	mov    0xc(%ebp),%esi
413b55:	8b f8                	mov    %eax,%edi
413b57:	8b ce                	mov    %esi,%ecx
413b59:	e8 c2 5e ff ff       	call   0x409a20
413b5e:	89 5e 0c             	mov    %ebx,0xc(%esi)
413b61:	89 3e                	mov    %edi,(%esi)
413b63:	5f                   	pop    %edi
413b64:	5e                   	pop    %esi
413b65:	33 c0                	xor    %eax,%eax
413b67:	5b                   	pop    %ebx
413b68:	8b e5                	mov    %ebp,%esp
413b6a:	5d                   	pop    %ebp
413b6b:	c2 08 00             	ret    $0x8
413b6e:	55                   	push   %ebp
413b6f:	8b ec                	mov    %esp,%ebp
413b71:	53                   	push   %ebx
413b72:	56                   	push   %esi
413b73:	8b 75 08             	mov    0x8(%ebp),%esi
413b76:	57                   	push   %edi
413b77:	56                   	push   %esi
413b78:	8b f9                	mov    %ecx,%edi
413b7a:	e8 2e 7e ff ff       	call   0x40b9ad
413b7f:	33 db                	xor    %ebx,%ebx
413b81:	8b cf                	mov    %edi,%ecx
413b83:	43                   	inc    %ebx
413b84:	53                   	push   %ebx
413b85:	e8 b3 7d ff ff       	call   0x40b93d
413b8a:	85 c0                	test   %eax,%eax
413b8c:	0f 8e 6c 3c 03 00    	jle    0x4477fe
413b92:	8b 46 04             	mov    0x4(%esi),%eax
413b95:	8b 70 08             	mov    0x8(%eax),%esi
413b98:	8b ce                	mov    %esi,%ecx
413b9a:	e8 f8 5d ff ff       	call   0x409997
413b9f:	8b 8f f0 01 00 00    	mov    0x1f0(%edi),%ecx
413ba5:	6a 00                	push   $0x0
413ba7:	ff 76 08             	push   0x8(%esi)
413baa:	e8 14 26 00 00       	call   0x4161c3
413baf:	84 c0                	test   %al,%al
413bb1:	0f 84 5a 3c 03 00    	je     0x447811
413bb7:	5f                   	pop    %edi
413bb8:	5e                   	pop    %esi
413bb9:	33 c0                	xor    %eax,%eax
413bbb:	5b                   	pop    %ebx
413bbc:	5d                   	pop    %ebp
413bbd:	c2 08 00             	ret    $0x8
413bc0:	55                   	push   %ebp
413bc1:	8b ec                	mov    %esp,%ebp
413bc3:	51                   	push   %ecx
413bc4:	83 c1 e4             	add    $0xffffffe4,%ecx
413bc7:	53                   	push   %ebx
413bc8:	56                   	push   %esi
413bc9:	57                   	push   %edi
413bca:	8b 31                	mov    (%ecx),%esi
413bcc:	33 ff                	xor    %edi,%edi
413bce:	4e                   	dec    %esi
413bcf:	89 4d fc             	mov    %ecx,-0x4(%ebp)
413bd2:	78 40                	js     0x413c14
413bd4:	8d 04 3e             	lea    (%esi,%edi,1),%eax
413bd7:	99                   	cltd
413bd8:	2b c2                	sub    %edx,%eax
413bda:	8b d8                	mov    %eax,%ebx
413bdc:	d1 fb                	sar    $1,%ebx
413bde:	53                   	push   %ebx
413bdf:	e8 ac 54 00 00       	call   0x419090
413be4:	ff 30                	push   (%eax)
413be6:	ff 75 08             	push   0x8(%ebp)
413be9:	e8 9e fb 00 00       	call   0x42378c
413bee:	59                   	pop    %ecx
413bef:	59                   	pop    %ecx
413bf0:	85 c0                	test   %eax,%eax
413bf2:	78 1b                	js     0x413c0f
413bf4:	7e 0a                	jle    0x413c00
413bf6:	8d 7b 01             	lea    0x1(%ebx),%edi
413bf9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
413bfc:	3b fe                	cmp    %esi,%edi
413bfe:	7e d4                	jle    0x413bd4
413c00:	3b fe                	cmp    %esi,%edi
413c02:	7f 10                	jg     0x413c14
413c04:	8b c3                	mov    %ebx,%eax
413c06:	5f                   	pop    %edi
413c07:	5e                   	pop    %esi
413c08:	5b                   	pop    %ebx
413c09:	8b e5                	mov    %ebp,%esp
413c0b:	5d                   	pop    %ebp
413c0c:	c2 04 00             	ret    $0x4
413c0f:	8d 73 ff             	lea    -0x1(%ebx),%esi
413c12:	eb e5                	jmp    0x413bf9
413c14:	83 c8 ff             	or     $0xffffffff,%eax
413c17:	eb ed                	jmp    0x413c06
413c19:	55                   	push   %ebp
413c1a:	8b ec                	mov    %esp,%ebp
413c1c:	56                   	push   %esi
413c1d:	57                   	push   %edi
413c1e:	8b f9                	mov    %ecx,%edi
413c20:	8b 07                	mov    (%edi),%eax
413c22:	8d 4f 04             	lea    0x4(%edi),%ecx
413c25:	8b 40 04             	mov    0x4(%eax),%eax
413c28:	03 c8                	add    %eax,%ecx
413c2a:	e8 79 c3 00 00       	call   0x41ffa8
413c2f:	8b 75 08             	mov    0x8(%ebp),%esi
413c32:	8d 8f d0 01 00 00    	lea    0x1d0(%edi),%ecx
413c38:	8d 46 08             	lea    0x8(%esi),%eax
413c3b:	50                   	push   %eax
413c3c:	e8 5b 62 ff ff       	call   0x409e9c
413c41:	8d 46 18             	lea    0x18(%esi),%eax
413c44:	50                   	push   %eax
413c45:	8d 8f e0 01 00 00    	lea    0x1e0(%edi),%ecx
413c4b:	e8 57 45 ff ff       	call   0x4081a7
413c50:	8b 46 28             	mov    0x28(%esi),%eax
413c53:	8d 8f f0 01 00 00    	lea    0x1f0(%edi),%ecx
413c59:	89 87 98 00 00 00    	mov    %eax,0x98(%edi)
413c5f:	8b 46 2c             	mov    0x2c(%esi),%eax
413c62:	89 87 f0 02 00 00    	mov    %eax,0x2f0(%edi)
413c68:	ff 76 30             	push   0x30(%esi)
413c6b:	e8 e7 22 00 00       	call   0x415f57
413c70:	8b 46 34             	mov    0x34(%esi),%eax
413c73:	8d 8f 2c 04 00 00    	lea    0x42c(%edi),%ecx
413c79:	89 87 f8 02 00 00    	mov    %eax,0x2f8(%edi)
413c7f:	8d 46 38             	lea    0x38(%esi),%eax
413c82:	50                   	push   %eax
413c83:	e8 1f 45 ff ff       	call   0x4081a7
413c88:	83 bf f8 00 00 00 01 	cmpl   $0x1,0xf8(%edi)
413c8f:	8b 46 48             	mov    0x48(%esi),%eax
413c92:	89 87 3c 04 00 00    	mov    %eax,0x43c(%edi)
413c98:	8b 46 4c             	mov    0x4c(%esi),%eax
413c9b:	89 87 40 04 00 00    	mov    %eax,0x440(%edi)
413ca1:	8b 46 50             	mov    0x50(%esi),%eax
413ca4:	89 87 48 04 00 00    	mov    %eax,0x448(%edi)
413caa:	74 09                	je     0x413cb5
413cac:	8b 46 54             	mov    0x54(%esi),%eax
413caf:	89 87 f8 00 00 00    	mov    %eax,0xf8(%edi)
413cb5:	8b 06                	mov    (%esi),%eax
413cb7:	51                   	push   %ecx
413cb8:	8b ce                	mov    %esi,%ecx
413cba:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
413cc0:	e8 81 d0 00 00       	call   0x420d46
413cc5:	5f                   	pop    %edi
413cc6:	5e                   	pop    %esi
413cc7:	5d                   	pop    %ebp
413cc8:	c2 04 00             	ret    $0x4
413ccb:	55                   	push   %ebp
413ccc:	8b ec                	mov    %esp,%ebp
413cce:	83 ec 38             	sub    $0x38,%esp
413cd1:	56                   	push   %esi
413cd2:	57                   	push   %edi
413cd3:	6a 58                	push   $0x58
413cd5:	8b f9                	mov    %ecx,%edi
413cd7:	e8 1a d3 00 00       	call   0x420ff6
413cdc:	59                   	pop    %ecx
413cdd:	85 c0                	test   %eax,%eax
413cdf:	0f 84 b8 00 00 00    	je     0x413d9d
413ce5:	8b c8                	mov    %eax,%ecx
413ce7:	e8 cf d0 00 00       	call   0x420dbb
413cec:	8b f0                	mov    %eax,%esi
413cee:	8b 87 f4 00 00 00    	mov    0xf4(%edi),%eax
413cf4:	8d 4e 08             	lea    0x8(%esi),%ecx
413cf7:	89 06                	mov    %eax,(%esi)
413cf9:	8d 87 d0 01 00 00    	lea    0x1d0(%edi),%eax
413cff:	50                   	push   %eax
413d00:	e8 97 61 ff ff       	call   0x409e9c
413d05:	8d 87 e0 01 00 00    	lea    0x1e0(%edi),%eax
413d0b:	50                   	push   %eax
413d0c:	8d 4e 18             	lea    0x18(%esi),%ecx
413d0f:	e8 93 44 ff ff       	call   0x4081a7
413d14:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
413d1a:	8d 4e 38             	lea    0x38(%esi),%ecx
413d1d:	89 46 28             	mov    %eax,0x28(%esi)
413d20:	8b 87 f0 02 00 00    	mov    0x2f0(%edi),%eax
413d26:	89 46 2c             	mov    %eax,0x2c(%esi)
413d29:	8b 87 f0 01 00 00    	mov    0x1f0(%edi),%eax
413d2f:	8b 00                	mov    (%eax),%eax
413d31:	89 46 30             	mov    %eax,0x30(%esi)
413d34:	8b 87 f8 02 00 00    	mov    0x2f8(%edi),%eax
413d3a:	89 46 34             	mov    %eax,0x34(%esi)
413d3d:	8d 87 2c 04 00 00    	lea    0x42c(%edi),%eax
413d43:	50                   	push   %eax
413d44:	e8 5e 44 ff ff       	call   0x4081a7
413d49:	8b 87 3c 04 00 00    	mov    0x43c(%edi),%eax
413d4f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
413d52:	89 46 48             	mov    %eax,0x48(%esi)
413d55:	8b 87 40 04 00 00    	mov    0x440(%edi),%eax
413d5b:	89 46 4c             	mov    %eax,0x4c(%esi)
413d5e:	8b 87 48 04 00 00    	mov    0x448(%edi),%eax
413d64:	89 46 50             	mov    %eax,0x50(%esi)
413d67:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
413d6d:	89 46 54             	mov    %eax,0x54(%esi)
413d70:	e8 0a c3 00 00       	call   0x42007f
413d75:	50                   	push   %eax
413d76:	8b 07                	mov    (%edi),%eax
413d78:	8d 4f 04             	lea    0x4(%edi),%ecx
413d7b:	8b 40 04             	mov    0x4(%eax),%eax
413d7e:	03 c8                	add    %eax,%ecx
413d80:	e8 59 c2 00 00       	call   0x41ffde
413d85:	8d 4d e8             	lea    -0x18(%ebp),%ecx
413d88:	e8 93 5c ff ff       	call   0x409a20
413d8d:	8d 4d c8             	lea    -0x38(%ebp),%ecx
413d90:	e8 8b 5c ff ff       	call   0x409a20
413d95:	5f                   	pop    %edi
413d96:	8b c6                	mov    %esi,%eax
413d98:	5e                   	pop    %esi
413d99:	8b e5                	mov    %ebp,%esp
413d9b:	5d                   	pop    %ebp
413d9c:	c3                   	ret
413d9d:	33 f6                	xor    %esi,%esi
413d9f:	e9 4a ff ff ff       	jmp    0x413cee
413da4:	55                   	push   %ebp
413da5:	8b ec                	mov    %esp,%ebp
413da7:	51                   	push   %ecx
413da8:	53                   	push   %ebx
413da9:	33 db                	xor    %ebx,%ebx
413dab:	56                   	push   %esi
413dac:	8b 75 08             	mov    0x8(%ebp),%esi
413daf:	8a d3                	mov    %bl,%dl
413db1:	8b 06                	mov    (%esi),%eax
413db3:	50                   	push   %eax
413db4:	8d 48 01             	lea    0x1(%eax),%ecx
413db7:	89 0e                	mov    %ecx,(%esi)
413db9:	e8 0a 34 ff ff       	call   0x4071c8
413dbe:	85 c0                	test   %eax,%eax
413dc0:	74 1b                	je     0x413ddd
413dc2:	49                   	dec    %ecx
413dc3:	89 0d 04 64 4c 00    	mov    %ecx,0x4c6404
413dc9:	8b 40 04             	mov    0x4(%eax),%eax
413dcc:	8b 00                	mov    (%eax),%eax
413dce:	66 39 58 08          	cmp    %bx,0x8(%eax)
413dd2:	75 05                	jne    0x413dd9
413dd4:	83 38 21             	cmpl   $0x21,(%eax)
413dd7:	74 0d                	je     0x413de6
413dd9:	84 d2                	test   %dl,%dl
413ddb:	74 d4                	je     0x413db1
413ddd:	5e                   	pop    %esi
413dde:	33 c0                	xor    %eax,%eax
413de0:	5b                   	pop    %ebx
413de1:	59                   	pop    %ecx
413de2:	5d                   	pop    %ebp
413de3:	c2 04 00             	ret    $0x4
413de6:	b2 01                	mov    $0x1,%dl
413de8:	eb ef                	jmp    0x413dd9
413dea:	55                   	push   %ebp
413deb:	8b ec                	mov    %esp,%ebp
413ded:	83 ec 68             	sub    $0x68,%esp
413df0:	53                   	push   %ebx
413df1:	56                   	push   %esi
413df2:	57                   	push   %edi
413df3:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
413df6:	e8 cc 39 ff ff       	call   0x4077c7
413dfb:	33 c0                	xor    %eax,%eax
413dfd:	c7 45 d0 68 f9 48 00 	movl   $0x48f968,-0x30(%ebp)
413e04:	89 45 e8             	mov    %eax,-0x18(%ebp)
413e07:	8d 4d c0             	lea    -0x40(%ebp),%ecx
413e0a:	89 45 d4             	mov    %eax,-0x2c(%ebp)
413e0d:	83 cf ff             	or     $0xffffffff,%edi
413e10:	89 45 d8             	mov    %eax,-0x28(%ebp)
413e13:	89 45 dc             	mov    %eax,-0x24(%ebp)
413e16:	89 45 f4             	mov    %eax,-0xc(%ebp)
413e19:	8b 45 14             	mov    0x14(%ebp),%eax
413e1c:	89 7d f0             	mov    %edi,-0x10(%ebp)
413e1f:	8b 00                	mov    (%eax),%eax
413e21:	48                   	dec    %eax
413e22:	89 45 e0             	mov    %eax,-0x20(%ebp)
413e25:	e8 9d 39 ff ff       	call   0x4077c7
413e2a:	8b 5d 08             	mov    0x8(%ebp),%ebx
413e2d:	8b 75 0c             	mov    0xc(%ebp),%esi
413e30:	6a 48                	push   $0x48
413e32:	59                   	pop    %ecx
413e33:	8b 53 04             	mov    0x4(%ebx),%edx
413e36:	8b 06                	mov    (%esi),%eax
413e38:	c7 45 e4 7f 00 00 00 	movl   $0x7f,-0x1c(%ebp)
413e3f:	8b 04 82             	mov    (%edx,%eax,4),%eax
413e42:	0f b7 40 08          	movzwl 0x8(%eax),%eax
413e46:	66 3b c1             	cmp    %cx,%ax
413e49:	0f 84 17 01 00 00    	je     0x413f66
413e4f:	c7 45 ec 40 00 00 00 	movl   $0x40,-0x14(%ebp)
413e56:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
413e5a:	66 85 c0             	test   %ax,%ax
413e5d:	0f 84 c3 39 03 00    	je     0x447826
413e63:	8b 06                	mov    (%esi),%eax
413e65:	8b 04 82             	mov    (%edx,%eax,4),%eax
413e68:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
413e6d:	0f 85 ee 39 03 00    	jne    0x447861
413e73:	ff 30                	push   (%eax)
413e75:	8d 4d c0             	lea    -0x40(%ebp),%ecx
413e78:	e8 2a 43 ff ff       	call   0x4081a7
413e7d:	8b 45 d8             	mov    -0x28(%ebp),%eax
413e80:	33 ff                	xor    %edi,%edi
413e82:	85 c0                	test   %eax,%eax
413e84:	74 22                	je     0x413ea8
413e86:	8b 75 d4             	mov    -0x2c(%ebp),%esi
413e89:	8b d8                	mov    %eax,%ebx
413e8b:	8b 0c be             	mov    (%esi,%edi,4),%ecx
413e8e:	8d 55 c0             	lea    -0x40(%ebp),%edx
413e91:	e8 53 20 00 00       	call   0x415ee9
413e96:	84 c0                	test   %al,%al
413e98:	75 05                	jne    0x413e9f
413e9a:	47                   	inc    %edi
413e9b:	3b fb                	cmp    %ebx,%edi
413e9d:	72 ec                	jb     0x413e8b
413e9f:	8b 75 0c             	mov    0xc(%ebp),%esi
413ea2:	8b 5d 08             	mov    0x8(%ebp),%ebx
413ea5:	8b 45 d8             	mov    -0x28(%ebp),%eax
413ea8:	3b f8                	cmp    %eax,%edi
413eaa:	0f 85 c5 39 03 00    	jne    0x447875
413eb0:	8d 45 c0             	lea    -0x40(%ebp),%eax
413eb3:	50                   	push   %eax
413eb4:	8d 4d d0             	lea    -0x30(%ebp),%ecx
413eb7:	e8 c8 00 ff ff       	call   0x403f84
413ebc:	ff 06                	incl   (%esi)
413ebe:	8b 0e                	mov    (%esi),%ecx
413ec0:	8b 53 04             	mov    0x4(%ebx),%edx
413ec3:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
413ec6:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
413ecb:	75 48                	jne    0x413f15
413ecd:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
413ed1:	75 42                	jne    0x413f15
413ed3:	8d 41 01             	lea    0x1(%ecx),%eax
413ed6:	33 c9                	xor    %ecx,%ecx
413ed8:	8b f8                	mov    %eax,%edi
413eda:	89 06                	mov    %eax,(%esi)
413edc:	8b 04 ba             	mov    (%edx,%edi,4),%eax
413edf:	0f b7 40 08          	movzwl 0x8(%eax),%eax
413ee3:	66 83 f8 47          	cmp    $0x47,%ax
413ee7:	0f 84 47 01 00 00    	je     0x414034
413eed:	6a 48                	push   $0x48
413eef:	5b                   	pop    %ebx
413ef0:	66 3b c3             	cmp    %bx,%ax
413ef3:	8b 5d 08             	mov    0x8(%ebp),%ebx
413ef6:	0f 84 30 01 00 00    	je     0x41402c
413efc:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
413f00:	0f 84 e7 00 00 00    	je     0x413fed
413f06:	66 3b 45 e4          	cmp    -0x1c(%ebp),%ax
413f0a:	0f 84 2a 01 00 00    	je     0x41403a
413f10:	8d 47 01             	lea    0x1(%edi),%eax
413f13:	eb c3                	jmp    0x413ed8
413f15:	8b 7d f0             	mov    -0x10(%ebp),%edi
413f18:	83 ff ff             	cmp    $0xffffffff,%edi
413f1b:	0f 85 19 01 00 00    	jne    0x41403a
413f21:	8b 45 f4             	mov    -0xc(%ebp),%eax
413f24:	8b 0e                	mov    (%esi),%ecx
413f26:	40                   	inc    %eax
413f27:	89 45 f4             	mov    %eax,-0xc(%ebp)
413f2a:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
413f2d:	0f b7 40 08          	movzwl 0x8(%eax),%eax
413f31:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
413f35:	0f 85 d3 00 00 00    	jne    0x41400e