473c1b:	3b c1                	cmp    %ecx,%eax
473c1d:	75 1f                	jne    0x473c3e
473c1f:	8b 41 08             	mov    0x8(%ecx),%eax
473c22:	83 c0 0c             	add    $0xc,%eax
473c25:	57                   	push   %edi
473c26:	50                   	push   %eax
473c27:	e8 90 02 00 00       	call   0x473ebc
473c2c:	84 c0                	test   %al,%al
473c2e:	0f 84 a4 00 00 00    	je     0x473cd8
473c34:	8b 43 04             	mov    0x4(%ebx),%eax
473c37:	57                   	push   %edi
473c38:	ff 70 08             	push   0x8(%eax)
473c3b:	56                   	push   %esi
473c3c:	eb a9                	jmp    0x473be7
473c3e:	8d 70 0c             	lea    0xc(%eax),%esi
473c41:	56                   	push   %esi
473c42:	57                   	push   %edi
473c43:	e8 74 02 00 00       	call   0x473ebc
473c48:	84 c0                	test   %al,%al
473c4a:	74 36                	je     0x473c82
473c4c:	8b 45 0c             	mov    0xc(%ebp),%eax
473c4f:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
473c53:	89 44 24 0c          	mov    %eax,0xc(%esp)
473c57:	e8 8c 02 00 00       	call   0x473ee8
473c5c:	57                   	push   %edi
473c5d:	8b 00                	mov    (%eax),%eax
473c5f:	83 c0 0c             	add    $0xc,%eax
473c62:	50                   	push   %eax
473c63:	e8 54 02 00 00       	call   0x473ebc
473c68:	84 c0                	test   %al,%al
473c6a:	74 16                	je     0x473c82
473c6c:	8b 44 24 0c          	mov    0xc(%esp),%eax
473c70:	8b 48 08             	mov    0x8(%eax),%ecx
473c73:	80 79 2d 00          	cmpb   $0x0,0x2d(%ecx)
473c77:	74 9c                	je     0x473c15
473c79:	57                   	push   %edi
473c7a:	50                   	push   %eax
473c7b:	6a 00                	push   $0x0
473c7d:	e9 65 ff ff ff       	jmp    0x473be7
473c82:	57                   	push   %edi
473c83:	56                   	push   %esi
473c84:	e8 33 02 00 00       	call   0x473ebc
473c89:	84 c0                	test   %al,%al
473c8b:	74 4b                	je     0x473cd8
473c8d:	8b 45 0c             	mov    0xc(%ebp),%eax
473c90:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
473c94:	8b 73 04             	mov    0x4(%ebx),%esi
473c97:	89 44 24 0c          	mov    %eax,0xc(%esp)
473c9b:	e8 8e fe ff ff       	call   0x473b2e
473ca0:	39 30                	cmp    %esi,(%eax)
473ca2:	74 12                	je     0x473cb6
473ca4:	8b 44 24 0c          	mov    0xc(%esp),%eax
473ca8:	83 c0 0c             	add    $0xc,%eax
473cab:	50                   	push   %eax
473cac:	57                   	push   %edi
473cad:	e8 0a 02 00 00       	call   0x473ebc
473cb2:	84 c0                	test   %al,%al
473cb4:	74 22                	je     0x473cd8
473cb6:	8b 45 0c             	mov    0xc(%ebp),%eax
473cb9:	57                   	push   %edi
473cba:	8b 48 08             	mov    0x8(%eax),%ecx
473cbd:	80 79 2d 00          	cmpb   $0x0,0x2d(%ecx)
473cc1:	8b cb                	mov    %ebx,%ecx
473cc3:	74 08                	je     0x473ccd
473cc5:	50                   	push   %eax
473cc6:	6a 00                	push   $0x0
473cc8:	e9 1c ff ff ff       	jmp    0x473be9
473ccd:	ff 74 24 10          	push   0x10(%esp)
473cd1:	6a 01                	push   $0x1
473cd3:	e9 11 ff ff ff       	jmp    0x473be9
473cd8:	57                   	push   %edi
473cd9:	8d 44 24 14          	lea    0x14(%esp),%eax
473cdd:	8b cb                	mov    %ebx,%ecx
473cdf:	50                   	push   %eax
473ce0:	e8 a5 06 00 00       	call   0x47438a
473ce5:	8b 08                	mov    (%eax),%ecx
473ce7:	8b 45 08             	mov    0x8(%ebp),%eax
473cea:	89 08                	mov    %ecx,(%eax)
473cec:	5f                   	pop    %edi
473ced:	5e                   	pop    %esi
473cee:	5b                   	pop    %ebx
473cef:	8b e5                	mov    %ebp,%esp
473cf1:	5d                   	pop    %ebp
473cf2:	c2 0c 00             	ret    $0xc
473cf5:	8b ff                	mov    %edi,%edi
473cf7:	56                   	push   %esi
473cf8:	8b f1                	mov    %ecx,%esi
473cfa:	8b 16                	mov    (%esi),%edx
473cfc:	80 7a 45 00          	cmpb   $0x0,0x45(%edx)
473d00:	74 11                	je     0x473d13
473d02:	33 c0                	xor    %eax,%eax
473d04:	50                   	push   %eax
473d05:	50                   	push   %eax
473d06:	50                   	push   %eax
473d07:	50                   	push   %eax
473d08:	50                   	push   %eax
473d09:	e8 58 c5 01 00       	call   0x490266
473d0e:	83 c4 14             	add    $0x14,%esp
473d11:	eb 3a                	jmp    0x473d4d
473d13:	8b 4a 08             	mov    0x8(%edx),%ecx
473d16:	80 79 45 00          	cmpb   $0x0,0x45(%ecx)
473d1a:	75 18                	jne    0x473d34
473d1c:	8b 11                	mov    (%ecx),%edx
473d1e:	80 7a 45 00          	cmpb   $0x0,0x45(%edx)
473d22:	75 0c                	jne    0x473d30
473d24:	8b 02                	mov    (%edx),%eax
473d26:	8b ca                	mov    %edx,%ecx
473d28:	8b d0                	mov    %eax,%edx
473d2a:	80 78 45 00          	cmpb   $0x0,0x45(%eax)
473d2e:	74 f4                	je     0x473d24
473d30:	89 0e                	mov    %ecx,(%esi)
473d32:	eb 19                	jmp    0x473d4d
473d34:	8b 42 04             	mov    0x4(%edx),%eax
473d37:	eb 0c                	jmp    0x473d45
473d39:	3b 50 08             	cmp    0x8(%eax),%edx
473d3c:	75 0d                	jne    0x473d4b
473d3e:	89 06                	mov    %eax,(%esi)
473d40:	8b d0                	mov    %eax,%edx
473d42:	8b 40 04             	mov    0x4(%eax),%eax
473d45:	80 78 45 00          	cmpb   $0x0,0x45(%eax)
473d49:	74 ee                	je     0x473d39
473d4b:	89 06                	mov    %eax,(%esi)
473d4d:	8b c6                	mov    %esi,%eax
473d4f:	5e                   	pop    %esi
473d50:	c3                   	ret
473d51:	8b ff                	mov    %edi,%edi
473d53:	55                   	push   %ebp
473d54:	8b ec                	mov    %esp,%ebp
473d56:	56                   	push   %esi
473d57:	57                   	push   %edi
473d58:	8b 79 04             	mov    0x4(%ecx),%edi
473d5b:	8b 77 04             	mov    0x4(%edi),%esi
473d5e:	eb 19                	jmp    0x473d79
473d60:	ff 75 0c             	push   0xc(%ebp)
473d63:	8d 46 0c             	lea    0xc(%esi),%eax
473d66:	50                   	push   %eax
473d67:	e8 50 01 00 00       	call   0x473ebc
473d6c:	84 c0                	test   %al,%al
473d6e:	74 05                	je     0x473d75
473d70:	8b 76 08             	mov    0x8(%esi),%esi
473d73:	eb 04                	jmp    0x473d79
473d75:	8b fe                	mov    %esi,%edi
473d77:	8b 36                	mov    (%esi),%esi
473d79:	80 7e 45 00          	cmpb   $0x0,0x45(%esi)
473d7d:	74 e1                	je     0x473d60
473d7f:	8b 45 08             	mov    0x8(%ebp),%eax
473d82:	89 38                	mov    %edi,(%eax)
473d84:	5f                   	pop    %edi
473d85:	5e                   	pop    %esi
473d86:	5d                   	pop    %ebp
473d87:	c2 08 00             	ret    $0x8
473d8a:	8b ff                	mov    %edi,%edi
473d8c:	55                   	push   %ebp
473d8d:	8b ec                	mov    %esp,%ebp
473d8f:	83 e4 f8             	and    $0xfffffff8,%esp
473d92:	83 ec 0c             	sub    $0xc,%esp
473d95:	53                   	push   %ebx
473d96:	8b d9                	mov    %ecx,%ebx
473d98:	56                   	push   %esi
473d99:	33 f6                	xor    %esi,%esi
473d9b:	57                   	push   %edi
473d9c:	8b 4b 04             	mov    0x4(%ebx),%ecx
473d9f:	89 74 24 0c          	mov    %esi,0xc(%esp)
473da3:	39 73 08             	cmp    %esi,0x8(%ebx)
473da6:	75 18                	jne    0x473dc0
473da8:	ff 75 10             	push   0x10(%ebp)
473dab:	51                   	push   %ecx
473dac:	6a 01                	push   $0x1
473dae:	8b cb                	mov    %ebx,%ecx
473db0:	ff 75 08             	push   0x8(%ebp)
473db3:	e8 f3 06 00 00       	call   0x4744ab
473db8:	8b 45 08             	mov    0x8(%ebp),%eax
473dbb:	e9 f3 00 00 00       	jmp    0x473eb3
473dc0:	8b 45 0c             	mov    0xc(%ebp),%eax
473dc3:	8b 7d 10             	mov    0x10(%ebp),%edi
473dc6:	3b 01                	cmp    (%ecx),%eax
473dc8:	75 18                	jne    0x473de2
473dca:	83 c0 0c             	add    $0xc,%eax
473dcd:	50                   	push   %eax
473dce:	57                   	push   %edi
473dcf:	e8 e8 00 00 00       	call   0x473ebc
473dd4:	84 c0                	test   %al,%al
473dd6:	0f 84 c3 00 00 00    	je     0x473e9f
473ddc:	57                   	push   %edi
473ddd:	ff 75 0c             	push   0xc(%ebp)
473de0:	eb ca                	jmp    0x473dac
473de2:	3b c1                	cmp    %ecx,%eax
473de4:	75 1f                	jne    0x473e05
473de6:	8b 41 08             	mov    0x8(%ecx),%eax
473de9:	83 c0 0c             	add    $0xc,%eax
473dec:	57                   	push   %edi
473ded:	50                   	push   %eax
473dee:	e8 c9 00 00 00       	call   0x473ebc
473df3:	84 c0                	test   %al,%al
473df5:	0f 84 a4 00 00 00    	je     0x473e9f
473dfb:	8b 43 04             	mov    0x4(%ebx),%eax
473dfe:	57                   	push   %edi
473dff:	ff 70 08             	push   0x8(%eax)
473e02:	56                   	push   %esi
473e03:	eb a9                	jmp    0x473dae
473e05:	8d 70 0c             	lea    0xc(%eax),%esi
473e08:	56                   	push   %esi
473e09:	57                   	push   %edi
473e0a:	e8 ad 00 00 00       	call   0x473ebc
473e0f:	84 c0                	test   %al,%al
473e11:	74 36                	je     0x473e49
473e13:	8b 45 0c             	mov    0xc(%ebp),%eax
473e16:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
473e1a:	89 44 24 0c          	mov    %eax,0xc(%esp)
473e1e:	e8 21 06 00 00       	call   0x474444
473e23:	57                   	push   %edi
473e24:	8b 00                	mov    (%eax),%eax
473e26:	83 c0 0c             	add    $0xc,%eax
473e29:	50                   	push   %eax
473e2a:	e8 8d 00 00 00       	call   0x473ebc
473e2f:	84 c0                	test   %al,%al
473e31:	74 16                	je     0x473e49
473e33:	8b 44 24 0c          	mov    0xc(%esp),%eax
473e37:	8b 48 08             	mov    0x8(%eax),%ecx
473e3a:	80 79 45 00          	cmpb   $0x0,0x45(%ecx)
473e3e:	74 9c                	je     0x473ddc
473e40:	57                   	push   %edi
473e41:	50                   	push   %eax
473e42:	6a 00                	push   $0x0
473e44:	e9 65 ff ff ff       	jmp    0x473dae
473e49:	57                   	push   %edi
473e4a:	56                   	push   %esi
473e4b:	e8 6c 00 00 00       	call   0x473ebc
473e50:	84 c0                	test   %al,%al
473e52:	74 4b                	je     0x473e9f
473e54:	8b 45 0c             	mov    0xc(%ebp),%eax
473e57:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
473e5b:	8b 73 04             	mov    0x4(%ebx),%esi
473e5e:	89 44 24 0c          	mov    %eax,0xc(%esp)
473e62:	e8 8e fe ff ff       	call   0x473cf5
473e67:	39 30                	cmp    %esi,(%eax)
473e69:	74 12                	je     0x473e7d
473e6b:	8b 44 24 0c          	mov    0xc(%esp),%eax
473e6f:	83 c0 0c             	add    $0xc,%eax
473e72:	50                   	push   %eax
473e73:	57                   	push   %edi
473e74:	e8 43 00 00 00       	call   0x473ebc
473e79:	84 c0                	test   %al,%al
473e7b:	74 22                	je     0x473e9f
473e7d:	8b 45 0c             	mov    0xc(%ebp),%eax
473e80:	57                   	push   %edi
473e81:	8b 48 08             	mov    0x8(%eax),%ecx
473e84:	80 79 45 00          	cmpb   $0x0,0x45(%ecx)
473e88:	8b cb                	mov    %ebx,%ecx
473e8a:	74 08                	je     0x473e94
473e8c:	50                   	push   %eax
473e8d:	6a 00                	push   $0x0
473e8f:	e9 1c ff ff ff       	jmp    0x473db0
473e94:	ff 74 24 10          	push   0x10(%esp)
473e98:	6a 01                	push   $0x1
473e9a:	e9 11 ff ff ff       	jmp    0x473db0
473e9f:	57                   	push   %edi
473ea0:	8d 44 24 14          	lea    0x14(%esp),%eax
473ea4:	8b cb                	mov    %ebx,%ecx
473ea6:	50                   	push   %eax
473ea7:	e8 c8 07 00 00       	call   0x474674
473eac:	8b 08                	mov    (%eax),%ecx
473eae:	8b 45 08             	mov    0x8(%ebp),%eax
473eb1:	89 08                	mov    %ecx,(%eax)
473eb3:	5f                   	pop    %edi
473eb4:	5e                   	pop    %esi
473eb5:	5b                   	pop    %ebx
473eb6:	8b e5                	mov    %ebp,%esp
473eb8:	5d                   	pop    %ebp
473eb9:	c2 0c 00             	ret    $0xc
473ebc:	8b ff                	mov    %edi,%edi
473ebe:	55                   	push   %ebp
473ebf:	8b ec                	mov    %esp,%ebp
473ec1:	8b 45 0c             	mov    0xc(%ebp),%eax
473ec4:	83 78 18 08          	cmpl   $0x8,0x18(%eax)
473ec8:	8d 48 04             	lea    0x4(%eax),%ecx
473ecb:	72 02                	jb     0x473ecf
473ecd:	8b 09                	mov    (%ecx),%ecx
473ecf:	ff 70 14             	push   0x14(%eax)
473ed2:	51                   	push   %ecx
473ed3:	8b 4d 08             	mov    0x8(%ebp),%ecx
473ed6:	ff 71 14             	push   0x14(%ecx)
473ed9:	51                   	push   %ecx
473eda:	e8 44 14 00 00       	call   0x475323
473edf:	85 c0                	test   %eax,%eax
473ee1:	0f 98 c0             	sets   %al
473ee4:	5d                   	pop    %ebp
473ee5:	c2 08 00             	ret    $0x8
473ee8:	8b ff                	mov    %edi,%edi
473eea:	55                   	push   %ebp
473eeb:	8b ec                	mov    %esp,%ebp
473eed:	51                   	push   %ecx
473eee:	8b d1                	mov    %ecx,%edx
473ef0:	8b 02                	mov    (%edx),%eax
473ef2:	80 78 2d 00          	cmpb   $0x0,0x2d(%eax)
473ef6:	74 07                	je     0x473eff
473ef8:	8b 40 08             	mov    0x8(%eax),%eax
473efb:	89 02                	mov    %eax,(%edx)
473efd:	eb 3f                	jmp    0x473f3e
473eff:	8b 08                	mov    (%eax),%ecx
473f01:	80 79 2d 00          	cmpb   $0x0,0x2d(%ecx)
473f05:	74 3d                	je     0x473f44
473f07:	8b 48 04             	mov    0x4(%eax),%ecx
473f0a:	80 79 2d 00          	cmpb   $0x0,0x2d(%ecx)
473f0e:	75 26                	jne    0x473f36
473f10:	56                   	push   %esi
473f11:	57                   	push   %edi
473f12:	8b f0                	mov    %eax,%esi
473f14:	8b f8                	mov    %eax,%edi
473f16:	53                   	push   %ebx
473f17:	8b d9                	mov    %ecx,%ebx
473f19:	89 4d fc             	mov    %ecx,-0x4(%ebp)
473f1c:	8b c7                	mov    %edi,%eax
473f1e:	3b 31                	cmp    (%ecx),%esi
473f20:	75 11                	jne    0x473f33
473f22:	89 0a                	mov    %ecx,(%edx)
473f24:	8b f1                	mov    %ecx,%esi
473f26:	8b 49 04             	mov    0x4(%ecx),%ecx
473f29:	8b fe                	mov    %esi,%edi
473f2b:	8b c3                	mov    %ebx,%eax
473f2d:	80 79 2d 00          	cmpb   $0x0,0x2d(%ecx)
473f31:	74 e4                	je     0x473f17
473f33:	5b                   	pop    %ebx
473f34:	5f                   	pop    %edi
473f35:	5e                   	pop    %esi
473f36:	80 78 2d 00          	cmpb   $0x0,0x2d(%eax)
473f3a:	75 02                	jne    0x473f3e
473f3c:	89 0a                	mov    %ecx,(%edx)
473f3e:	8b c2                	mov    %edx,%eax
473f40:	c9                   	leave
473f41:	c3                   	ret
473f42:	8b c8                	mov    %eax,%ecx
473f44:	8b 41 08             	mov    0x8(%ecx),%eax
473f47:	80 78 2d 00          	cmpb   $0x0,0x2d(%eax)
473f4b:	74 f5                	je     0x473f42
473f4d:	eb ed                	jmp    0x473f3c
473f4f:	6a 4c                	push   $0x4c
473f51:	b8 be 12 49 00       	mov    $0x4912be,%eax
473f56:	e8 ab c5 01 00       	call   0x490506
473f5b:	8b f1                	mov    %ecx,%esi
473f5d:	81 7e 08 fe ff ff 07 	cmpl   $0x7fffffe,0x8(%esi)
473f64:	8b 45 08             	mov    0x8(%ebp),%eax
473f67:	8b 7d 10             	mov    0x10(%ebp),%edi
473f6a:	89 45 a8             	mov    %eax,-0x58(%ebp)
473f6d:	8b 45 14             	mov    0x14(%ebp),%eax
473f70:	0f 83 06 01 00 00    	jae    0x47407c
473f76:	51                   	push   %ecx
473f77:	50                   	push   %eax
473f78:	ff 76 04             	push   0x4(%esi)
473f7b:	57                   	push   %edi