4769fc:	6a 29                	push   $0x29
4769fe:	8b 48 04             	mov    0x4(%eax),%ecx
476a01:	8b 49 04             	mov    0x4(%ecx),%ecx
476a04:	e8 e3 b1 f8 ff       	call   0x401bec
476a09:	84 c0                	test   %al,%al
476a0b:	75 26                	jne    0x476a33
476a0d:	8b 4c 24 18          	mov    0x18(%esp),%ecx
476a11:	3b 4c 24 20          	cmp    0x20(%esp),%ecx
476a15:	7c 0b                	jl     0x476a22
476a17:	8b 54 24 10          	mov    0x10(%esp),%edx
476a1b:	89 0a                	mov    %ecx,(%edx)
476a1d:	e9 67 b1 f8 ff       	jmp    0x401b89
476a22:	8d 4c 24 28          	lea    0x28(%esp),%ecx
476a26:	e8 63 6a f9 ff       	call   0x40d48e
476a2b:	84 c0                	test   %al,%al
476a2d:	0f 84 e0 fe ff ff    	je     0x476913
476a33:	8d 4c 24 28          	lea    0x28(%esp),%ecx
476a37:	e8 4a 68 f9 ff       	call   0x40d286
476a3c:	8b 54 24 10          	mov    0x10(%esp),%edx
476a40:	89 02                	mov    %eax,(%edx)
476a42:	e9 42 b1 f8 ff       	jmp    0x401b89
476a47:	8d 44 24 40          	lea    0x40(%esp),%eax
476a4b:	33 db                	xor    %ebx,%ebx
476a4d:	50                   	push   %eax
476a4e:	43                   	inc    %ebx
476a4f:	e8 49 3c fd ff       	call   0x44a69d
476a54:	e9 d5 a9 f8 ff       	jmp    0x40142e
476a59:	8d 4c 24 40          	lea    0x40(%esp),%ecx
476a5d:	e8 d5 60 f9 ff       	call   0x40cb37
476a62:	e9 eb a9 f8 ff       	jmp    0x401452
476a67:	8b 75 0c             	mov    0xc(%ebp),%esi
476a6a:	8b ce                	mov    %esi,%ecx
476a6c:	e8 af c1 f9 ff       	call   0x412c20
476a71:	83 26 00             	andl   $0x0,(%esi)
476a74:	33 c0                	xor    %eax,%eax
476a76:	40                   	inc    %eax
476a77:	6a 00                	push   $0x0
476a79:	89 46 0c             	mov    %eax,0xc(%esi)
476a7c:	50                   	push   %eax
476a7d:	8b 07                	mov    (%edi),%eax
476a7f:	8b 48 04             	mov    0x4(%eax),%ecx
476a82:	03 cf                	add    %edi,%ecx
476a84:	e8 c3 64 fd ff       	call   0x44cf4c
476a89:	e9 59 ab f8 ff       	jmp    0x4015e7
476a8e:	83 7c 24 14 ff       	cmpl   $0xffffffff,0x14(%esp)
476a93:	75 10                	jne    0x476aa5
476a95:	8b 07                	mov    (%edi),%eax
476a97:	6a 00                	push   $0x0
476a99:	8b 48 04             	mov    0x4(%eax),%ecx
476a9c:	6a 01                	push   $0x1
476a9e:	03 cf                	add    %edi,%ecx
476aa0:	e8 a7 64 fd ff       	call   0x44cf4c
476aa5:	8b 75 0c             	mov    0xc(%ebp),%esi
476aa8:	8b ce                	mov    %esi,%ecx
476aaa:	e8 71 c1 f9 ff       	call   0x412c20
476aaf:	83 26 00             	andl   $0x0,(%esi)
476ab2:	e9 57 01 00 00       	jmp    0x476c0e
476ab7:	84 c9                	test   %cl,%cl
476ab9:	0f 84 17 aa f8 ff    	je     0x4014d6
476abf:	6a 03                	push   $0x3
476ac1:	5a                   	pop    %edx
476ac2:	89 54 24 18          	mov    %edx,0x18(%esp)
476ac6:	e9 0b aa f8 ff       	jmp    0x4014d6
476acb:	6a 04                	push   $0x4
476acd:	58                   	pop    %eax
476ace:	89 44 24 10          	mov    %eax,0x10(%esp)
476ad2:	e9 0e aa f8 ff       	jmp    0x4014e5
476ad7:	83 c8 02             	or     $0x2,%eax
476ada:	89 44 24 10          	mov    %eax,0x10(%esp)
476ade:	e9 0a aa f8 ff       	jmp    0x4014ed
476ae3:	83 c8 01             	or     $0x1,%eax
476ae6:	89 44 24 10          	mov    %eax,0x10(%esp)
476aea:	e9 09 aa f8 ff       	jmp    0x4014f8
476aef:	83 c8 08             	or     $0x8,%eax
476af2:	89 44 24 10          	mov    %eax,0x10(%esp)
476af6:	e9 08 aa f8 ff       	jmp    0x401503
476afb:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
476b01:	89 44 24 14          	mov    %eax,0x14(%esp)
476b05:	8b 00                	mov    (%eax),%eax
476b07:	8b 00                	mov    (%eax),%eax
476b09:	85 c0                	test   %eax,%eax
476b0b:	74 48                	je     0x476b55
476b0d:	39 50 04             	cmp    %edx,0x4(%eax)
476b10:	75 43                	jne    0x476b55
476b12:	84 ff                	test   %bh,%bh
476b14:	74 54                	je     0x476b6a
476b16:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
476b1c:	8b 04 b0             	mov    (%eax,%esi,4),%eax
476b1f:	8b 00                	mov    (%eax),%eax
476b21:	ff 30                	push   (%eax)
476b23:	ff 35 e8 10 4c 00    	push   0x4c10e8
476b29:	ff 15 cc d5 48 00    	call   *0x48d5cc
476b2f:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
476b35:	8b 04 b0             	mov    (%eax,%esi,4),%eax
476b38:	8b 08                	mov    (%eax),%ecx
476b3a:	85 c9                	test   %ecx,%ecx
476b3c:	74 06                	je     0x476b44
476b3e:	51                   	push   %ecx
476b3f:	e8 ac 81 fa ff       	call   0x41ecf0
476b44:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
476b4a:	8b 04 b0             	mov    (%eax,%esi,4),%eax
476b4d:	83 20 00             	andl   $0x0,(%eax)
476b50:	e9 92 aa f8 ff       	jmp    0x4015e7
476b55:	8b 44 24 14          	mov    0x14(%esp),%eax
476b59:	46                   	inc    %esi
476b5a:	83 c0 04             	add    $0x4,%eax
476b5d:	89 44 24 14          	mov    %eax,0x14(%esp)
476b61:	3b f1                	cmp    %ecx,%esi
476b63:	72 a0                	jb     0x476b05
476b65:	e9 b2 a9 f8 ff       	jmp    0x40151c
476b6a:	8d 44 24 30          	lea    0x30(%esp),%eax
476b6e:	50                   	push   %eax
476b6f:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
476b75:	8b 04 b0             	mov    (%eax,%esi,4),%eax
476b78:	8b 08                	mov    (%eax),%ecx
476b7a:	83 c1 08             	add    $0x8,%ecx
476b7d:	e8 6b 03 f9 ff       	call   0x406eed
476b82:	e9 60 aa f8 ff       	jmp    0x4015e7
476b87:	8b 97 c8 01 00 00    	mov    0x1c8(%edi),%edx
476b8d:	8b 02                	mov    (%edx),%eax
476b8f:	83 38 00             	cmpl   $0x0,(%eax)
476b92:	0f 84 96 a9 f8 ff    	je     0x40152e
476b98:	43                   	inc    %ebx
476b99:	83 c2 04             	add    $0x4,%edx
476b9c:	3b d9                	cmp    %ecx,%ebx
476b9e:	72 ed                	jb     0x476b8d
476ba0:	e9 89 a9 f8 ff       	jmp    0x40152e
476ba5:	e8 40 89 fa ff       	call   0x41f4ea
476baa:	59                   	pop    %ecx
476bab:	85 c0                	test   %eax,%eax
476bad:	74 0b                	je     0x476bba
476baf:	8b c8                	mov    %eax,%ecx
476bb1:	e8 d9 bc f8 ff       	call   0x40288f
476bb6:	8b c8                	mov    %eax,%ecx
476bb8:	eb 02                	jmp    0x476bbc
476bba:	33 c9                	xor    %ecx,%ecx
476bbc:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
476bc2:	8b 04 98             	mov    (%eax,%ebx,4),%eax
476bc5:	89 08                	mov    %ecx,(%eax)
476bc7:	e9 95 a9 f8 ff       	jmp    0x401561
476bcc:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
476bd2:	8b 04 98             	mov    (%eax,%ebx,4),%eax
476bd5:	8b 08                	mov    (%eax),%ecx
476bd7:	85 c9                	test   %ecx,%ecx
476bd9:	74 06                	je     0x476be1
476bdb:	51                   	push   %ecx
476bdc:	e8 0f 81 fa ff       	call   0x41ecf0
476be1:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
476be7:	8b 04 98             	mov    (%eax,%ebx,4),%eax
476bea:	33 db                	xor    %ebx,%ebx
476bec:	53                   	push   %ebx
476bed:	89 18                	mov    %ebx,(%eax)
476bef:	ff 15 10 d3 48 00    	call   *0x48d310
476bf5:	50                   	push   %eax
476bf6:	8b 07                	mov    (%edi),%eax
476bf8:	8b 48 04             	mov    0x4(%eax),%ecx
476bfb:	03 cf                	add    %edi,%ecx
476bfd:	e8 1f c7 f8 ff       	call   0x403321
476c02:	8b 75 0c             	mov    0xc(%ebp),%esi
476c05:	8b ce                	mov    %esi,%ecx
476c07:	e8 14 c0 f9 ff       	call   0x412c20
476c0c:	89 1e                	mov    %ebx,(%esi)
476c0e:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
476c15:	e9 cd a9 f8 ff       	jmp    0x4015e7
476c1a:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
476c20:	e9 f9 50 fa ff       	jmp    0x41bd1e
476c25:	6a 00                	push   $0x0
476c27:	ff 15 70 d1 48 00    	call   *0x48d170
476c2d:	e9 bb 7c fa ff       	jmp    0x41e8ed
476c32:	8b 75 0c             	mov    0xc(%ebp),%esi
476c35:	8b ce                	mov    %esi,%ecx
476c37:	e8 e4 bf f9 ff       	call   0x412c20
476c3c:	d9 ee                	fldz
476c3e:	dd 1e                	fstpl  (%esi)
476c40:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
476c47:	8b 07                	mov    (%edi),%eax
476c49:	6a 00                	push   $0x0
476c4b:	8b 48 04             	mov    0x4(%eax),%ecx
476c4e:	6a 01                	push   $0x1
476c50:	03 cf                	add    %edi,%ecx
476c52:	e8 f5 62 fd ff       	call   0x44cf4c
476c57:	e9 59 76 fa ff       	jmp    0x41e2b5
476c5c:	e8 bf bf f9 ff       	call   0x412c20
476c61:	d9 ee                	fldz
476c63:	dd 1e                	fstpl  (%esi)
476c65:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
476c6c:	8b 07                	mov    (%edi),%eax
476c6e:	6a 00                	push   $0x0
476c70:	8b 48 04             	mov    0x4(%eax),%ecx
476c73:	6a 01                	push   $0x1
476c75:	03 cf                	add    %edi,%ecx
476c77:	e8 d0 62 fd ff       	call   0x44cf4c
476c7c:	e9 3a 7b fa ff       	jmp    0x41e7bb
476c81:	e8 64 88 fa ff       	call   0x41f4ea
476c86:	59                   	pop    %ecx
476c87:	85 c0                	test   %eax,%eax
476c89:	74 0c                	je     0x476c97
476c8b:	ff 75 08             	push   0x8(%ebp)
476c8e:	8b c8                	mov    %eax,%ecx
476c90:	e8 9a a6 f8 ff       	call   0x40132f
476c95:	8b f8                	mov    %eax,%edi
476c97:	8b 46 04             	mov    0x4(%esi),%eax
476c9a:	89 47 08             	mov    %eax,0x8(%edi)
476c9d:	8b 46 04             	mov    0x4(%esi),%eax
476ca0:	89 78 04             	mov    %edi,0x4(%eax)
476ca3:	e9 7b a6 f8 ff       	jmp    0x401323
476ca8:	8b 46 08             	mov    0x8(%esi),%eax
476cab:	85 c0                	test   %eax,%eax
476cad:	0f 84 31 bc f8 ff    	je     0x4028e4
476cb3:	c1 e0 02             	shl    $0x2,%eax
476cb6:	50                   	push   %eax
476cb7:	ff 76 04             	push   0x4(%esi)
476cba:	57                   	push   %edi
476cbb:	e8 c0 81 fa ff       	call   0x41ee80
476cc0:	ff 76 04             	push   0x4(%esi)
476cc3:	e8 96 88 fa ff       	call   0x41f55e
476cc8:	83 c4 10             	add    $0x10,%esp
476ccb:	e9 14 bc f8 ff       	jmp    0x4028e4
476cd0:	33 d2                	xor    %edx,%edx
476cd2:	e9 29 bc f8 ff       	jmp    0x402900
476cd7:	48                   	dec    %eax
476cd8:	74 68                	je     0x476d42
476cda:	48                   	dec    %eax
476cdb:	74 1e                	je     0x476cfb
476cdd:	83 e8 4a             	sub    $0x4a,%eax
476ce0:	0f 84 cc 72 f9 ff    	je     0x40dfb2
476ce6:	53                   	push   %ebx
476ce7:	8d 44 24 1c          	lea    0x1c(%esp),%eax
476ceb:	50                   	push   %eax
476cec:	8d 44 24 18          	lea    0x18(%esp),%eax
476cf0:	50                   	push   %eax
476cf1:	57                   	push   %edi
476cf2:	8b ce                	mov    %esi,%ecx
476cf4:	e8 37 91 f9 ff       	call   0x40fe30
476cf9:	eb 74                	jmp    0x476d6f
476cfb:	8d 9e 6c 01 00 00    	lea    0x16c(%esi),%ebx
476d01:	8b cb                	mov    %ebx,%ecx
476d03:	e8 9e 7e fe ff       	call   0x45eba6
476d08:	8b c8                	mov    %eax,%ecx
476d0a:	e8 71 5e fe ff       	call   0x45cb80
476d0f:	84 c0                	test   %al,%al
476d11:	75 10                	jne    0x476d23
476d13:	8b 44 24 14          	mov    0x14(%esp),%eax
476d17:	0f bf 40 0a          	movswl 0xa(%eax),%eax
476d1b:	50                   	push   %eax
476d1c:	68 a7 00 00 00       	push   $0xa7
476d21:	eb 6f                	jmp    0x476d92
476d23:	8b cb                	mov    %ebx,%ecx
476d25:	e8 7c 7e fe ff       	call   0x45eba6
476d2a:	89 44 24 14          	mov    %eax,0x14(%esp)
476d2e:	8d 44 24 14          	lea    0x14(%esp),%eax
476d32:	50                   	push   %eax
476d33:	8d 44 24 14          	lea    0x14(%esp),%eax
476d37:	50                   	push   %eax
476d38:	57                   	push   %edi
476d39:	8b ce                	mov    %esi,%ecx
476d3b:	e8 ca 76 fe ff       	call   0x45e40a
476d40:	eb 2d                	jmp    0x476d6f
476d42:	8d 44 24 0f          	lea    0xf(%esp),%eax
476d46:	50                   	push   %eax
476d47:	8d 44 24 1c          	lea    0x1c(%esp),%eax
476d4b:	50                   	push   %eax
476d4c:	8d 44 24 18          	lea    0x18(%esp),%eax
476d50:	50                   	push   %eax
476d51:	57                   	push   %edi
476d52:	51                   	push   %ecx
476d53:	8b ce                	mov    %esi,%ecx
476d55:	e8 a6 c4 f9 ff       	call   0x413200
476d5a:	eb 13                	jmp    0x476d6f
476d5c:	8d 44 24 18          	lea    0x18(%esp),%eax
476d60:	50                   	push   %eax
476d61:	8d 44 24 14          	lea    0x14(%esp),%eax
476d65:	50                   	push   %eax
476d66:	57                   	push   %edi
476d67:	51                   	push   %ecx
476d68:	8b ce                	mov    %esi,%ecx
476d6a:	e8 71 d8 f9 ff       	call   0x4145e0
476d6f:	8b d8                	mov    %eax,%ebx
476d71:	e9 59 72 f9 ff       	jmp    0x40dfcf
476d76:	8b 4f 04             	mov    0x4(%edi),%ecx
476d79:	8b 44 24 10          	mov    0x10(%esp),%eax
476d7d:	8b 04 81             	mov    (%ecx,%eax,4),%eax
476d80:	66 83 78 08 7f       	cmpw   $0x7f,0x8(%eax)
476d85:	0f 84 27 72 f9 ff    	je     0x40dfb2
476d8b:	0f bf 40 0a          	movswl 0xa(%eax),%eax
476d8f:	50                   	push   %eax
476d90:	6a 72                	push   $0x72
476d92:	8b ce                	mov    %esi,%ecx
476d94:	e8 c3 5e fd ff       	call   0x44cc5c
476d99:	e9 14 72 f9 ff       	jmp    0x40dfb2
476d9e:	8b 55 14             	mov    0x14(%ebp),%edx
476da1:	8d 41 01             	lea    0x1(%ecx),%eax
476da4:	50                   	push   %eax
476da5:	52                   	push   %edx
476da6:	ff 75 10             	push   0x10(%ebp)
476da9:	89 1c 8a             	mov    %ebx,(%edx,%ecx,4)
476dac:	8b 4d f8             	mov    -0x8(%ebp),%ecx
476daf:	56                   	push   %esi
476db0:	57                   	push   %edi
476db1:	e8 15 51 fa ff       	call   0x41becb
476db6:	84 c0                	test   %al,%al
476db8:	0f 84 3a 52 fa ff    	je     0x41bff8
476dbe:	e9 f5 51 fa ff       	jmp    0x41bfb8
476dc3:	8b 47 04             	mov    0x4(%edi),%eax
476dc6:	6a 4e                	push   $0x4e
476dc8:	8b 44 90 fc          	mov    -0x4(%eax,%edx,4),%eax
476dcc:	5a                   	pop    %edx
476dcd:	66 39 50 08          	cmp    %dx,0x8(%eax)
476dd1:	0f 84 e4 51 fa ff    	je     0x41bfbb
476dd7:	e9 77 51 fa ff       	jmp    0x41bf53
476ddc:	8b 47 04             	mov    0x4(%edi),%eax
476ddf:	8b 04 90             	mov    (%eax,%edx,4),%eax
476de2:	0f bf 40 0a          	movswl 0xa(%eax),%eax
476de6:	50                   	push   %eax
476de7:	6a 7e                	push   $0x7e
476de9:	eb 0d                	jmp    0x476df8
476deb:	8b 47 04             	mov    0x4(%edi),%eax
476dee:	8b 04 90             	mov    (%eax,%edx,4),%eax
476df1:	0f bf 40 0a          	movswl 0xa(%eax),%eax
476df5:	50                   	push   %eax
476df6:	6a 7d                	push   $0x7d
476df8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
476dfb:	e8 5c 5e fd ff       	call   0x44cc5c
476e00:	e9 f3 51 fa ff       	jmp    0x41bff8
476e05:	ff 75 14             	push   0x14(%ebp)
476e08:	51                   	push   %ecx
476e09:	57                   	push   %edi
476e0a:	8b cb                	mov    %ebx,%ecx
476e0c:	e8 11 7a fe ff       	call   0x45e822
476e11:	8b d8                	mov    %eax,%ebx
476e13:	e9 2b d9 f9 ff       	jmp    0x414743
476e18:	8b 47 08             	mov    0x8(%edi),%eax
476e1b:	8b 70 38             	mov    0x38(%eax),%esi
476e1e:	e9 c4 d8 f9 ff       	jmp    0x4146e7
476e23:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
476e27:	75 12                	jne    0x476e3b
476e29:	ff 74 24 14          	push   0x14(%esp)
476e2d:	8b cb                	mov    %ebx,%ecx
476e2f:	6a 70                	push   $0x70
476e31:	e8 26 5e fd ff       	call   0x44cc5c
476e36:	e9 b5 d9 f9 ff       	jmp    0x4147f0
476e3b:	8b 45 10             	mov    0x10(%ebp),%eax
476e3e:	83 00 fe             	addl   $0xfffffffe,(%eax)
476e41:	e9 aa d9 f9 ff       	jmp    0x4147f0
476e46:	8b 44 91 fc          	mov    -0x4(%ecx,%edx,4),%eax
476e4a:	8b cb                	mov    %ebx,%ecx
476e4c:	0f bf 40 0a          	movswl 0xa(%eax),%eax
476e50:	50                   	push   %eax
476e51:	6a 6f                	push   $0x6f
476e53:	e8 04 5e fd ff       	call   0x44cc5c