474a48:	7c aa                	jl     0x4749f4
474a4a:	e9 5f d1 f9 ff       	jmp    0x411bae
474a4f:	8b 46 08             	mov    0x8(%esi),%eax
474a52:	83 78 04 12          	cmpl   $0x12,0x4(%eax)
474a56:	0f 87 f9 84 f9 ff    	ja     0x40cf55
474a5c:	83 78 04 0a          	cmpl   $0xa,0x4(%eax)
474a60:	e9 0b 85 f9 ff       	jmp    0x40cf70
474a65:	8b 45 fc             	mov    -0x4(%ebp),%eax
474a68:	89 46 04             	mov    %eax,0x4(%esi)
474a6b:	c7 46 0c 02 00 00 00 	movl   $0x2,0xc(%esi)
474a72:	e9 13 85 f9 ff       	jmp    0x40cf8a
474a77:	8b 06                	mov    (%esi),%eax
474a79:	89 03                	mov    %eax,(%ebx)
474a7b:	8b 46 04             	mov    0x4(%esi),%eax
474a7e:	89 43 04             	mov    %eax,0x4(%ebx)
474a81:	e9 b4 cc f9 ff       	jmp    0x41173a
474a86:	83 3e 00             	cmpl   $0x0,(%esi)
474a89:	0f 84 ab cc f9 ff    	je     0x41173a
474a8f:	6a 10                	push   $0x10
474a91:	e8 54 aa fa ff       	call   0x41f4ea
474a96:	83 c4 04             	add    $0x4,%esp
474a99:	89 03                	mov    %eax,(%ebx)
474a9b:	50                   	push   %eax
474a9c:	ff 15 64 d4 48 00    	call   *0x48d464
474aa2:	ff 36                	push   (%esi)
474aa4:	ff 33                	push   (%ebx)
474aa6:	ff 15 48 d4 48 00    	call   *0x48d448
474aac:	85 c0                	test   %eax,%eax
474aae:	0f 89 86 cc f9 ff    	jns    0x41173a
474ab4:	ff 33                	push   (%ebx)
474ab6:	ff 15 4c d4 48 00    	call   *0x48d44c
474abc:	ff 33                	push   (%ebx)
474abe:	e8 9b aa fa ff       	call   0x41f55e
474ac3:	83 c4 04             	add    $0x4,%esp
474ac6:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
474acc:	e9 69 cc f9 ff       	jmp    0x41173a
474ad1:	6a 18                	push   $0x18
474ad3:	e8 12 aa fa ff       	call   0x41f4ea
474ad8:	83 c4 04             	add    $0x4,%esp
474adb:	85 c0                	test   %eax,%eax
474add:	74 0e                	je     0x474aed
474adf:	ff 36                	push   (%esi)
474ae1:	8b c8                	mov    %eax,%ecx
474ae3:	e8 bb 45 fd ff       	call   0x4490a3
474ae8:	e9 4b cc f9 ff       	jmp    0x411738
474aed:	33 c0                	xor    %eax,%eax
474aef:	e9 44 cc f9 ff       	jmp    0x411738
474af4:	6a 08                	push   $0x8
474af6:	e8 ef a9 fa ff       	call   0x41f4ea
474afb:	89 03                	mov    %eax,(%ebx)
474afd:	8b 0e                	mov    (%esi),%ecx
474aff:	83 c4 04             	add    $0x4,%esp
474b02:	8b 09                	mov    (%ecx),%ecx
474b04:	89 08                	mov    %ecx,(%eax)
474b06:	8b 03                	mov    (%ebx),%eax
474b08:	8b 00                	mov    (%eax),%eax
474b0a:	85 c0                	test   %eax,%eax
474b0c:	74 24                	je     0x474b32
474b0e:	50                   	push   %eax
474b0f:	e8 d6 a9 fa ff       	call   0x41f4ea
474b14:	8b 0b                	mov    (%ebx),%ecx
474b16:	89 41 04             	mov    %eax,0x4(%ecx)
474b19:	8b 0b                	mov    (%ebx),%ecx
474b1b:	8b 06                	mov    (%esi),%eax
474b1d:	ff 31                	push   (%ecx)
474b1f:	ff 70 04             	push   0x4(%eax)
474b22:	ff 71 04             	push   0x4(%ecx)
474b25:	e8 56 a3 fa ff       	call   0x41ee80
474b2a:	83 c4 10             	add    $0x10,%esp
474b2d:	e9 08 cc f9 ff       	jmp    0x41173a
474b32:	6a 01                	push   $0x1
474b34:	e8 b1 a9 fa ff       	call   0x41f4ea
474b39:	8b 0b                	mov    (%ebx),%ecx
474b3b:	83 c4 04             	add    $0x4,%esp
474b3e:	89 41 04             	mov    %eax,0x4(%ecx)
474b41:	8b 03                	mov    (%ebx),%eax
474b43:	8b 40 04             	mov    0x4(%eax),%eax
474b46:	c6 00 00             	movb   $0x0,(%eax)
474b49:	e9 ec cb f9 ff       	jmp    0x41173a
474b4e:	6a 14                	push   $0x14
474b50:	e8 95 a9 fa ff       	call   0x41f4ea
474b55:	83 c4 04             	add    $0x4,%esp
474b58:	85 c0                	test   %eax,%eax
474b5a:	74 91                	je     0x474aed
474b5c:	ff 36                	push   (%esi)
474b5e:	8b c8                	mov    %eax,%ecx
474b60:	e8 27 36 fd ff       	call   0x44818c
474b65:	e9 ce cb f9 ff       	jmp    0x411738
474b6a:	6a 14                	push   $0x14
474b6c:	e8 79 a9 fa ff       	call   0x41f4ea
474b71:	83 c4 04             	add    $0x4,%esp
474b74:	85 c0                	test   %eax,%eax
474b76:	0f 84 71 ff ff ff    	je     0x474aed
474b7c:	ff 36                	push   (%esi)
474b7e:	8b c8                	mov    %eax,%ecx
474b80:	e8 bb f7 fc ff       	call   0x444340
474b85:	e9 ae cb f9 ff       	jmp    0x411738
474b8a:	6a 14                	push   $0x14
474b8c:	e8 59 a9 fa ff       	call   0x41f4ea
474b91:	8b f8                	mov    %eax,%edi
474b93:	83 c4 04             	add    $0x4,%esp
474b96:	85 ff                	test   %edi,%edi
474b98:	74 09                	je     0x474ba3
474b9a:	8b cf                	mov    %edi,%ecx
474b9c:	e8 56 8c f9 ff       	call   0x40d7f7
474ba1:	eb 02                	jmp    0x474ba5
474ba3:	33 ff                	xor    %edi,%edi
474ba5:	89 3b                	mov    %edi,(%ebx)
474ba7:	ff 36                	push   (%esi)
474ba9:	8b cf                	mov    %edi,%ecx
474bab:	e8 3d 23 f9 ff       	call   0x406eed
474bb0:	8b 06                	mov    (%esi),%eax
474bb2:	8b 0b                	mov    (%ebx),%ecx
474bb4:	8b 40 10             	mov    0x10(%eax),%eax
474bb7:	89 41 10             	mov    %eax,0x10(%ecx)
474bba:	e9 7b cb f9 ff       	jmp    0x41173a
474bbf:	83 e8 04             	sub    $0x4,%eax
474bc2:	0f 84 dd 00 00 00    	je     0x474ca5
474bc8:	6a 02                	push   $0x2
474bca:	5a                   	pop    %edx
474bcb:	2b c2                	sub    %edx,%eax
474bcd:	0f 84 ae 00 00 00    	je     0x474c81
474bd3:	48                   	dec    %eax
474bd4:	74 73                	je     0x474c49
474bd6:	48                   	dec    %eax
474bd7:	74 0e                	je     0x474be7
474bd9:	33 c0                	xor    %eax,%eax
474bdb:	66 89 85 6c ff ff ff 	mov    %ax,-0x94(%ebp)
474be2:	e9 cc 47 f9 ff       	jmp    0x4093b3
474be7:	8b 06                	mov    (%esi),%eax
474be9:	33 c9                	xor    %ecx,%ecx
474beb:	8b 00                	mov    (%eax),%eax
474bed:	53                   	push   %ebx
474bee:	8d 04 85 06 00 00 00 	lea    0x6(,%eax,4),%eax
474bf5:	f7 e2                	mul    %edx
474bf7:	0f 90 c1             	seto   %cl
474bfa:	f7 d9                	neg    %ecx
474bfc:	0b c8                	or     %eax,%ecx
474bfe:	51                   	push   %ecx
474bff:	e8 e6 a8 fa ff       	call   0x41f4ea
474c04:	59                   	pop    %ecx
474c05:	8b 0e                	mov    (%esi),%ecx
474c07:	8b d8                	mov    %eax,%ebx
474c09:	39 39                	cmp    %edi,(%ecx)
474c0b:	74 11                	je     0x474c1e
474c0d:	51                   	push   %ecx
474c0e:	ff 31                	push   (%ecx)
474c10:	8b 49 04             	mov    0x4(%ecx),%ecx
474c13:	8b d3                	mov    %ebx,%edx
474c15:	e8 a9 30 fd ff       	call   0x447cc3
474c1a:	59                   	pop    %ecx
474c1b:	59                   	pop    %ecx
474c1c:	eb 05                	jmp    0x474c23
474c1e:	33 c0                	xor    %eax,%eax
474c20:	66 89 03             	mov    %ax,(%ebx)
474c23:	6a 10                	push   $0x10
474c25:	e8 c0 a8 fa ff       	call   0x41f4ea
474c2a:	59                   	pop    %ecx
474c2b:	85 c0                	test   %eax,%eax
474c2d:	74 0a                	je     0x474c39
474c2f:	53                   	push   %ebx
474c30:	8b c8                	mov    %eax,%ecx
474c32:	e8 e2 81 f9 ff       	call   0x40ce19
474c37:	8b f8                	mov    %eax,%edi
474c39:	53                   	push   %ebx
474c3a:	89 7e 08             	mov    %edi,0x8(%esi)
474c3d:	e8 1c a9 fa ff       	call   0x41f55e
474c42:	59                   	pop    %ecx
474c43:	5b                   	pop    %ebx
474c44:	e9 37 47 f9 ff       	jmp    0x409380
474c49:	8b 0e                	mov    (%esi),%ecx
474c4b:	8b 41 0c             	mov    0xc(%ecx),%eax
474c4e:	8b 51 08             	mov    0x8(%ecx),%edx
474c51:	89 45 f4             	mov    %eax,-0xc(%ebp)
474c54:	8b 41 10             	mov    0x10(%ecx),%eax
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