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
504c71:	89 45 fc             	mov    %eax,-0x4(%ebp)
504c74:	8b 45 fc             	mov    -0x4(%ebp),%eax
504c77:	8b 5d 08             	mov    0x8(%ebp),%ebx
504c7a:	8b 80 bc 01 00 00    	mov    0x1bc(%eax),%eax
504c80:	8b 1b                	mov    (%ebx),%ebx
504c82:	89 5d f8             	mov    %ebx,-0x8(%ebp)
504c85:	8b 5a 04             	mov    0x4(%edx),%ebx
504c88:	33 d2                	xor    %edx,%edx
504c8a:	0f b6 b4 18 8c 00 00 	movzbl 0x8c(%eax,%ebx,1),%esi
504c91:	00
504c92:	89 75 f4             	mov    %esi,-0xc(%ebp)
504c95:	0f b6 84 18 96 00 00 	movzbl 0x96(%eax,%ebx,1),%eax
504c9c:	00
504c9d:	89 45 f0             	mov    %eax,-0x10(%ebp)
504ca0:	8b c2                	mov    %edx,%eax
504ca2:	89 55 ec             	mov    %edx,-0x14(%ebp)
504ca5:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
504ca8:	89 4d e8             	mov    %ecx,-0x18(%ebp)
504cab:	eb 5f                	jmp    0x504d0c
504cad:	8b 45 e8             	mov    -0x18(%ebp),%eax
504cb0:	8b 55 ec             	mov    -0x14(%ebp),%edx
504cb3:	8b 30                	mov    (%eax),%esi
504cb5:	8b 45 f8             	mov    -0x8(%ebp),%eax
504cb8:	8b 04 90             	mov    (%eax,%edx,4),%eax
504cbb:	8b 55 fc             	mov    -0x4(%ebp),%edx
504cbe:	8b 7a 6c             	mov    0x6c(%edx),%edi
504cc1:	03 f8                	add    %eax,%edi
504cc3:	3b f8                	cmp    %eax,%edi
504cc5:	76 16                	jbe    0x504cdd
504cc7:	8a 0e                	mov    (%esi),%cl
504cc9:	46                   	inc    %esi
504cca:	8b 55 f4             	mov    -0xc(%ebp),%edx
504ccd:	85 d2                	test   %edx,%edx
504ccf:	7e 08                	jle    0x504cd9
504cd1:	88 08                	mov    %cl,(%eax)
504cd3:	40                   	inc    %eax
504cd4:	4a                   	dec    %edx
504cd5:	85 d2                	test   %edx,%edx
504cd7:	7f f8                	jg     0x504cd1
504cd9:	3b f8                	cmp    %eax,%edi
504cdb:	77 ea                	ja     0x504cc7
504cdd:	83 7d f0 01          	cmpl   $0x1,-0x10(%ebp)
504ce1:	7e 1f                	jle    0x504d02
504ce3:	8b 45 ec             	mov    -0x14(%ebp),%eax
504ce6:	40                   	inc    %eax
504ce7:	50                   	push   %eax
504ce8:	8b 45 f0             	mov    -0x10(%ebp),%eax
504ceb:	48                   	dec    %eax
504cec:	50                   	push   %eax
504ced:	8b 55 fc             	mov    -0x4(%ebp),%edx
504cf0:	8b 4a 6c             	mov    0x6c(%edx),%ecx
504cf3:	51                   	push   %ecx
504cf4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
504cf7:	8b 55 ec             	mov    -0x14(%ebp),%edx
504cfa:	8b 45 f8             	mov    -0x8(%ebp),%eax
504cfd:	e8 92 2e 00 00       	call   0x507b94
504d02:	83 45 e8 04          	addl   $0x4,-0x18(%ebp)
504d06:	8b 45 f0             	mov    -0x10(%ebp),%eax
504d09:	01 45 ec             	add    %eax,-0x14(%ebp)
504d0c:	8b 55 fc             	mov    -0x4(%ebp),%edx
504d0f:	8b 8a 30 01 00 00    	mov    0x130(%edx),%ecx
504d15:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
504d18:	7f 93                	jg     0x504cad
504d1a:	5f                   	pop    %edi
504d1b:	5e                   	pop    %esi
504d1c:	5b                   	pop    %ebx
504d1d:	8b e5                	mov    %ebp,%esp
504d1f:	5d                   	pop    %ebp
504d20:	c2 04 00             	ret    $0x4
504d23:	90                   	nop
504d24:	55                   	push   %ebp
504d25:	8b ec                	mov    %esp,%ebp
504d27:	83 c4 f4             	add    $0xfffffff4,%esp
504d2a:	56                   	push   %esi
504d2b:	57                   	push   %edi
504d2c:	89 45 fc             	mov    %eax,-0x4(%ebp)
504d2f:	8b 45 08             	mov    0x8(%ebp),%eax
504d32:	8b 00                	mov    (%eax),%eax
504d34:	33 d2                	xor    %edx,%edx
504d36:	89 55 f8             	mov    %edx,-0x8(%ebp)
504d39:	89 45 f4             	mov    %eax,-0xc(%ebp)
504d3c:	8b c1                	mov    %ecx,%eax
504d3e:	eb 2a                	jmp    0x504d6a
504d40:	8b 55 f4             	mov    -0xc(%ebp),%edx
504d43:	8b 4d fc             	mov    -0x4(%ebp),%ecx
504d46:	8b 30                	mov    (%eax),%esi
504d48:	8b 12                	mov    (%edx),%edx
504d4a:	8b 79 6c             	mov    0x6c(%ecx),%edi
504d4d:	03 fa                	add    %edx,%edi
504d4f:	3b fa                	cmp    %edx,%edi
504d51:	76 0d                	jbe    0x504d60
504d53:	8a 0e                	mov    (%esi),%cl
504d55:	46                   	inc    %esi
504d56:	88 0a                	mov    %cl,(%edx)
504d58:	42                   	inc    %edx
504d59:	88 0a                	mov    %cl,(%edx)
504d5b:	42                   	inc    %edx
504d5c:	3b fa                	cmp    %edx,%edi
504d5e:	77 f3                	ja     0x504d53
504d60:	ff 45 f8             	incl   -0x8(%ebp)
504d63:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
504d67:	83 c0 04             	add    $0x4,%eax
504d6a:	8b 55 fc             	mov    -0x4(%ebp),%edx
504d6d:	8b 92 30 01 00 00    	mov    0x130(%edx),%edx
504d73:	3b 55 f8             	cmp    -0x8(%ebp),%edx
504d76:	7f c8                	jg     0x504d40
504d78:	5f                   	pop    %edi
504d79:	5e                   	pop    %esi
504d7a:	8b e5                	mov    %ebp,%esp
504d7c:	5d                   	pop    %ebp
504d7d:	c2 04 00             	ret    $0x4
504d80:	55                   	push   %ebp
504d81:	8b ec                	mov    %esp,%ebp
504d83:	83 c4 ec             	add    $0xffffffec,%esp
504d86:	53                   	push   %ebx
504d87:	56                   	push   %esi
504d88:	89 45 fc             	mov    %eax,-0x4(%ebp)
504d8b:	8b 45 08             	mov    0x8(%ebp),%eax
504d8e:	8b 10                	mov    (%eax),%edx
504d90:	33 c0                	xor    %eax,%eax
504d92:	89 55 f8             	mov    %edx,-0x8(%ebp)
504d95:	89 45 f4             	mov    %eax,-0xc(%ebp)
504d98:	8b 55 f8             	mov    -0x8(%ebp),%edx
504d9b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
504d9e:	8d 04 81             	lea    (%ecx,%eax,4),%eax
504da1:	8d 14 9a             	lea    (%edx,%ebx,4),%edx
504da4:	89 55 ec             	mov    %edx,-0x14(%ebp)
504da7:	89 45 f0             	mov    %eax,-0x10(%ebp)
504daa:	eb 4b                	jmp    0x504df7
504dac:	8b 45 ec             	mov    -0x14(%ebp),%eax
504daf:	8b 55 fc             	mov    -0x4(%ebp),%edx
504db2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
504db5:	8b 00                	mov    (%eax),%eax
504db7:	8b 72 6c             	mov    0x6c(%edx),%esi
504dba:	03 f0                	add    %eax,%esi
504dbc:	8b 09                	mov    (%ecx),%ecx
504dbe:	3b f0                	cmp    %eax,%esi
504dc0:	76 0d                	jbe    0x504dcf
504dc2:	8a 11                	mov    (%ecx),%dl
504dc4:	41                   	inc    %ecx
504dc5:	88 10                	mov    %dl,(%eax)
504dc7:	40                   	inc    %eax
504dc8:	88 10                	mov    %dl,(%eax)
504dca:	40                   	inc    %eax
504dcb:	3b f0                	cmp    %eax,%esi
504dcd:	77 f3                	ja     0x504dc2
504dcf:	8b 45 f4             	mov    -0xc(%ebp),%eax
504dd2:	40                   	inc    %eax
504dd3:	50                   	push   %eax
504dd4:	6a 01                	push   $0x1
504dd6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
504dd9:	8b 41 6c             	mov    0x6c(%ecx),%eax
504ddc:	50                   	push   %eax
504ddd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
504de0:	8b 55 f4             	mov    -0xc(%ebp),%edx
504de3:	8b 45 f8             	mov    -0x8(%ebp),%eax
504de6:	e8 a9 2d 00 00       	call   0x507b94
504deb:	83 45 f0 04          	addl   $0x4,-0x10(%ebp)
504def:	83 45 f4 02          	addl   $0x2,-0xc(%ebp)
504df3:	83 45 ec 08          	addl   $0x8,-0x14(%ebp)
504df7:	8b 55 fc             	mov    -0x4(%ebp),%edx
504dfa:	8b 8a 30 01 00 00    	mov    0x130(%edx),%ecx
504e00:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
504e03:	7f a7                	jg     0x504dac
504e05:	5e                   	pop    %esi
504e06:	5b                   	pop    %ebx
504e07:	8b e5                	mov    %ebp,%esp
504e09:	5d                   	pop    %ebp
504e0a:	c2 04 00             	ret    $0x4
504e0d:	90                   	nop
504e0e:	90                   	nop
504e0f:	90                   	nop
504e10:	55                   	push   %ebp
504e11:	8b ec                	mov    %esp,%ebp
504e13:	83 c4 f0             	add    $0xfffffff0,%esp