472bb6:	50                   	push   %eax
472bb7:	52                   	push   %edx
472bb8:	51                   	push   %ecx
472bb9:	e8 c2 c2 fa ff       	call   0x41ee80
472bbe:	83 c4 0c             	add    $0xc,%esp
472bc1:	ff 33                	push   (%ebx)
472bc3:	e8 18 e2 fa ff       	call   0x420de0
472bc8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
472bcb:	83 c4 04             	add    $0x4,%esp
472bce:	89 0b                	mov    %ecx,(%ebx)
472bd0:	dd 05 10 27 4b 00    	fldl   0x4b2710
472bd6:	dd 05 08 27 4b 00    	fldl   0x4b2708
472bdc:	dd 05 00 27 4b 00    	fldl   0x4b2700
472be2:	e9 6f 84 f9 ff       	jmp    0x40b056
472be7:	3b f9                	cmp    %ecx,%edi
472be9:	0f 83 09 85 f9 ff    	jae    0x40b0f8
472bef:	83 fa ff             	cmp    $0xffffffff,%edx
472bf2:	74 07                	je     0x472bfb
472bf4:	8d 04 17             	lea    (%edi,%edx,1),%eax
472bf7:	3b c1                	cmp    %ecx,%eax
472bf9:	76 03                	jbe    0x472bfe
472bfb:	89 55 e4             	mov    %edx,-0x1c(%ebp)
472bfe:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
472c01:	e8 e4 3e f9 ff       	call   0x406aea
472c06:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
472c09:	84 c0                	test   %al,%al
472c0b:	74 31                	je     0x472c3e
472c0d:	8b 45 fc             	mov    -0x4(%ebp),%eax
472c10:	ff 08                	decl   (%eax)
472c12:	e8 33 3f f9 ff       	call   0x406b4a
472c17:	8b 75 e4             	mov    -0x1c(%ebp),%esi
472c1a:	8d 46 01             	lea    0x1(%esi),%eax
472c1d:	50                   	push   %eax
472c1e:	e8 d3 3e f9 ff       	call   0x406af6
472c23:	33 c9                	xor    %ecx,%ecx
472c25:	ba 02 00 00 00       	mov    $0x2,%edx
472c2a:	f7 e2                	mul    %edx
472c2c:	0f 90 c1             	seto   %cl
472c2f:	f7 d9                	neg    %ecx
472c31:	0b c8                	or     %eax,%ecx
472c33:	51                   	push   %ecx
472c34:	e8 b1 c8 fa ff       	call   0x41f4ea
472c39:	83 c4 04             	add    $0x4,%esp
472c3c:	eb 0c                	jmp    0x472c4a
472c3e:	8b 75 e4             	mov    -0x1c(%ebp),%esi
472c41:	56                   	push   %esi
472c42:	e8 22 97 f9 ff       	call   0x40c369
472c47:	8b 45 d4             	mov    -0x2c(%ebp),%eax
472c4a:	89 45 f8             	mov    %eax,-0x8(%ebp)
472c4d:	8b 45 08             	mov    0x8(%ebp),%eax
472c50:	89 75 0c             	mov    %esi,0xc(%ebp)
472c53:	8b 00                	mov    (%eax),%eax
472c55:	03 f6                	add    %esi,%esi
472c57:	8d 04 78             	lea    (%eax,%edi,2),%eax
472c5a:	8b 7d f8             	mov    -0x8(%ebp),%edi
472c5d:	56                   	push   %esi
472c5e:	50                   	push   %eax
472c5f:	57                   	push   %edi
472c60:	e8 1b c2 fa ff       	call   0x41ee80
472c65:	83 c4 0c             	add    $0xc,%esp
472c68:	33 c0                	xor    %eax,%eax
472c6a:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
472c6e:	8b 45 e0             	mov    -0x20(%ebp),%eax
472c71:	8b 75 ec             	mov    -0x14(%ebp),%esi
472c74:	89 45 fc             	mov    %eax,-0x4(%ebp)
472c77:	e9 7f 84 f9 ff       	jmp    0x40b0fb
472c7c:	53                   	push   %ebx
472c7d:	8d 45 b4             	lea    -0x4c(%ebp),%eax
472c80:	50                   	push   %eax
472c81:	8b cb                	mov    %ebx,%ecx
472c83:	e8 07 79 fc ff       	call   0x43a58f
472c88:	50                   	push   %eax
472c89:	8b cb                	mov    %ebx,%ecx
472c8b:	e8 5d 42 f9 ff       	call   0x406eed
472c90:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
472c93:	e8 9f 9e f9 ff       	call   0x40cb37
472c98:	8b 45 fc             	mov    -0x4(%ebp),%eax
472c9b:	e9 70 84 f9 ff       	jmp    0x40b110
472ca0:	8b cb                	mov    %ebx,%ecx
472ca2:	e8 43 3e f9 ff       	call   0x406aea
472ca7:	8b cb                	mov    %ebx,%ecx
472ca9:	84 c0                	test   %al,%al
472cab:	74 54                	je     0x472d01
472cad:	8b 43 0c             	mov    0xc(%ebx),%eax
472cb0:	ff 08                	decl   (%eax)
472cb2:	e8 93 3e f9 ff       	call   0x406b4a
472cb7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
472cba:	8b 43 04             	mov    0x4(%ebx),%eax
472cbd:	41                   	inc    %ecx
472cbe:	03 c1                	add    %ecx,%eax
472cc0:	50                   	push   %eax
472cc1:	e8 30 3e f9 ff       	call   0x406af6
472cc6:	33 c9                	xor    %ecx,%ecx
472cc8:	89 43 08             	mov    %eax,0x8(%ebx)
472ccb:	ba 02 00 00 00       	mov    $0x2,%edx
472cd0:	f7 e2                	mul    %edx
472cd2:	0f 90 c1             	seto   %cl
472cd5:	f7 d9                	neg    %ecx
472cd7:	0b c8                	or     %eax,%ecx
472cd9:	51                   	push   %ecx
472cda:	e8 0b c8 fa ff       	call   0x41f4ea
472cdf:	8b 4b 04             	mov    0x4(%ebx),%ecx
472ce2:	83 c4 04             	add    $0x4,%esp
472ce5:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
472cec:	51                   	push   %ecx
472ced:	ff 33                	push   (%ebx)
472cef:	8b f0                	mov    %eax,%esi
472cf1:	56                   	push   %esi
472cf2:	e8 89 c1 fa ff       	call   0x41ee80
472cf7:	89 33                	mov    %esi,(%ebx)
472cf9:	8b 75 ec             	mov    -0x14(%ebp),%esi
472cfc:	83 c4 0c             	add    $0xc,%esp
472cff:	eb 0c                	jmp    0x472d0d
472d01:	8b 43 04             	mov    0x4(%ebx),%eax
472d04:	03 45 0c             	add    0xc(%ebp),%eax
472d07:	50                   	push   %eax
472d08:	e8 78 8e f9 ff       	call   0x40bb85
472d0d:	8b 45 0c             	mov    0xc(%ebp),%eax
472d10:	8b 4b 04             	mov    0x4(%ebx),%ecx
472d13:	03 c0                	add    %eax,%eax
472d15:	50                   	push   %eax
472d16:	8b 03                	mov    (%ebx),%eax
472d18:	57                   	push   %edi
472d19:	8d 04 48             	lea    (%eax,%ecx,2),%eax
472d1c:	50                   	push   %eax
472d1d:	e8 5e c1 fa ff       	call   0x41ee80
472d22:	8b 45 0c             	mov    0xc(%ebp),%eax
472d25:	01 43 04             	add    %eax,0x4(%ebx)
472d28:	8b 03                	mov    (%ebx),%eax
472d2a:	8b 4b 04             	mov    0x4(%ebx),%ecx
472d2d:	83 c4 0c             	add    $0xc,%esp
472d30:	33 d2                	xor    %edx,%edx
472d32:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
472d36:	8b 45 fc             	mov    -0x4(%ebp),%eax
472d39:	e9 d2 83 f9 ff       	jmp    0x40b110
472d3e:	56                   	push   %esi
472d3f:	8d 4c 24 24          	lea    0x24(%esp),%ecx
472d43:	e8 5e 34 f9 ff       	call   0x4061a6
472d48:	66 8b 00             	mov    (%eax),%ax
472d4b:	66 89 44 24 0c       	mov    %ax,0xc(%esp)
472d50:	33 c0                	xor    %eax,%eax
472d52:	56                   	push   %esi
472d53:	8d 4c 24 24          	lea    0x24(%esp),%ecx
472d57:	66 89 44 24 12       	mov    %ax,0x12(%esp)
472d5c:	e8 45 34 f9 ff       	call   0x4061a6
472d61:	66 39 18             	cmp    %bx,(%eax)
472d64:	74 23                	je     0x472d89
472d66:	56                   	push   %esi
472d67:	8d 4c 24 24          	lea    0x24(%esp),%ecx
472d6b:	e8 36 34 f9 ff       	call   0x4061a6
472d70:	66 83 38 3b          	cmpw   $0x3b,(%eax)
472d74:	74 13                	je     0x472d89
472d76:	8d 44 24 0c          	lea    0xc(%esp),%eax
472d7a:	50                   	push   %eax
472d7b:	8d 44 24 44          	lea    0x44(%esp),%eax
472d7f:	50                   	push   %eax
472d80:	e8 6f df fa ff       	call   0x420cf4
472d85:	59                   	pop    %ecx
472d86:	59                   	pop    %ecx
472d87:	eb 70                	jmp    0x472df9
472d89:	8d 44 24 40          	lea    0x40(%esp),%eax
472d8d:	50                   	push   %eax
472d8e:	e8 48 df fa ff       	call   0x420cdb
472d93:	59                   	pop    %ecx
472d94:	85 c0                	test   %eax,%eax
472d96:	74 24                	je     0x472dbc
472d98:	8d 44 24 40          	lea    0x40(%esp),%eax
472d9c:	50                   	push   %eax
472d9d:	e8 39 df fa ff       	call   0x420cdb
472da2:	66 83 7c 44 42 5c    	cmpw   $0x5c,0x42(%esp,%eax,2)
472da8:	59                   	pop    %ecx
472da9:	74 11                	je     0x472dbc
472dab:	8d 44 24 40          	lea    0x40(%esp),%eax
472daf:	68 54 dc 49 00       	push   $0x49dc54
472db4:	50                   	push   %eax
472db5:	e8 3a df fa ff       	call   0x420cf4
472dba:	59                   	pop    %ecx
472dbb:	59                   	pop    %ecx
472dbc:	8d 44 24 40          	lea    0x40(%esp),%eax
472dc0:	50                   	push   %eax
472dc1:	8d 4c 24 34          	lea    0x34(%esp),%ecx
472dc5:	e8 4f a0 f9 ff       	call   0x40ce19
472dca:	8d 44 24 30          	lea    0x30(%esp),%eax
472dce:	50                   	push   %eax
472dcf:	8b cf                	mov    %edi,%ecx
472dd1:	e8 f9 36 f9 ff       	call   0x4064cf
472dd6:	8d 4c 24 30          	lea    0x30(%esp),%ecx
472dda:	e8 58 9d f9 ff       	call   0x40cb37
472ddf:	33 c0                	xor    %eax,%eax
472de1:	56                   	push   %esi
472de2:	8d 4c 24 24          	lea    0x24(%esp),%ecx
472de6:	66 89 44 24 44       	mov    %ax,0x44(%esp)
472deb:	e8 b6 33 f9 ff       	call   0x4061a6
472df0:	66 39 18             	cmp    %bx,(%eax)
472df3:	0f 84 4a 1d f9 ff    	je     0x404b43
472df9:	46                   	inc    %esi
472dfa:	e9 3f ff ff ff       	jmp    0x472d3e
472dff:	ff 76 04             	push   0x4(%esi)
472e02:	e8 57 c7 fa ff       	call   0x41f55e
472e07:	59                   	pop    %ecx
472e08:	e9 1e 20 f9 ff       	jmp    0x404e2b
472e0d:	8b 03                	mov    (%ebx),%eax
472e0f:	89 07                	mov    %eax,(%edi)
472e11:	8b 43 04             	mov    0x4(%ebx),%eax
472e14:	89 47 04             	mov    %eax,0x4(%edi)
472e17:	e9 6c 20 f9 ff       	jmp    0x404e88
472e1c:	e8 f0 20 f9 ff       	call   0x404f11
472e21:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
472e25:	74 07                	je     0x472e2e
472e27:	56                   	push   %esi
472e28:	e8 31 c7 fa ff       	call   0x41f55e
472e2d:	59                   	pop    %ecx
472e2e:	8b c6                	mov    %esi,%eax
472e30:	e9 c2 21 f9 ff       	jmp    0x404ff7
472e35:	8b 47 1c             	mov    0x1c(%edi),%eax
472e38:	6a 00                	push   $0x0
472e3a:	ff 34 b0             	push   (%eax,%esi,4)
472e3d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
472e40:	e8 19 a5 fa ff       	call   0x41d35e
472e45:	85 c0                	test   %eax,%eax
472e47:	74 0b                	je     0x472e54
472e49:	46                   	inc    %esi
472e4a:	3b 77 20             	cmp    0x20(%edi),%esi
472e4d:	72 e6                	jb     0x472e35
472e4f:	e9 74 1b f9 ff       	jmp    0x4049c8
472e54:	8b 47 2c             	mov    0x2c(%edi),%eax
472e57:	8b 04 b0             	mov    (%eax,%esi,4),%eax
472e5a:	ff 00                	incl   (%eax)
472e5c:	e9 8a 1b f9 ff       	jmp    0x4049eb
472e61:	33 db                	xor    %ebx,%ebx
472e63:	43                   	inc    %ebx
472e64:	88 1f                	mov    %bl,(%edi)
472e66:	e9 e4 9d f9 ff       	jmp    0x40cc4f
472e6b:	33 db                	xor    %ebx,%ebx
472e6d:	43                   	inc    %ebx
472e6e:	88 5f 01             	mov    %bl,0x1(%edi)
472e71:	e9 d9 9d f9 ff       	jmp    0x40cc4f
472e76:	8d 4e 2c             	lea    0x2c(%esi),%ecx
472e79:	e8 76 98 fa ff       	call   0x41c6f4
472e7e:	8b d8                	mov    %eax,%ebx
472e80:	53                   	push   %ebx
472e81:	e8 d2 93 fa ff       	call   0x41c258
472e86:	53                   	push   %ebx
472e87:	e8 ce 9c f9 ff       	call   0x40cb5a
472e8c:	53                   	push   %ebx
472e8d:	e8 49 de fa ff       	call   0x420cdb
472e92:	59                   	pop    %ecx
472e93:	0f b7 4c 43 fe       	movzwl -0x2(%ebx,%eax,2),%ecx
472e98:	6a 22                	push   $0x22
472e9a:	5a                   	pop    %edx
472e9b:	66 3b ca             	cmp    %dx,%cx
472e9e:	74 35                	je     0x472ed5
472ea0:	6a 27                	push   $0x27
472ea2:	5a                   	pop    %edx
472ea3:	66 3b ca             	cmp    %dx,%cx
472ea6:	74 2d                	je     0x472ed5
472ea8:	0f b7 03             	movzwl (%ebx),%eax
472eab:	6a 22                	push   $0x22
472ead:	59                   	pop    %ecx
472eae:	66 3b c1             	cmp    %cx,%ax
472eb1:	74 10                	je     0x472ec3
472eb3:	66 3b c2             	cmp    %dx,%ax
472eb6:	74 0b                	je     0x472ec3
472eb8:	8b 4f 04             	mov    0x4(%edi),%ecx
472ebb:	53                   	push   %ebx
472ebc:	8b 01                	mov    (%ecx),%eax
472ebe:	ff 50 08             	call   *0x8(%eax)
472ec1:	eb 2a                	jmp    0x472eed
472ec3:	53                   	push   %ebx
472ec4:	e8 95 c6 fa ff       	call   0x41f55e
472ec9:	59                   	pop    %ecx
472eca:	56                   	push   %esi
472ecb:	68 00 35 4b 00       	push   $0x4b3500
472ed0:	e9 e4 00 00 00       	jmp    0x472fb9
472ed5:	66 39 0b             	cmp    %cx,(%ebx)
472ed8:	75 e9                	jne    0x472ec3
472eda:	33 c9                	xor    %ecx,%ecx
472edc:	66 89 4c 43 fe       	mov    %cx,-0x2(%ebx,%eax,2)
472ee1:	8b 4f 04             	mov    0x4(%edi),%ecx
472ee4:	8d 43 02             	lea    0x2(%ebx),%eax
472ee7:	8b 11                	mov    (%ecx),%edx
472ee9:	50                   	push   %eax
472eea:	ff 52 08             	call   *0x8(%edx)
472eed:	53                   	push   %ebx
472eee:	e8 6b c6 fa ff       	call   0x41f55e
472ef3:	59                   	pop    %ecx
472ef4:	e9 b0 9e f9 ff       	jmp    0x40cda9
472ef9:	33 f6                	xor    %esi,%esi
472efb:	39 77 20             	cmp    %esi,0x20(%edi)
472efe:	0f 86 a5 9e f9 ff    	jbe    0x40cda9
472f04:	8b 47 1c             	mov    0x1c(%edi),%eax
472f07:	8b 4d 0c             	mov    0xc(%ebp),%ecx
472f0a:	6a 00                	push   $0x0
472f0c:	ff 34 b0             	push   (%eax,%esi,4)
472f0f:	e8 4a a4 fa ff       	call   0x41d35e
472f14:	85 c0                	test   %eax,%eax
472f16:	74 0b                	je     0x472f23
472f18:	46                   	inc    %esi
472f19:	3b 77 20             	cmp    0x20(%edi),%esi
472f1c:	72 e6                	jb     0x472f04
472f1e:	e9 86 9e f9 ff       	jmp    0x40cda9
472f23:	8b 47 2c             	mov    0x2c(%edi),%eax
472f26:	33 db                	xor    %ebx,%ebx
472f28:	8b 04 b0             	mov    (%eax,%esi,4),%eax
472f2b:	43                   	inc    %ebx
472f2c:	39 18                	cmp    %ebx,(%eax)
472f2e:	0f 8e 1b 9d f9 ff    	jle    0x40cc4f
472f34:	6a 04                	push   $0x4
472f36:	e9 13 9d f9 ff       	jmp    0x40cc4e
472f3b:	ff 75 f8             	push   -0x8(%ebp)
472f3e:	8d 46 10             	lea    0x10(%esi),%eax
472f41:	50                   	push   %eax
472f42:	8b cf                	mov    %edi,%ecx
472f44:	e8 c4 f9 fc ff       	call   0x44290d
472f49:	3c 01                	cmp    $0x1,%al
472f4b:	75 53                	jne    0x472fa0
472f4d:	ff 75 f8             	push   -0x8(%ebp)
472f50:	8d 4d d8             	lea    -0x28(%ebp),%ecx
472f53:	e8 c1 9e f9 ff       	call   0x40ce19
472f58:	ff 75 f8             	push   -0x8(%ebp)
472f5b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
472f5e:	e8 b6 9e f9 ff       	call   0x40ce19
472f63:	8b 45 10             	mov    0x10(%ebp),%eax
472f66:	ff 30                	push   (%eax)
472f68:	8d 45 d8             	lea    -0x28(%ebp),%eax
472f6b:	56                   	push   %esi
472f6c:	ff 75 0c             	push   0xc(%ebp)
472f6f:	51                   	push   %ecx
472f70:	50                   	push   %eax
472f71:	8b cf                	mov    %edi,%ecx
472f73:	e8 28 1a f9 ff       	call   0x4049a0
472f78:	59                   	pop    %ecx
472f79:	50                   	push   %eax
472f7a:	8d 45 e8             	lea    -0x18(%ebp),%eax
472f7d:	50                   	push   %eax
472f7e:	8b cf                	mov    %edi,%ecx
472f80:	e8 ae 98 f9 ff       	call   0x40c833
472f85:	8d 4d e8             	lea    -0x18(%ebp),%ecx
472f88:	8a d8                	mov    %al,%bl
472f8a:	e8 a8 9b f9 ff       	call   0x40cb37
472f8f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
472f92:	e8 a0 9b f9 ff       	call   0x40cb37
472f97:	84 db                	test   %bl,%bl
472f99:	74 2d                	je     0x472fc8
472f9b:	e9 09 9e f9 ff       	jmp    0x40cda9
472fa0:	56                   	push   %esi
472fa1:	68 60 35 4b 00       	push   $0x4b3560
472fa6:	eb 11                	jmp    0x472fb9
472fa8:	8b 45 08             	mov    0x8(%ebp),%eax
472fab:	85 c0                	test   %eax,%eax