474c57:	89 45 f8             	mov    %eax,-0x8(%ebp)
474c5a:	8b 41 14             	mov    0x14(%ecx),%eax
474c5d:	89 45 fc             	mov    %eax,-0x4(%ebp)
474c60:	ff 00                	incl   (%eax)
474c62:	52                   	push   %edx
474c63:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
474c69:	50                   	push   %eax
474c6a:	89 55 f0             	mov    %edx,-0x10(%ebp)
474c6d:	e8 b1 c0 fa ff       	call   0x420d23
474c72:	59                   	pop    %ecx
474c73:	59                   	pop    %ecx
474c74:	8d 4d f0             	lea    -0x10(%ebp),%ecx
474c77:	e8 bb 7e f9 ff       	call   0x40cb37
474c7c:	e9 32 47 f9 ff       	jmp    0x4093b3
474c81:	80 3e 00             	cmpb   $0x0,(%esi)
474c84:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
474c8a:	74 07                	je     0x474c93
474c8c:	68 a8 38 4b 00       	push   $0x4b38a8
474c91:	eb 05                	jmp    0x474c98
474c93:	68 b4 38 4b 00       	push   $0x4b38b4
474c98:	50                   	push   %eax
474c99:	e8 85 c0 fa ff       	call   0x420d23
474c9e:	59                   	pop    %ecx
474c9f:	59                   	pop    %ecx
474ca0:	e9 0e 47 f9 ff       	jmp    0x4093b3
474ca5:	ff 36                	push   (%esi)
474ca7:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
474cad:	68 9c 38 4b 00       	push   $0x4b389c
474cb2:	50                   	push   %eax
474cb3:	e8 73 ca fa ff       	call   0x42172b
474cb8:	e9 27 47 f9 ff       	jmp    0x4093e4
474cbd:	6a 0a                	push   $0xa
474cbf:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
474cc5:	50                   	push   %eax
474cc6:	ff 76 04             	push   0x4(%esi)
474cc9:	ff 36                	push   (%esi)
474ccb:	e8 57 c8 fa ff       	call   0x421527
474cd0:	e9 db 46 f9 ff       	jmp    0x4093b0
474cd5:	8b 06                	mov    (%esi),%eax
474cd7:	85 c0                	test   %eax,%eax
474cd9:	0f 84 54 df f9 ff    	je     0x412c33
474cdf:	50                   	push   %eax
474ce0:	ff 15 4c d4 48 00    	call   *0x48d44c
474ce6:	ff 36                	push   (%esi)
474ce8:	e8 71 a8 fa ff       	call   0x41f55e
474ced:	83 c4 04             	add    $0x4,%esp
474cf0:	e9 3e df f9 ff       	jmp    0x412c33
474cf5:	8b 0e                	mov    (%esi),%ecx
474cf7:	85 c9                	test   %ecx,%ecx
474cf9:	0f 84 34 df f9 ff    	je     0x412c33
474cff:	51                   	push   %ecx
474d00:	e8 66 54 fd ff       	call   0x44a16b
474d05:	e9 29 df f9 ff       	jmp    0x412c33
474d0a:	8b 06                	mov    (%esi),%eax
474d0c:	ff 70 04             	push   0x4(%eax)
474d0f:	e8 4a a8 fa ff       	call   0x41f55e
474d14:	ff 36                	push   (%esi)
474d16:	e8 43 a8 fa ff       	call   0x41f55e
474d1b:	83 c4 08             	add    $0x8,%esp
474d1e:	e9 10 df f9 ff       	jmp    0x412c33
474d23:	8b 0e                	mov    (%esi),%ecx
474d25:	85 c9                	test   %ecx,%ecx
474d27:	0f 84 06 df f9 ff    	je     0x412c33
474d2d:	51                   	push   %ecx
474d2e:	e8 90 4a fc ff       	call   0x4397c3
474d33:	e9 fb de f9 ff       	jmp    0x412c33
474d38:	8b 0e                	mov    (%esi),%ecx
474d3a:	85 c9                	test   %ecx,%ecx
474d3c:	0f 84 f1 de f9 ff    	je     0x412c33
474d42:	51                   	push   %ecx
474d43:	e8 a5 4a fc ff       	call   0x4397ed
474d48:	e9 e6 de f9 ff       	jmp    0x412c33
474d4d:	8b 0e                	mov    (%esi),%ecx
474d4f:	85 c9                	test   %ecx,%ecx
474d51:	0f 84 dc de f9 ff    	je     0x412c33
474d57:	51                   	push   %ecx
474d58:	e8 3c dd f8 ff       	call   0x402a99
474d5d:	e9 d1 de f9 ff       	jmp    0x412c33
474d62:	48                   	dec    %eax
474d63:	48                   	dec    %eax
474d64:	75 17                	jne    0x474d7d
474d66:	8b 01                	mov    (%ecx),%eax
474d68:	83 38 00             	cmpl   $0x0,(%eax)
474d6b:	74 10                	je     0x474d7d
474d6d:	b0 01                	mov    $0x1,%al
474d6f:	c3                   	ret
474d70:	dd 01                	fldl   (%ecx)
474d72:	d9 ee                	fldz
474d74:	da e9                	fucompp
474d76:	df e0                	fnstsw %ax
474d78:	f6 c4 44             	test   $0x44,%ah
474d7b:	7a f0                	jp     0x474d6d
474d7d:	32 c0                	xor    %al,%al
474d7f:	c3                   	ret
474d80:	83 79 04 12          	cmpl   $0x12,0x4(%ecx)
474d84:	0f 87 8c df f9 ff    	ja     0x412d16
474d8a:	6a 08                	push   $0x8
474d8c:	8d 48 04             	lea    0x4(%eax),%ecx
474d8f:	8d 55 f8             	lea    -0x8(%ebp),%edx
474d92:	e8 ba 76 fa ff       	call   0x41c451
474d97:	df 6d f8             	fildll -0x8(%ebp)
474d9a:	83 c4 04             	add    $0x4,%esp
474d9d:	dd 5d f0             	fstpl  -0x10(%ebp)
474da0:	dd 45 f0             	fldl   -0x10(%ebp)
474da3:	8b e5                	mov    %ebp,%esp
474da5:	5d                   	pop    %ebp
474da6:	c3                   	ret
474da7:	df 29                	fildll (%ecx)
474da9:	dd 5d f0             	fstpl  -0x10(%ebp)
474dac:	dd 45 f0             	fldl   -0x10(%ebp)
474daf:	8b e5                	mov    %ebp,%esp
474db1:	5d                   	pop    %ebp
474db2:	c3                   	ret
474db3:	db 01                	fildl  (%ecx)
474db5:	dd 5d f0             	fstpl  -0x10(%ebp)
474db8:	dd 45 f0             	fldl   -0x10(%ebp)
474dbb:	8b e5                	mov    %ebp,%esp
474dbd:	5d                   	pop    %ebp
474dbe:	c3                   	ret
474dbf:	8b 01                	mov    (%ecx),%eax
474dc1:	db 40 04             	fildl  0x4(%eax)
474dc4:	dd 5d f0             	fstpl  -0x10(%ebp)
474dc7:	dd 45 f0             	fldl   -0x10(%ebp)
474dca:	8b e5                	mov    %ebp,%esp
474dcc:	5d                   	pop    %ebp
474dcd:	c3                   	ret
474dce:	80 39 00             	cmpb   $0x0,(%ecx)
474dd1:	0f 84 63 df f9 ff    	je     0x412d3a
474dd7:	d9 e8                	fld1
474dd9:	8b e5                	mov    %ebp,%esp
474ddb:	5d                   	pop    %ebp
474ddc:	c3                   	ret
474ddd:	48                   	dec    %eax
474dde:	48                   	dec    %eax
474ddf:	75 25                	jne    0x474e06
474de1:	8b 01                	mov    (%ecx),%eax
474de3:	83 38 00             	cmpl   $0x0,(%eax)
474de6:	e9 3f 09 f9 ff       	jmp    0x40572a
474deb:	0f 95 c0             	setne  %al
474dee:	c3                   	ret
474def:	dd 01                	fldl   (%ecx)
474df1:	d9 ee                	fldz
474df3:	da e9                	fucompp
474df5:	df e0                	fnstsw %ax
474df7:	f6 c4 44             	test   $0x44,%ah
474dfa:	7b 0a                	jnp    0x474e06
474dfc:	b0 01                	mov    $0x1,%al
474dfe:	c3                   	ret
474dff:	8b 01                	mov    (%ecx),%eax
474e01:	0b 41 04             	or     0x4(%ecx),%eax
474e04:	75 f6                	jne    0x474dfc
474e06:	32 c0                	xor    %al,%al
474e08:	c3                   	ret
474e09:	83 e8 03             	sub    $0x3,%eax
474e0c:	0f 84 cb 81 f9 ff    	je     0x40cfdd
474e12:	48                   	dec    %eax
474e13:	48                   	dec    %eax
474e14:	74 3f                	je     0x474e55
474e16:	48                   	dec    %eax
474e17:	48                   	dec    %eax
474e18:	75 37                	jne    0x474e51
474e1a:	8b 0e                	mov    (%esi),%ecx
474e1c:	83 39 04             	cmpl   $0x4,(%ecx)
474e1f:	7f 17                	jg     0x474e38
474e21:	8b 11                	mov    (%ecx),%edx
474e23:	8b 49 04             	mov    0x4(%ecx),%ecx
474e26:	8d 45 f8             	lea    -0x8(%ebp),%eax
474e29:	50                   	push   %eax
474e2a:	e8 10 2f fd ff       	call   0x447d3f
474e2f:	8b 45 f8             	mov    -0x8(%ebp),%eax
474e32:	59                   	pop    %ecx
474e33:	e9 a7 81 f9 ff       	jmp    0x40cfdf
474e38:	83 39 08             	cmpl   $0x8,(%ecx)
474e3b:	7f 14                	jg     0x474e51
474e3d:	8b 11                	mov    (%ecx),%edx
474e3f:	8b 49 04             	mov    0x4(%ecx),%ecx
474e42:	8d 45 f8             	lea    -0x8(%ebp),%eax
474e45:	50                   	push   %eax
474e46:	e8 f4 2e fd ff       	call   0x447d3f
474e4b:	8b 45 f8             	mov    -0x8(%ebp),%eax
474e4e:	59                   	pop    %ecx
474e4f:	eb 30                	jmp    0x474e81
474e51:	33 c0                	xor    %eax,%eax
474e53:	eb 07                	jmp    0x474e5c
474e55:	33 c0                	xor    %eax,%eax
474e57:	38 06                	cmp    %al,(%esi)
474e59:	74 01                	je     0x474e5c
474e5b:	40                   	inc    %eax
474e5c:	33 d2                	xor    %edx,%edx
474e5e:	e9 64 81 f9 ff       	jmp    0x40cfc7
474e63:	8d 4a 04             	lea    0x4(%edx),%ecx
474e66:	6a 10                	push   $0x10
474e68:	8d 55 f8             	lea    -0x8(%ebp),%edx
474e6b:	e8 e1 75 fa ff       	call   0x41c451
474e70:	8b 46 08             	mov    0x8(%esi),%eax
474e73:	59                   	pop    %ecx
474e74:	83 78 04 0a          	cmpl   $0xa,0x4(%eax)
474e78:	8b 45 f8             	mov    -0x8(%ebp),%eax
474e7b:	0f 86 5e 81 f9 ff    	jbe    0x40cfdf
474e81:	8b 55 fc             	mov    -0x4(%ebp),%edx
474e84:	e9 3e 81 f9 ff       	jmp    0x40cfc7
474e89:	83 e8 09             	sub    $0x9,%eax
474e8c:	74 2f                	je     0x474ebd
474e8e:	48                   	dec    %eax
474e8f:	74 25                	je     0x474eb6
474e91:	48                   	dec    %eax
474e92:	0f 85 44 84 f9 ff    	jne    0x40d2dc
474e98:	8b 09                	mov    (%ecx),%ecx
474e9a:	83 39 08             	cmpl   $0x8,(%ecx)
474e9d:	0f 8f 39 84 f9 ff    	jg     0x40d2dc
474ea3:	8b 11                	mov    (%ecx),%edx
474ea5:	8b 49 04             	mov    0x4(%ecx),%ecx
474ea8:	8d 45 f8             	lea    -0x8(%ebp),%eax
474eab:	50                   	push   %eax
474eac:	e8 8e 2e fd ff       	call   0x447d3f
474eb1:	e9 17 84 f9 ff       	jmp    0x40d2cd
474eb6:	8b 01                	mov    (%ecx),%eax
474eb8:	8b 40 04             	mov    0x4(%eax),%eax
474ebb:	c9                   	leave
474ebc:	c3                   	ret
474ebd:	33 c0                	xor    %eax,%eax
474ebf:	38 01                	cmp    %al,(%ecx)
474ec1:	0f 95 c0             	setne  %al
474ec4:	c9                   	leave
474ec5:	c3                   	ret
474ec6:	83 c0 05             	add    $0x5,%eax
474ec9:	83 f8 14             	cmp    $0x14,%eax
474ecc:	0f 8c 5e f5 f8 ff    	jl     0x404430
474ed2:	e9 63 f5 f8 ff       	jmp    0x40443a
474ed7:	8b 45 08             	mov    0x8(%ebp),%eax
474eda:	83 c0 14             	add    $0x14,%eax
474edd:	6a 00                	push   $0x0
474edf:	03 c2                	add    %edx,%eax
474ee1:	50                   	push   %eax
474ee2:	ff 33                	push   (%ebx)
474ee4:	8b cb                	mov    %ebx,%ecx
474ee6:	e8 2c f6 f8 ff       	call   0x404517
474eeb:	ff 33                	push   (%ebx)
474eed:	8d 45 f4             	lea    -0xc(%ebp),%eax
474ef0:	6a 01                	push   $0x1
474ef2:	6a 04                	push   $0x4
474ef4:	50                   	push   %eax
474ef5:	8b cb                	mov    %ebx,%ecx
474ef7:	e8 f1 f5 f8 ff       	call   0x4044ed
474efc:	81 7d f4 45 41 30 36 	cmpl   $0x36304145,-0xc(%ebp)
474f03:	74 0a                	je     0x474f0f
474f05:	be 04 00 00 00       	mov    $0x4,%esi
474f0a:	e9 6f f5 f8 ff       	jmp    0x40447e
474f0f:	33 f6                	xor    %esi,%esi
474f11:	e9 68 f5 f8 ff       	jmp    0x40447e
474f16:	57                   	push   %edi
474f17:	ff 76 0c             	push   0xc(%esi)
474f1a:	ff 15 20 d2 48 00    	call   *0x48d220
474f20:	89 45 fc             	mov    %eax,-0x4(%ebp)
474f23:	85 c0                	test   %eax,%eax
474f25:	0f 84 77 f1 f8 ff    	je     0x4040a2
474f2b:	57                   	push   %edi
474f2c:	ff 76 0c             	push   0xc(%esi)
474f2f:	ff 15 28 d2 48 00    	call   *0x48d228
474f35:	8b f8                	mov    %eax,%edi
474f37:	85 ff                	test   %edi,%edi
474f39:	0f 84 63 f1 f8 ff    	je     0x4040a2
474f3f:	ff 75 fc             	push   -0x4(%ebp)
474f42:	ff 15 24 d2 48 00    	call   *0x48d224
474f48:	85 c0                	test   %eax,%eax
474f4a:	0f 84 52 f1 f8 ff    	je     0x4040a2
474f50:	8b 0b                	mov    (%ebx),%ecx
474f52:	6a 00                	push   $0x0
474f54:	8b 11                	mov    (%ecx),%edx
474f56:	57                   	push   %edi
474f57:	50                   	push   %eax
474f58:	51                   	push   %ecx
474f59:	ff 52 10             	call   *0x10(%edx)
474f5c:	8b 03                	mov    (%ebx),%eax
474f5e:	33 d2                	xor    %edx,%edx
474f60:	8b 08                	mov    (%eax),%ecx
474f62:	52                   	push   %edx
474f63:	52                   	push   %edx
474f64:	52                   	push   %edx
474f65:	52                   	push   %edx
474f66:	50                   	push   %eax
474f67:	ff 51 14             	call   *0x14(%ecx)
474f6a:	c6 46 14 01          	movb   $0x1,0x14(%esi)
474f6e:	e9 2f f1 f8 ff       	jmp    0x4040a2
474f73:	8b ce                	mov    %esi,%ecx
474f75:	e8 d8 f2 f8 ff       	call   0x404252
474f7a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
474f7d:	e8 0f f3 f8 ff       	call   0x404291
474f82:	33 c0                	xor    %eax,%eax
474f84:	40                   	inc    %eax
474f85:	e9 84 f2 f8 ff       	jmp    0x40420e
474f8a:	ff 36                	push   (%esi)
474f8c:	8d 45 ec             	lea    -0x14(%ebp),%eax
474f8f:	6a 10                	push   $0x10
474f91:	6a 01                	push   $0x1
474f93:	50                   	push   %eax
474f94:	e8 54 f5 f8 ff       	call   0x4044ed
474f99:	68 f2 99 00 00       	push   $0x99f2
474f9e:	6a 10                	push   $0x10
474fa0:	8d 45 ec             	lea    -0x14(%ebp),%eax
474fa3:	50                   	push   %eax
474fa4:	e8 b1 6f fd ff       	call   0x44bf5a
474fa9:	ff 36                	push   (%esi)
474fab:	83 66 08 00          	andl   $0x0,0x8(%esi)
474faf:	8b ce                	mov    %esi,%ecx
474fb1:	e8 9a f9 f8 ff       	call   0x404950
474fb6:	89 46 04             	mov    %eax,0x4(%esi)
474fb9:	33 c0                	xor    %eax,%eax
474fbb:	e9 4e f2 f8 ff       	jmp    0x40420e
474fc0:	8b 49 10             	mov    0x10(%ecx),%ecx
474fc3:	8d 45 fc             	lea    -0x4(%ebp),%eax
474fc6:	8b 11                	mov    (%ecx),%edx
474fc8:	50                   	push   %eax
474fc9:	8b 45 0c             	mov    0xc(%ebp),%eax
474fcc:	0f af 45 10          	imul   0x10(%ebp),%eax
474fd0:	50                   	push   %eax
474fd1:	ff 75 08             	push   0x8(%ebp)
474fd4:	51                   	push   %ecx
474fd5:	ff 52 0c             	call   *0xc(%edx)
474fd8:	8b 45 fc             	mov    -0x4(%ebp),%eax
474fdb:	e9 33 f5 f8 ff       	jmp    0x404513
474fe0:	8b 45 0c             	mov    0xc(%ebp),%eax
474fe3:	8b 49 10             	mov    0x10(%ecx),%ecx
474fe6:	56                   	push   %esi
474fe7:	8b 31                	mov    (%ecx),%esi
474fe9:	57                   	push   %edi
474fea:	8d 7d f8             	lea    -0x8(%ebp),%edi
474fed:	57                   	push   %edi
474fee:	ff 75 10             	push   0x10(%ebp)
474ff1:	99                   	cltd
474ff2:	52                   	push   %edx
474ff3:	50                   	push   %eax
474ff4:	51                   	push   %ecx
474ff5:	ff 56 14             	call   *0x14(%esi)
474ff8:	8b 45 f8             	mov    -0x8(%ebp),%eax
474ffb:	5f                   	pop    %edi
474ffc:	5e                   	pop    %esi
474ffd:	e9 35 f5 f8 ff       	jmp    0x404537
475002:	8b 41 10             	mov    0x10(%ecx),%eax
475005:	8d 55 f8             	lea    -0x8(%ebp),%edx
475008:	8b 08                	mov    (%eax),%ecx
47500a:	52                   	push   %edx
47500b:	6a 01                	push   $0x1
47500d:	6a 00                	push   $0x0
47500f:	6a 00                	push   $0x0
475011:	50                   	push   %eax
475012:	ff 51 14             	call   *0x14(%ecx)
475015:	8b 45 f8             	mov    -0x8(%ebp),%eax
475018:	e9 4b f9 f8 ff       	jmp    0x404968
47501d:	83 fe ff             	cmp    $0xffffffff,%esi