47998d:	8b 45 ec             	mov    -0x14(%ebp),%eax
479990:	89 45 c8             	mov    %eax,-0x38(%ebp)
479993:	8b 43 44             	mov    0x44(%ebx),%eax
479996:	0f af 45 e0          	imul   -0x20(%ebp),%eax
47999a:	89 55 c0             	mov    %edx,-0x40(%ebp)
47999d:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
4799a1:	d9 ee                	fldz
4799a3:	d9 5d d0             	fstps  -0x30(%ebp)
4799a6:	03 c1                	add    %ecx,%eax
4799a8:	99                   	cltd
4799a9:	f7 ff                	idiv   %edi
4799ab:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4799ae:	8b 43 48             	mov    0x48(%ebx),%eax
4799b1:	0f af 45 e4          	imul   -0x1c(%ebp),%eax
4799b5:	03 c1                	add    %ecx,%eax
4799b7:	99                   	cltd
4799b8:	f7 ff                	idiv   %edi
4799ba:	66 83 7d 18 11       	cmpw   $0x11,0x18(%ebp)
4799bf:	89 45 d8             	mov    %eax,-0x28(%ebp)
4799c2:	8b 3e                	mov    (%esi),%edi
4799c4:	75 18                	jne    0x4799de
4799c6:	8b 4f 14             	mov    0x14(%edi),%ecx
4799c9:	8d 45 c0             	lea    -0x40(%ebp),%eax
4799cc:	50                   	push   %eax
4799cd:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4799d0:	50                   	push   %eax
4799d1:	ff 15 2c 81 4a 00    	call   *0x4a812c
4799d7:	8b ce                	mov    %esi,%ecx
4799d9:	ff 57 14             	call   *0x14(%edi)
4799dc:	eb 1e                	jmp    0x4799fc
4799de:	8b 4f 18             	mov    0x18(%edi),%ecx
4799e1:	8d 45 dc             	lea    -0x24(%ebp),%eax
4799e4:	50                   	push   %eax
4799e5:	8d 45 18             	lea    0x18(%ebp),%eax
4799e8:	50                   	push   %eax
4799e9:	8d 45 c0             	lea    -0x40(%ebp),%eax
4799ec:	50                   	push   %eax
4799ed:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4799f0:	50                   	push   %eax
4799f1:	ff 15 2c 81 4a 00    	call   *0x4a812c
4799f7:	8b ce                	mov    %esi,%ecx
4799f9:	ff 57 18             	call   *0x18(%edi)
4799fc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4799ff:	33 c0                	xor    %eax,%eax
479a01:	5f                   	pop    %edi
479a02:	5e                   	pop    %esi
479a03:	33 cd                	xor    %ebp,%ecx
479a05:	5b                   	pop    %ebx
479a06:	e8 f5 64 01 00       	call   0x48ff00
479a0b:	c9                   	leave
479a0c:	c2 28 00             	ret    $0x28
479a0f:	8b ff                	mov    %edi,%edi
479a11:	55                   	push   %ebp
479a12:	8b ec                	mov    %esp,%ebp
479a14:	6a ff                	push   $0xffffffff
479a16:	68 7b 13 49 00       	push   $0x49137b
479a1b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
479a21:	50                   	push   %eax
479a22:	51                   	push   %ecx
479a23:	56                   	push   %esi
479a24:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
479a29:	33 c5                	xor    %ebp,%eax
479a2b:	50                   	push   %eax
479a2c:	8d 45 f4             	lea    -0xc(%ebp),%eax
479a2f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
479a35:	8b f1                	mov    %ecx,%esi
479a37:	8b 46 04             	mov    0x4(%esi),%eax
479a3a:	50                   	push   %eax
479a3b:	ff 30                	push   (%eax)
479a3d:	8d 45 f0             	lea    -0x10(%ebp),%eax
479a40:	50                   	push   %eax
479a41:	e8 20 00 00 00       	call   0x479a66
479a46:	ff 76 04             	push   0x4(%esi)
479a49:	ff 15 10 74 4a 00    	call   *0x4a7410
479a4f:	83 66 04 00          	andl   $0x0,0x4(%esi)
479a53:	83 66 08 00          	andl   $0x0,0x8(%esi)
479a57:	59                   	pop    %ecx
479a58:	8b 4d f4             	mov    -0xc(%ebp),%ecx
479a5b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
479a62:	59                   	pop    %ecx
479a63:	5e                   	pop    %esi
479a64:	c9                   	leave
479a65:	c3                   	ret
479a66:	8b ff                	mov    %edi,%edi
479a68:	55                   	push   %ebp
479a69:	8b ec                	mov    %esp,%ebp
479a6b:	83 e4 f8             	and    $0xfffffff8,%esp
479a6e:	51                   	push   %ecx
479a6f:	51                   	push   %ecx
479a70:	56                   	push   %esi
479a71:	8b 75 0c             	mov    0xc(%ebp),%esi
479a74:	57                   	push   %edi
479a75:	8b f9                	mov    %ecx,%edi
479a77:	8b 47 04             	mov    0x4(%edi),%eax
479a7a:	3b 30                	cmp    (%eax),%esi
479a7c:	75 46                	jne    0x479ac4
479a7e:	39 45 10             	cmp    %eax,0x10(%ebp)
479a81:	75 41                	jne    0x479ac4
479a83:	ff 70 04             	push   0x4(%eax)
479a86:	e8 e3 03 00 00       	call   0x479e6e
479a8b:	8b 47 04             	mov    0x4(%edi),%eax
479a8e:	89 40 04             	mov    %eax,0x4(%eax)
479a91:	8b 47 04             	mov    0x4(%edi),%eax
479a94:	83 67 08 00          	andl   $0x0,0x8(%edi)
479a98:	89 00                	mov    %eax,(%eax)
479a9a:	8b 47 04             	mov    0x4(%edi),%eax
479a9d:	89 40 08             	mov    %eax,0x8(%eax)
479aa0:	8b 47 04             	mov    0x4(%edi),%eax
479aa3:	8b 08                	mov    (%eax),%ecx
479aa5:	8b 45 08             	mov    0x8(%ebp),%eax
479aa8:	89 08                	mov    %ecx,(%eax)
479aaa:	eb 22                	jmp    0x479ace
479aac:	8d 4d 0c             	lea    0xc(%ebp),%ecx
479aaf:	e8 ce 02 00 00       	call   0x479d82
479ab4:	56                   	push   %esi
479ab5:	8d 44 24 10          	lea    0x10(%esp),%eax
479ab9:	8b cf                	mov    %edi,%ecx
479abb:	50                   	push   %eax
479abc:	e8 15 00 00 00       	call   0x479ad6
479ac1:	8b 75 0c             	mov    0xc(%ebp),%esi
479ac4:	3b 75 10             	cmp    0x10(%ebp),%esi
479ac7:	75 e3                	jne    0x479aac
479ac9:	8b 45 08             	mov    0x8(%ebp),%eax
479acc:	89 30                	mov    %esi,(%eax)
479ace:	5f                   	pop    %edi
479acf:	5e                   	pop    %esi
479ad0:	8b e5                	mov    %ebp,%esp
479ad2:	5d                   	pop    %ebp
479ad3:	c2 0c 00             	ret    $0xc
479ad6:	6a 5c                	push   $0x5c
479ad8:	b8 b9 11 49 00       	mov    $0x4911b9,%eax
479add:	e8 24 6a 01 00       	call   0x490506
479ae2:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
479ae5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
479ae8:	8b 45 08             	mov    0x8(%ebp),%eax
479aeb:	89 45 98             	mov    %eax,-0x68(%ebp)
479aee:	80 7b 21 00          	cmpb   $0x0,0x21(%ebx)
479af2:	0f 85 5c 02 00 00    	jne    0x479d54
479af8:	8d 4d 0c             	lea    0xc(%ebp),%ecx
479afb:	e8 82 02 00 00       	call   0x479d82
479b00:	8b 03                	mov    (%ebx),%eax
479b02:	8b 7b 08             	mov    0x8(%ebx),%edi
479b05:	80 78 21 00          	cmpb   $0x0,0x21(%eax)
479b09:	75 18                	jne    0x479b23
479b0b:	80 7f 21 00          	cmpb   $0x0,0x21(%edi)
479b0f:	74 04                	je     0x479b15
479b11:	8b f8                	mov    %eax,%edi
479b13:	eb 0e                	jmp    0x479b23
479b15:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479b18:	8b 79 08             	mov    0x8(%ecx),%edi
479b1b:	3b cb                	cmp    %ebx,%ecx
479b1d:	0f 85 86 00 00 00    	jne    0x479ba9
479b23:	80 7f 21 00          	cmpb   $0x0,0x21(%edi)
479b27:	8b 73 04             	mov    0x4(%ebx),%esi
479b2a:	75 03                	jne    0x479b2f
479b2c:	89 77 04             	mov    %esi,0x4(%edi)
479b2f:	8b 55 a4             	mov    -0x5c(%ebp),%edx
479b32:	8b 42 04             	mov    0x4(%edx),%eax
479b35:	39 58 04             	cmp    %ebx,0x4(%eax)
479b38:	75 05                	jne    0x479b3f
479b3a:	89 78 04             	mov    %edi,0x4(%eax)
479b3d:	eb 0b                	jmp    0x479b4a
479b3f:	39 1e                	cmp    %ebx,(%esi)
479b41:	75 04                	jne    0x479b47
479b43:	89 3e                	mov    %edi,(%esi)
479b45:	eb 03                	jmp    0x479b4a
479b47:	89 7e 08             	mov    %edi,0x8(%esi)
479b4a:	8b 42 04             	mov    0x4(%edx),%eax
479b4d:	39 18                	cmp    %ebx,(%eax)
479b4f:	75 29                	jne    0x479b7a
479b51:	80 7f 21 00          	cmpb   $0x0,0x21(%edi)
479b55:	74 04                	je     0x479b5b
479b57:	8b c6                	mov    %esi,%eax
479b59:	eb 1a                	jmp    0x479b75
479b5b:	8b 0f                	mov    (%edi),%ecx
479b5d:	8b c7                	mov    %edi,%eax
479b5f:	80 79 21 00          	cmpb   $0x0,0x21(%ecx)
479b63:	75 10                	jne    0x479b75
479b65:	8b 01                	mov    (%ecx),%eax
479b67:	89 4d a0             	mov    %ecx,-0x60(%ebp)
479b6a:	8b c8                	mov    %eax,%ecx
479b6c:	80 78 21 00          	cmpb   $0x0,0x21(%eax)
479b70:	74 f3                	je     0x479b65
479b72:	8b 45 a0             	mov    -0x60(%ebp),%eax
479b75:	8b 4a 04             	mov    0x4(%edx),%ecx
479b78:	89 01                	mov    %eax,(%ecx)
479b7a:	8b 42 04             	mov    0x4(%edx),%eax
479b7d:	39 58 08             	cmp    %ebx,0x8(%eax)
479b80:	75 22                	jne    0x479ba4
479b82:	80 7f 21 00          	cmpb   $0x0,0x21(%edi)
479b86:	74 04                	je     0x479b8c
479b88:	8b c6                	mov    %esi,%eax
479b8a:	eb 12                	jmp    0x479b9e
479b8c:	8b 4f 08             	mov    0x8(%edi),%ecx
479b8f:	8b c7                	mov    %edi,%eax
479b91:	eb 05                	jmp    0x479b98
479b93:	8b c1                	mov    %ecx,%eax
479b95:	8b 48 08             	mov    0x8(%eax),%ecx
479b98:	80 79 21 00          	cmpb   $0x0,0x21(%ecx)
479b9c:	74 f5                	je     0x479b93
479b9e:	8b 4a 04             	mov    0x4(%edx),%ecx
479ba1:	89 41 08             	mov    %eax,0x8(%ecx)
479ba4:	8a 63 20             	mov    0x20(%ebx),%ah
479ba7:	eb 5a                	jmp    0x479c03
479ba9:	89 48 04             	mov    %ecx,0x4(%eax)
479bac:	8b 03                	mov    (%ebx),%eax
479bae:	89 01                	mov    %eax,(%ecx)
479bb0:	3b 4b 08             	cmp    0x8(%ebx),%ecx
479bb3:	75 04                	jne    0x479bb9
479bb5:	8b f1                	mov    %ecx,%esi
479bb7:	eb 1a                	jmp    0x479bd3
479bb9:	80 7f 21 00          	cmpb   $0x0,0x21(%edi)
479bbd:	8b 71 04             	mov    0x4(%ecx),%esi
479bc0:	75 03                	jne    0x479bc5
479bc2:	89 77 04             	mov    %esi,0x4(%edi)
479bc5:	89 3e                	mov    %edi,(%esi)
479bc7:	8b 43 08             	mov    0x8(%ebx),%eax
479bca:	89 41 08             	mov    %eax,0x8(%ecx)
479bcd:	8b 43 08             	mov    0x8(%ebx),%eax
479bd0:	89 48 04             	mov    %ecx,0x4(%eax)
479bd3:	8b 55 a4             	mov    -0x5c(%ebp),%edx
479bd6:	8b 42 04             	mov    0x4(%edx),%eax
479bd9:	39 58 04             	cmp    %ebx,0x4(%eax)
479bdc:	75 05                	jne    0x479be3
479bde:	89 48 04             	mov    %ecx,0x4(%eax)
479be1:	eb 0e                	jmp    0x479bf1
479be3:	8b 43 04             	mov    0x4(%ebx),%eax
479be6:	39 18                	cmp    %ebx,(%eax)
479be8:	75 04                	jne    0x479bee
479bea:	89 08                	mov    %ecx,(%eax)
479bec:	eb 03                	jmp    0x479bf1
479bee:	89 48 08             	mov    %ecx,0x8(%eax)
479bf1:	8b 43 04             	mov    0x4(%ebx),%eax
479bf4:	89 41 04             	mov    %eax,0x4(%ecx)
479bf7:	8a 43 20             	mov    0x20(%ebx),%al
479bfa:	8a 61 20             	mov    0x20(%ecx),%ah
479bfd:	88 41 20             	mov    %al,0x20(%ecx)
479c00:	88 63 20             	mov    %ah,0x20(%ebx)
479c03:	80 fc 01             	cmp    $0x1,%ah
479c06:	0f 85 22 01 00 00    	jne    0x479d2e
479c0c:	8b 42 04             	mov    0x4(%edx),%eax
479c0f:	3b 78 04             	cmp    0x4(%eax),%edi
479c12:	0f 84 d3 00 00 00    	je     0x479ceb
479c18:	80 7f 20 01          	cmpb   $0x1,0x20(%edi)
479c1c:	89 75 9c             	mov    %esi,-0x64(%ebp)
479c1f:	0f 85 c6 00 00 00    	jne    0x479ceb
479c25:	8b 0e                	mov    (%esi),%ecx
479c27:	3b f9                	cmp    %ecx,%edi
479c29:	75 76                	jne    0x479ca1
479c2b:	8b 4e 08             	mov    0x8(%esi),%ecx
479c2e:	80 79 20 00          	cmpb   $0x0,0x20(%ecx)
479c32:	75 16                	jne    0x479c4a
479c34:	c6 41 20 01          	movb   $0x1,0x20(%ecx)
479c38:	8b ca                	mov    %edx,%ecx
479c3a:	56                   	push   %esi
479c3b:	c6 46 20 00          	movb   $0x0,0x20(%esi)
479c3f:	e8 e3 01 00 00       	call   0x479e27
479c44:	8b 4e 08             	mov    0x8(%esi),%ecx
479c47:	8b 55 a4             	mov    -0x5c(%ebp),%edx
479c4a:	80 79 21 00          	cmpb   $0x0,0x21(%ecx)
479c4e:	0f 85 83 00 00 00    	jne    0x479cd7
479c54:	8b 01                	mov    (%ecx),%eax
479c56:	80 78 20 01          	cmpb   $0x1,0x20(%eax)
479c5a:	75 09                	jne    0x479c65
479c5c:	8b 41 08             	mov    0x8(%ecx),%eax
479c5f:	80 78 20 01          	cmpb   $0x1,0x20(%eax)
479c63:	74 6e                	je     0x479cd3
479c65:	8b 41 08             	mov    0x8(%ecx),%eax
479c68:	80 78 20 01          	cmpb   $0x1,0x20(%eax)
479c6c:	75 15                	jne    0x479c83
479c6e:	8b 01                	mov    (%ecx),%eax
479c70:	51                   	push   %ecx
479c71:	c6 40 20 01          	movb   $0x1,0x20(%eax)
479c75:	c6 41 20 00          	movb   $0x0,0x20(%ecx)
479c79:	8b ca                	mov    %edx,%ecx
479c7b:	e8 5e 01 00 00       	call   0x479dde
479c80:	8b 4e 08             	mov    0x8(%esi),%ecx
479c83:	8a 46 20             	mov    0x20(%esi),%al
479c86:	88 41 20             	mov    %al,0x20(%ecx)
479c89:	c6 46 20 01          	movb   $0x1,0x20(%esi)
479c8d:	8b 41 08             	mov    0x8(%ecx),%eax
479c90:	56                   	push   %esi
479c91:	8b 75 a4             	mov    -0x5c(%ebp),%esi
479c94:	8b ce                	mov    %esi,%ecx
479c96:	c6 40 20 01          	movb   $0x1,0x20(%eax)
479c9a:	e8 88 01 00 00       	call   0x479e27
479c9f:	eb 4d                	jmp    0x479cee
479ca1:	80 79 20 00          	cmpb   $0x0,0x20(%ecx)
479ca5:	75 15                	jne    0x479cbc
479ca7:	c6 41 20 01          	movb   $0x1,0x20(%ecx)
479cab:	8b ca                	mov    %edx,%ecx
479cad:	56                   	push   %esi
479cae:	c6 46 20 00          	movb   $0x0,0x20(%esi)
479cb2:	e8 27 01 00 00       	call   0x479dde
479cb7:	8b 0e                	mov    (%esi),%ecx
479cb9:	8b 55 a4             	mov    -0x5c(%ebp),%edx
479cbc:	80 79 21 00          	cmpb   $0x0,0x21(%ecx)
479cc0:	75 15                	jne    0x479cd7
479cc2:	8b 41 08             	mov    0x8(%ecx),%eax
479cc5:	80 78 20 01          	cmpb   $0x1,0x20(%eax)
479cc9:	75 29                	jne    0x479cf4
479ccb:	8b 01                	mov    (%ecx),%eax
479ccd:	80 78 20 01          	cmpb   $0x1,0x20(%eax)
479cd1:	75 21                	jne    0x479cf4
479cd3:	c6 41 20 00          	movb   $0x0,0x20(%ecx)
479cd7:	8b 42 04             	mov    0x4(%edx),%eax
479cda:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
479cdd:	8b f9                	mov    %ecx,%edi
479cdf:	8b 76 04             	mov    0x4(%esi),%esi
479ce2:	3b 48 04             	cmp    0x4(%eax),%ecx
479ce5:	0f 85 2d ff ff ff    	jne    0x479c18
479ceb:	8b 75 a4             	mov    -0x5c(%ebp),%esi
479cee:	c6 47 20 01          	movb   $0x1,0x20(%edi)
479cf2:	eb 3d                	jmp    0x479d31
479cf4:	8b 01                	mov    (%ecx),%eax
479cf6:	80 78 20 01          	cmpb   $0x1,0x20(%eax)
479cfa:	75 15                	jne    0x479d11
479cfc:	8b 41 08             	mov    0x8(%ecx),%eax
479cff:	51                   	push   %ecx
479d00:	c6 40 20 01          	movb   $0x1,0x20(%eax)
479d04:	c6 41 20 00          	movb   $0x0,0x20(%ecx)
479d08:	8b ca                	mov    %edx,%ecx
479d0a:	e8 18 01 00 00       	call   0x479e27
479d0f:	8b 0e                	mov    (%esi),%ecx
479d11:	8a 46 20             	mov    0x20(%esi),%al
479d14:	88 41 20             	mov    %al,0x20(%ecx)
479d17:	c6 46 20 01          	movb   $0x1,0x20(%esi)
479d1b:	8b 01                	mov    (%ecx),%eax
479d1d:	56                   	push   %esi
479d1e:	8b 75 a4             	mov    -0x5c(%ebp),%esi
479d21:	8b ce                	mov    %esi,%ecx
479d23:	c6 40 20 01          	movb   $0x1,0x20(%eax)
479d27:	e8 b2 00 00 00       	call   0x479dde
479d2c:	eb c0                	jmp    0x479cee
479d2e:	8b 75 a4             	mov    -0x5c(%ebp),%esi
479d31:	53                   	push   %ebx
479d32:	ff 15 10 74 4a 00    	call   *0x4a7410
479d38:	59                   	pop    %ecx
479d39:	8b 4e 08             	mov    0x8(%esi),%ecx
479d3c:	85 c9                	test   %ecx,%ecx
479d3e:	74 04                	je     0x479d44
479d40:	49                   	dec    %ecx
479d41:	89 4e 08             	mov    %ecx,0x8(%esi)
479d44:	8b 45 98             	mov    -0x68(%ebp),%eax
479d47:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479d4a:	89 08                	mov    %ecx,(%eax)
479d4c:	e8 64 67 01 00       	call   0x4904b5
479d51:	c2 08 00             	ret    $0x8
479d54:	68 a4 f9 40 00       	push   $0x40f9a4
479d59:	8d 4d d0             	lea    -0x30(%ebp),%ecx