504875:	8b 80 b8 01 00 00    	mov    0x1b8(%eax),%eax
50487b:	89 54 24 0c          	mov    %edx,0xc(%esp)
50487f:	89 4c 24 10          	mov    %ecx,0x10(%esp)
504883:	33 d2                	xor    %edx,%edx
504885:	89 54 24 04          	mov    %edx,0x4(%esp)
504889:	83 c0 04             	add    $0x4,%eax
50488c:	8b 0c 24             	mov    (%esp),%ecx
50488f:	8b 91 d4 00 00 00    	mov    0xd4(%ecx),%edx
504895:	89 54 24 08          	mov    %edx,0x8(%esp)
504899:	89 44 24 20          	mov    %eax,0x20(%esp)
50489d:	e9 fd 01 00 00       	jmp    0x504a9f
5048a2:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5048a6:	8b 41 24             	mov    0x24(%ecx),%eax
5048a9:	48                   	dec    %eax
5048aa:	74 0f                	je     0x5048bb
5048ac:	48                   	dec    %eax
5048ad:	74 1f                	je     0x5048ce
5048af:	83 e8 02             	sub    $0x2,%eax
5048b2:	74 2a                	je     0x5048de
5048b4:	83 e8 04             	sub    $0x4,%eax
5048b7:	74 35                	je     0x5048ee
5048b9:	eb 7a                	jmp    0x504935
5048bb:	c7 44 24 10 dc 5f 50 	movl   $0x505fdc,0x10(%esp)
5048c2:	00
5048c3:	33 d2                	xor    %edx,%edx
5048c5:	89 54 24 0c          	mov    %edx,0xc(%esp)
5048c9:	e9 84 00 00 00       	jmp    0x504952
5048ce:	c7 44 24 10 00 5e 50 	movl   $0x505e00,0x10(%esp)
5048d5:	00
5048d6:	33 c9                	xor    %ecx,%ecx
5048d8:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
5048dc:	eb 74                	jmp    0x504952
5048de:	c7 44 24 10 6c 5a 50 	movl   $0x505a6c,0x10(%esp)
5048e5:	00
5048e6:	33 c0                	xor    %eax,%eax
5048e8:	89 44 24 0c          	mov    %eax,0xc(%esp)
5048ec:	eb 64                	jmp    0x504952
5048ee:	8b 14 24             	mov    (%esp),%edx
5048f1:	8b 4a 44             	mov    0x44(%edx),%ecx
5048f4:	49                   	dec    %ecx
5048f5:	74 05                	je     0x5048fc
5048f7:	49                   	dec    %ecx
5048f8:	74 14                	je     0x50490e
5048fa:	eb 24                	jmp    0x504920
5048fc:	c7 44 24 10 60 56 50 	movl   $0x505660,0x10(%esp)
504903:	00
504904:	c7 44 24 0c 01 00 00 	movl   $0x1,0xc(%esp)
50490b:	00
50490c:	eb 44                	jmp    0x504952
50490e:	c7 44 24 10 30 52 50 	movl   $0x505230,0x10(%esp)
504915:	00
504916:	c7 44 24 0c 02 00 00 	movl   $0x2,0xc(%esp)
50491d:	00
50491e:	eb 32                	jmp    0x504952
504920:	8b 04 24             	mov    (%esp),%eax
504923:	8b 10                	mov    (%eax),%edx
504925:	c7 42 14 2f 00 00 00 	movl   $0x2f,0x14(%edx)
50492c:	8b 04 24             	mov    (%esp),%eax
50492f:	8b 10                	mov    (%eax),%edx
504931:	ff 12                	call   *(%edx)
504933:	eb 1d                	jmp    0x504952
504935:	8b 0c 24             	mov    (%esp),%ecx
504938:	8b 01                	mov    (%ecx),%eax
50493a:	c7 40 14 06 00 00 00 	movl   $0x6,0x14(%eax)
504941:	8b 54 24 08          	mov    0x8(%esp),%edx
504945:	8b 4a 24             	mov    0x24(%edx),%ecx
504948:	89 48 18             	mov    %ecx,0x18(%eax)
50494b:	8b 04 24             	mov    (%esp),%eax
50494e:	8b 10                	mov    (%eax),%edx
504950:	ff 12                	call   *(%edx)
504952:	8b 4c 24 20          	mov    0x20(%esp),%ecx
504956:	8b 44 24 10          	mov    0x10(%esp),%eax
50495a:	89 01                	mov    %eax,(%ecx)
50495c:	8b 54 24 08          	mov    0x8(%esp),%edx
504960:	83 7a 30 00          	cmpl   $0x0,0x30(%edx)
504964:	0f 84 27 01 00 00    	je     0x504a91
50496a:	8b 4c 24 20          	mov    0x20(%esp),%ecx
50496e:	8b 41 28             	mov    0x28(%ecx),%eax
504971:	3b 44 24 0c          	cmp    0xc(%esp),%eax
504975:	0f 84 16 01 00 00    	je     0x504a91
50497b:	8b 54 24 08          	mov    0x8(%esp),%edx
50497f:	8b 4a 4c             	mov    0x4c(%edx),%ecx
504982:	89 4c 24 14          	mov    %ecx,0x14(%esp)
504986:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
50498b:	0f 84 00 01 00 00    	je     0x504a91
504991:	8b 44 24 20          	mov    0x20(%esp),%eax
504995:	8b 54 24 0c          	mov    0xc(%esp),%edx
504999:	89 50 28             	mov    %edx,0x28(%eax)
50499c:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5049a0:	83 e9 01             	sub    $0x1,%ecx
5049a3:	72 0a                	jb     0x5049af
5049a5:	74 2d                	je     0x5049d4
5049a7:	49                   	dec    %ecx
5049a8:	74 6b                	je     0x504a15
5049aa:	e9 cf 00 00 00       	jmp    0x504a7e
5049af:	8b 44 24 08          	mov    0x8(%esp),%eax
5049b3:	8b 50 50             	mov    0x50(%eax),%edx
5049b6:	33 c0                	xor    %eax,%eax
5049b8:	8b ca                	mov    %edx,%ecx
5049ba:	8b 54 24 14          	mov    0x14(%esp),%edx
5049be:	0f b7 1a             	movzwl (%edx),%ebx
5049c1:	89 19                	mov    %ebx,(%ecx)
5049c3:	40                   	inc    %eax
5049c4:	83 c1 04             	add    $0x4,%ecx
5049c7:	83 c2 02             	add    $0x2,%edx
5049ca:	83 f8 40             	cmp    $0x40,%eax
5049cd:	7c ef                	jl     0x5049be
5049cf:	e9 bd 00 00 00       	jmp    0x504a91
5049d4:	8b 44 24 08          	mov    0x8(%esp),%eax
5049d8:	8b 50 50             	mov    0x50(%eax),%edx
5049db:	33 c0                	xor    %eax,%eax
5049dd:	89 54 24 24          	mov    %edx,0x24(%esp)
5049e1:	b9 a4 d8 68 00       	mov    $0x68d8a4,%ecx
5049e6:	8b 54 24 14          	mov    0x14(%esp),%edx
5049ea:	0f b7 1a             	movzwl (%edx),%ebx
5049ed:	0f bf 31             	movswl (%ecx),%esi
5049f0:	0f af de             	imul   %esi,%ebx
5049f3:	81 c3 00 08 00 00    	add    $0x800,%ebx
5049f9:	8b 74 24 24          	mov    0x24(%esp),%esi
5049fd:	c1 fb 0c             	sar    $0xc,%ebx
504a00:	83 c1 02             	add    $0x2,%ecx
504a03:	89 1e                	mov    %ebx,(%esi)
504a05:	83 c2 02             	add    $0x2,%edx
504a08:	83 44 24 24 04       	addl   $0x4,0x24(%esp)
504a0d:	40                   	inc    %eax
504a0e:	83 f8 40             	cmp    $0x40,%eax
504a11:	7c d7                	jl     0x5049ea
504a13:	eb 7c                	jmp    0x504a91
504a15:	8b 44 24 08          	mov    0x8(%esp),%eax
504a19:	8b 50 50             	mov    0x50(%eax),%edx
504a1c:	33 c0                	xor    %eax,%eax
504a1e:	89 54 24 18          	mov    %edx,0x18(%esp)
504a22:	33 d2                	xor    %edx,%edx
504a24:	89 54 24 1c          	mov    %edx,0x1c(%esp)
504a28:	c7 44 24 28 24 d9 68 	movl   $0x68d924,0x28(%esp)
504a2f:	00
504a30:	33 ff                	xor    %edi,%edi
504a32:	8b 54 24 18          	mov    0x18(%esp),%edx
504a36:	8d 1c 82             	lea    (%edx,%eax,4),%ebx
504a39:	b9 24 d9 68 00       	mov    $0x68d924,%ecx
504a3e:	8b 54 24 28          	mov    0x28(%esp),%edx
504a42:	8b f2                	mov    %edx,%esi
504a44:	8b 54 24 14          	mov    0x14(%esp),%edx
504a48:	8d 14 42             	lea    (%edx,%eax,2),%edx
504a4b:	0f b7 2a             	movzwl (%edx),%ebp
504a4e:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
504a52:	83 c2 02             	add    $0x2,%edx
504a55:	db 44 24 2c          	fildl  0x2c(%esp)
504a59:	40                   	inc    %eax
504a5a:	47                   	inc    %edi
504a5b:	dc 0e                	fmull  (%esi)
504a5d:	dc 09                	fmull  (%ecx)
504a5f:	83 c1 08             	add    $0x8,%ecx
504a62:	d9 1b                	fstps  (%ebx)
504a64:	83 c3 04             	add    $0x4,%ebx
504a67:	83 ff 08             	cmp    $0x8,%edi
504a6a:	7c df                	jl     0x504a4b
504a6c:	ff 44 24 1c          	incl   0x1c(%esp)
504a70:	83 44 24 28 08       	addl   $0x8,0x28(%esp)
504a75:	83 7c 24 1c 08       	cmpl   $0x8,0x1c(%esp)
504a7a:	7c b4                	jl     0x504a30
504a7c:	eb 13                	jmp    0x504a91
504a7e:	8b 04 24             	mov    (%esp),%eax
504a81:	8b 10                	mov    (%eax),%edx
504a83:	c7 42 14 2f 00 00 00 	movl   $0x2f,0x14(%edx)
504a8a:	8b 04 24             	mov    (%esp),%eax
504a8d:	8b 10                	mov    (%eax),%edx
504a8f:	ff 12                	call   *(%edx)
504a91:	83 44 24 20 04       	addl   $0x4,0x20(%esp)
504a96:	ff 44 24 04          	incl   0x4(%esp)
504a9a:	83 44 24 08 54       	addl   $0x54,0x8(%esp)
504a9f:	8b 0c 24             	mov    (%esp),%ecx
504aa2:	8b 41 20             	mov    0x20(%ecx),%eax
504aa5:	3b 44 24 04          	cmp    0x4(%esp),%eax
504aa9:	0f 8f f3 fd ff ff    	jg     0x5048a2
504aaf:	83 c4 30             	add    $0x30,%esp
504ab2:	5d                   	pop    %ebp
504ab3:	5f                   	pop    %edi
504ab4:	5e                   	pop    %esi
504ab5:	5b                   	pop    %ebx
504ab6:	c3                   	ret
504ab7:	90                   	nop
504ab8:	53                   	push   %ebx
504ab9:	56                   	push   %esi
504aba:	8b f0                	mov    %eax,%esi
504abc:	57                   	push   %edi
504abd:	8b c6                	mov    %esi,%eax
504abf:	55                   	push   %ebp
504ac0:	51                   	push   %ecx
504ac1:	b9 54 00 00 00       	mov    $0x54,%ecx
504ac6:	8b 58 04             	mov    0x4(%eax),%ebx
504ac9:	ba 01 00 00 00       	mov    $0x1,%edx
504ace:	ff 13                	call   *(%ebx)
504ad0:	89 86 b8 01 00 00    	mov    %eax,0x1b8(%esi)
504ad6:	c7 00 64 48 50 00    	movl   $0x504864,(%eax)
504adc:	33 d2                	xor    %edx,%edx
504ade:	8d 78 2c             	lea    0x2c(%eax),%edi
504ae1:	89 14 24             	mov    %edx,(%esp)
504ae4:	8b 9e d4 00 00 00    	mov    0xd4(%esi),%ebx
504aea:	eb 37                	jmp    0x504b23
504aec:	8b c6                	mov    %esi,%eax
504aee:	b9 00 01 00 00       	mov    $0x100,%ecx
504af3:	ba 01 00 00 00       	mov    $0x1,%edx
504af8:	8b 68 04             	mov    0x4(%eax),%ebp
504afb:	ff 55 00             	call   *0x0(%ebp)
504afe:	89 43 50             	mov    %eax,0x50(%ebx)
504b01:	68 00 01 00 00       	push   $0x100
504b06:	6a 00                	push   $0x0
504b08:	8b 43 50             	mov    0x50(%ebx),%eax
504b0b:	50                   	push   %eax
504b0c:	e8 a3 67 ff ff       	call   0x4fb2b4
504b11:	83 c4 0c             	add    $0xc,%esp
504b14:	c7 07 ff ff ff ff    	movl   $0xffffffff,(%edi)
504b1a:	83 c7 04             	add    $0x4,%edi
504b1d:	ff 04 24             	incl   (%esp)
504b20:	83 c3 54             	add    $0x54,%ebx
504b23:	8b 14 24             	mov    (%esp),%edx
504b26:	3b 56 20             	cmp    0x20(%esi),%edx
504b29:	7c c1                	jl     0x504aec
504b2b:	5a                   	pop    %edx
504b2c:	5d                   	pop    %ebp
504b2d:	5f                   	pop    %edi
504b2e:	5e                   	pop    %esi
504b2f:	5b                   	pop    %ebx
504b30:	c3                   	ret
504b31:	8d 40 00             	lea    0x0(%eax),%eax
504b34:	8b 90 bc 01 00 00    	mov    0x1bc(%eax),%edx
504b3a:	8b 88 30 01 00 00    	mov    0x130(%eax),%ecx
504b40:	89 4a 5c             	mov    %ecx,0x5c(%edx)
504b43:	8b 40 70             	mov    0x70(%eax),%eax
504b46:	89 42 60             	mov    %eax,0x60(%edx)
504b49:	c3                   	ret
504b4a:	90                   	nop
504b4b:	90                   	nop
504b4c:	55                   	push   %ebp
504b4d:	8b ec                	mov    %esp,%ebp
504b4f:	83 c4 e4             	add    $0xffffffe4,%esp
504b52:	53                   	push   %ebx
504b53:	56                   	push   %esi
504b54:	8b f0                	mov    %eax,%esi
504b56:	57                   	push   %edi
504b57:	89 4d f8             	mov    %ecx,-0x8(%ebp)
504b5a:	89 55 fc             	mov    %edx,-0x4(%ebp)
504b5d:	8b 9e bc 01 00 00    	mov    0x1bc(%esi),%ebx
504b63:	8b 43 5c             	mov    0x5c(%ebx),%eax
504b66:	3b 86 30 01 00 00    	cmp    0x130(%esi),%eax
504b6c:	7c 64                	jl     0x504bd2
504b6e:	33 d2                	xor    %edx,%edx
504b70:	89 55 f4             	mov    %edx,-0xc(%ebp)
504b73:	8b 8e d4 00 00 00    	mov    0xd4(%esi),%ecx
504b79:	89 4d f0             	mov    %ecx,-0x10(%ebp)
504b7c:	8b 45 fc             	mov    -0x4(%ebp),%eax
504b7f:	8b d0                	mov    %eax,%edx
504b81:	89 55 e4             	mov    %edx,-0x1c(%ebp)
504b84:	8d 4b 34             	lea    0x34(%ebx),%ecx
504b87:	89 4d e8             	mov    %ecx,-0x18(%ebp)
504b8a:	eb 39                	jmp    0x504bc5
504b8c:	8b 45 f4             	mov    -0xc(%ebp),%eax
504b8f:	c1 e0 02             	shl    $0x2,%eax
504b92:	03 c3                	add    %ebx,%eax
504b94:	83 c0 0c             	add    $0xc,%eax
504b97:	50                   	push   %eax
504b98:	8b 55 f8             	mov    -0x8(%ebp),%edx
504b9b:	8b 45 e8             	mov    -0x18(%ebp),%eax
504b9e:	8b 7d e8             	mov    -0x18(%ebp),%edi
504ba1:	8b 0a                	mov    (%edx),%ecx
504ba3:	0f af 48 30          	imul   0x30(%eax),%ecx
504ba7:	8b 55 e4             	mov    -0x1c(%ebp),%edx
504baa:	8b c6                	mov    %esi,%eax
504bac:	c1 e1 02             	shl    $0x2,%ecx
504baf:	03 0a                	add    (%edx),%ecx
504bb1:	8b 55 f0             	mov    -0x10(%ebp),%edx
504bb4:	ff 17                	call   *(%edi)
504bb6:	83 45 e8 04          	addl   $0x4,-0x18(%ebp)
504bba:	83 45 e4 04          	addl   $0x4,-0x1c(%ebp)
504bbe:	ff 45 f4             	incl   -0xc(%ebp)
504bc1:	83 45 f0 54          	addl   $0x54,-0x10(%ebp)
504bc5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
504bc8:	3b 4e 20             	cmp    0x20(%esi),%ecx
504bcb:	7c bf                	jl     0x504b8c
504bcd:	33 c0                	xor    %eax,%eax
504bcf:	89 43 5c             	mov    %eax,0x5c(%ebx)
504bd2:	8b 96 30 01 00 00    	mov    0x130(%esi),%edx
504bd8:	8b 43 5c             	mov    0x5c(%ebx),%eax
504bdb:	2b d0                	sub    %eax,%edx
504bdd:	89 55 ec             	mov    %edx,-0x14(%ebp)
504be0:	8b 53 60             	mov    0x60(%ebx),%edx
504be3:	3b 55 ec             	cmp    -0x14(%ebp),%edx
504be6:	73 03                	jae    0x504beb
504be8:	89 55 ec             	mov    %edx,-0x14(%ebp)
504beb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
504bee:	8b 11                	mov    (%ecx),%edx
504bf0:	29 55 08             	sub    %edx,0x8(%ebp)
504bf3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
504bf6:	3b 4d 08             	cmp    0x8(%ebp),%ecx
504bf9:	76 06                	jbe    0x504c01
504bfb:	8b 4d 08             	mov    0x8(%ebp),%ecx
504bfe:	89 4d ec             	mov    %ecx,-0x14(%ebp)
504c01:	c1 e2 02             	shl    $0x2,%edx
504c04:	8b c8                	mov    %eax,%ecx
504c06:	03 55 10             	add    0x10(%ebp),%edx
504c09:	8b c6                	mov    %esi,%eax
504c0b:	52                   	push   %edx
504c0c:	8b 55 ec             	mov    -0x14(%ebp),%edx
504c0f:	52                   	push   %edx
504c10:	8d 53 0c             	lea    0xc(%ebx),%edx
504c13:	8b b8 c0 01 00 00    	mov    0x1c0(%eax),%edi
504c19:	ff 57 04             	call   *0x4(%edi)
504c1c:	8b 45 0c             	mov    0xc(%ebp),%eax
504c1f:	8b 55 ec             	mov    -0x14(%ebp),%edx
504c22:	01 10                	add    %edx,(%eax)
504c24:	8b 4d ec             	mov    -0x14(%ebp),%ecx
504c27:	29 4b 60             	sub    %ecx,0x60(%ebx)
504c2a:	8b 43 5c             	mov    0x5c(%ebx),%eax
504c2d:	03 45 ec             	add    -0x14(%ebp),%eax
504c30:	89 43 5c             	mov    %eax,0x5c(%ebx)
504c33:	3b 86 30 01 00 00    	cmp    0x130(%esi),%eax
504c39:	7c 05                	jl     0x504c40
504c3b:	8b 55 f8             	mov    -0x8(%ebp),%edx
504c3e:	ff 02                	incl   (%edx)
504c40:	5f                   	pop    %edi
504c41:	5e                   	pop    %esi
504c42:	5b                   	pop    %ebx
504c43:	8b e5                	mov    %ebp,%esp
504c45:	5d                   	pop    %ebp
504c46:	c2 10 00             	ret    $0x10
504c49:	90                   	nop
504c4a:	90                   	nop
504c4b:	90                   	nop
504c4c:	55                   	push   %ebp
504c4d:	8b ec                	mov    %esp,%ebp
504c4f:	8b 45 08             	mov    0x8(%ebp),%eax
504c52:	89 08                	mov    %ecx,(%eax)
504c54:	5d                   	pop    %ebp
504c55:	c2 04 00             	ret    $0x4
504c58:	55                   	push   %ebp
504c59:	8b ec                	mov    %esp,%ebp
504c5b:	8b 45 08             	mov    0x8(%ebp),%eax
504c5e:	33 d2                	xor    %edx,%edx
504c60:	89 10                	mov    %edx,(%eax)
504c62:	5d                   	pop    %ebp
504c63:	c2 04 00             	ret    $0x4
504c66:	90                   	nop
504c67:	90                   	nop
504c68:	55                   	push   %ebp
504c69:	8b ec                	mov    %esp,%ebp
504c6b:	83 c4 e8             	add    $0xffffffe8,%esp
504c6e:	53                   	push   %ebx
504c6f:	56                   	push   %esi
504c70:	57                   	push   %edi