501a09:	8d 46 44             	lea    0x44(%esi),%eax
501a0c:	03 ed                	add    %ebp,%ebp
501a0e:	8b f0                	mov    %eax,%esi
501a10:	83 c5 04             	add    $0x4,%ebp
501a13:	33 ff                	xor    %edi,%edi
501a15:	eb 12                	jmp    0x501a29
501a17:	55                   	push   %ebp
501a18:	6a 00                	push   $0x0
501a1a:	8b 16                	mov    (%esi),%edx
501a1c:	52                   	push   %edx
501a1d:	e8 92 98 ff ff       	call   0x4fb2b4
501a22:	83 c4 0c             	add    $0xc,%esp
501a25:	47                   	inc    %edi
501a26:	83 c6 04             	add    $0x4,%esi
501a29:	3b 7b 74             	cmp    0x74(%ebx),%edi
501a2c:	7c e9                	jl     0x501a17
501a2e:	eb 0f                	jmp    0x501a3f
501a30:	8b 0b                	mov    (%ebx),%ecx
501a32:	8b c3                	mov    %ebx,%eax
501a34:	c7 41 14 2f 00 00 00 	movl   $0x2f,0x14(%ecx)
501a3b:	8b 10                	mov    (%eax),%edx
501a3d:	ff 12                	call   *(%edx)
501a3f:	5d                   	pop    %ebp
501a40:	5f                   	pop    %edi
501a41:	5e                   	pop    %esi
501a42:	5b                   	pop    %ebx
501a43:	c3                   	ret
501a44:	c3                   	ret
501a45:	90                   	nop
501a46:	90                   	nop
501a47:	90                   	nop
501a48:	8b 10                	mov    (%eax),%edx
501a4a:	c7 42 14 2d 00 00 00 	movl   $0x2d,0x14(%edx)
501a51:	8b 08                	mov    (%eax),%ecx
501a53:	ff 11                	call   *(%ecx)
501a55:	c3                   	ret
501a56:	90                   	nop
501a57:	90                   	nop
501a58:	53                   	push   %ebx
501a59:	8b d8                	mov    %eax,%ebx
501a5b:	8b c3                	mov    %ebx,%eax
501a5d:	56                   	push   %esi
501a5e:	b9 58 00 00 00       	mov    $0x58,%ecx
501a63:	ba 01 00 00 00       	mov    $0x1,%edx
501a68:	8b 70 04             	mov    0x4(%eax),%esi
501a6b:	ff 16                	call   *(%esi)
501a6d:	89 83 c4 01 00 00    	mov    %eax,0x1c4(%ebx)
501a73:	c7 00 68 19 50 00    	movl   $0x501968,(%eax)
501a79:	c7 40 08 44 1a 50 00 	movl   $0x501a44,0x8(%eax)
501a80:	c7 40 0c 48 1a 50 00 	movl   $0x501a48,0xc(%eax)
501a87:	33 d2                	xor    %edx,%edx
501a89:	33 c9                	xor    %ecx,%ecx
501a8b:	89 50 44             	mov    %edx,0x44(%eax)
501a8e:	89 48 34             	mov    %ecx,0x34(%eax)
501a91:	83 7b 74 04          	cmpl   $0x4,0x74(%ebx)
501a95:	7e 16                	jle    0x501aad
501a97:	8b 03                	mov    (%ebx),%eax
501a99:	c7 40 14 36 00 00 00 	movl   $0x36,0x14(%eax)
501aa0:	c7 40 18 04 00 00 00 	movl   $0x4,0x18(%eax)
501aa7:	8b c3                	mov    %ebx,%eax
501aa9:	8b 10                	mov    (%eax),%edx
501aab:	ff 12                	call   *(%edx)
501aad:	81 7b 5c 00 01 00 00 	cmpl   $0x100,0x5c(%ebx)
501ab4:	7e 16                	jle    0x501acc
501ab6:	8b 03                	mov    (%ebx),%eax
501ab8:	c7 40 14 38 00 00 00 	movl   $0x38,0x14(%eax)
501abf:	c7 40 18 00 01 00 00 	movl   $0x100,0x18(%eax)
501ac6:	8b c3                	mov    %ebx,%eax
501ac8:	8b 10                	mov    (%eax),%edx
501aca:	ff 12                	call   *(%edx)
501acc:	8b c3                	mov    %ebx,%eax
501ace:	e8 fd f4 ff ff       	call   0x500fd0
501ad3:	8b c3                	mov    %ebx,%eax
501ad5:	e8 aa f6 ff ff       	call   0x501184
501ada:	83 7b 54 02          	cmpl   $0x2,0x54(%ebx)
501ade:	75 07                	jne    0x501ae7
501ae0:	8b c3                	mov    %ebx,%eax
501ae2:	e8 41 fe ff ff       	call   0x501928
501ae7:	5e                   	pop    %esi
501ae8:	5b                   	pop    %ebx
501ae9:	c3                   	ret
501aea:	8b c0                	mov    %eax,%eax
501aec:	55                   	push   %ebp
501aed:	8b ec                	mov    %esp,%ebp
501aef:	83 c4 f4             	add    $0xfffffff4,%esp
501af2:	53                   	push   %ebx
501af3:	56                   	push   %esi
501af4:	8b 88 c4 01 00 00    	mov    0x1c4(%eax),%ecx
501afa:	8b 59 18             	mov    0x18(%ecx),%ebx
501afd:	8b 40 6c             	mov    0x6c(%eax),%eax
501b00:	89 45 f8             	mov    %eax,-0x8(%ebp)
501b03:	33 c9                	xor    %ecx,%ecx
501b05:	89 4d fc             	mov    %ecx,-0x4(%ebp)
501b08:	89 55 f4             	mov    %edx,-0xc(%ebp)
501b0b:	8b 45 fc             	mov    -0x4(%ebp),%eax
501b0e:	3b 45 08             	cmp    0x8(%ebp),%eax
501b11:	7d 52                	jge    0x501b65
501b13:	8b 55 f4             	mov    -0xc(%ebp),%edx
501b16:	8b 02                	mov    (%edx),%eax
501b18:	8b 4d f8             	mov    -0x8(%ebp),%ecx
501b1b:	85 c9                	test   %ecx,%ecx
501b1d:	76 37                	jbe    0x501b56
501b1f:	0f b6 70 01          	movzbl 0x1(%eax),%esi
501b23:	33 d2                	xor    %edx,%edx
501b25:	8a 10                	mov    (%eax),%dl
501b27:	c1 fa 03             	sar    $0x3,%edx
501b2a:	c1 fe 02             	sar    $0x2,%esi
501b2d:	c1 e6 06             	shl    $0x6,%esi
501b30:	8b 14 93             	mov    (%ebx,%edx,4),%edx
501b33:	03 d6                	add    %esi,%edx
501b35:	0f b6 70 02          	movzbl 0x2(%eax),%esi
501b39:	c1 fe 03             	sar    $0x3,%esi
501b3c:	03 f6                	add    %esi,%esi
501b3e:	03 d6                	add    %esi,%edx
501b40:	66 ff 02             	incw   (%edx)
501b43:	66 8b 32             	mov    (%edx),%si
501b46:	66 85 f6             	test   %si,%si
501b49:	77 03                	ja     0x501b4e
501b4b:	66 ff 0a             	decw   (%edx)
501b4e:	83 c0 03             	add    $0x3,%eax
501b51:	49                   	dec    %ecx
501b52:	85 c9                	test   %ecx,%ecx
501b54:	77 c9                	ja     0x501b1f
501b56:	ff 45 fc             	incl   -0x4(%ebp)
501b59:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
501b5d:	8b 45 fc             	mov    -0x4(%ebp),%eax
501b60:	3b 45 08             	cmp    0x8(%ebp),%eax
501b63:	7c ae                	jl     0x501b13
501b65:	5e                   	pop    %esi
501b66:	5b                   	pop    %ebx
501b67:	8b e5                	mov    %ebp,%esp
501b69:	5d                   	pop    %ebp
501b6a:	c2 04 00             	ret    $0x4
501b6d:	90                   	nop
501b6e:	90                   	nop
501b6f:	90                   	nop
501b70:	53                   	push   %ebx
501b71:	56                   	push   %esi
501b72:	57                   	push   %edi
501b73:	33 db                	xor    %ebx,%ebx
501b75:	33 ff                	xor    %edi,%edi
501b77:	33 c9                	xor    %ecx,%ecx
501b79:	3b d1                	cmp    %ecx,%edx
501b7b:	7e 19                	jle    0x501b96
501b7d:	8b 70 1c             	mov    0x1c(%eax),%esi
501b80:	3b de                	cmp    %esi,%ebx
501b82:	7d 0a                	jge    0x501b8e
501b84:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
501b88:	7e 04                	jle    0x501b8e
501b8a:	8b f8                	mov    %eax,%edi
501b8c:	8b de                	mov    %esi,%ebx
501b8e:	41                   	inc    %ecx
501b8f:	83 c0 20             	add    $0x20,%eax
501b92:	3b d1                	cmp    %ecx,%edx
501b94:	7f e7                	jg     0x501b7d
501b96:	8b c7                	mov    %edi,%eax
501b98:	5f                   	pop    %edi
501b99:	5e                   	pop    %esi
501b9a:	5b                   	pop    %ebx
501b9b:	c3                   	ret
501b9c:	53                   	push   %ebx
501b9d:	56                   	push   %esi
501b9e:	57                   	push   %edi
501b9f:	33 db                	xor    %ebx,%ebx
501ba1:	33 ff                	xor    %edi,%edi
501ba3:	33 c9                	xor    %ecx,%ecx
501ba5:	3b d1                	cmp    %ecx,%edx
501ba7:	7e 13                	jle    0x501bbc
501ba9:	8b 70 18             	mov    0x18(%eax),%esi
501bac:	3b de                	cmp    %esi,%ebx
501bae:	7d 04                	jge    0x501bb4
501bb0:	8b f8                	mov    %eax,%edi
501bb2:	8b de                	mov    %esi,%ebx
501bb4:	41                   	inc    %ecx
501bb5:	83 c0 20             	add    $0x20,%eax
501bb8:	3b d1                	cmp    %ecx,%edx
501bba:	7f ed                	jg     0x501ba9
501bbc:	8b c7                	mov    %edi,%eax
501bbe:	5f                   	pop    %edi
501bbf:	5e                   	pop    %esi
501bc0:	5b                   	pop    %ebx
501bc1:	c3                   	ret
501bc2:	90                   	nop
501bc3:	90                   	nop
501bc4:	53                   	push   %ebx
501bc5:	56                   	push   %esi
501bc6:	57                   	push   %edi
501bc7:	83 c4 b8             	add    $0xffffffb8,%esp
501bca:	89 14 24             	mov    %edx,(%esp)
501bcd:	8b 80 c4 01 00 00    	mov    0x1c4(%eax),%eax
501bd3:	8b 40 18             	mov    0x18(%eax),%eax
501bd6:	89 44 24 04          	mov    %eax,0x4(%esp)
501bda:	8b 14 24             	mov    (%esp),%edx
501bdd:	8b 0a                	mov    (%edx),%ecx
501bdf:	89 4c 24 08          	mov    %ecx,0x8(%esp)
501be3:	8b 04 24             	mov    (%esp),%eax
501be6:	8b 50 04             	mov    0x4(%eax),%edx
501be9:	89 54 24 0c          	mov    %edx,0xc(%esp)
501bed:	8b 0c 24             	mov    (%esp),%ecx
501bf0:	8b 41 08             	mov    0x8(%ecx),%eax
501bf3:	89 44 24 10          	mov    %eax,0x10(%esp)
501bf7:	8b 14 24             	mov    (%esp),%edx
501bfa:	8b 4a 0c             	mov    0xc(%edx),%ecx
501bfd:	89 4c 24 14          	mov    %ecx,0x14(%esp)
501c01:	8b 04 24             	mov    (%esp),%eax
501c04:	8b 50 10             	mov    0x10(%eax),%edx
501c07:	89 54 24 18          	mov    %edx,0x18(%esp)
501c0b:	8b 0c 24             	mov    (%esp),%ecx
501c0e:	8b 71 14             	mov    0x14(%ecx),%esi
501c11:	8b 44 24 0c          	mov    0xc(%esp),%eax
501c15:	3b 44 24 08          	cmp    0x8(%esp),%eax
501c19:	7e 74                	jle    0x501c8f
501c1b:	8b 54 24 08          	mov    0x8(%esp),%edx
501c1f:	8b 4c 24 04          	mov    0x4(%esp),%ecx
501c23:	8d 04 91             	lea    (%ecx,%edx,4),%eax
501c26:	89 44 24 24          	mov    %eax,0x24(%esp)
501c2a:	3b 54 24 0c          	cmp    0xc(%esp),%edx
501c2e:	7f 5f                	jg     0x501c8f
501c30:	8b 5c 24 10          	mov    0x10(%esp),%ebx
501c34:	8b 44 24 24          	mov    0x24(%esp),%eax
501c38:	8b c8                	mov    %eax,%ecx
501c3a:	89 4c 24 20          	mov    %ecx,0x20(%esp)
501c3e:	3b 5c 24 14          	cmp    0x14(%esp),%ebx
501c42:	7f 3f                	jg     0x501c83
501c44:	8b 44 24 20          	mov    0x20(%esp),%eax
501c48:	8b 08                	mov    (%eax),%ecx
501c4a:	8b c3                	mov    %ebx,%eax
501c4c:	c1 e0 06             	shl    $0x6,%eax
501c4f:	03 c8                	add    %eax,%ecx
501c51:	8b 44 24 18          	mov    0x18(%esp),%eax
501c55:	03 c0                	add    %eax,%eax
501c57:	03 c8                	add    %eax,%ecx
501c59:	8b 44 24 18          	mov    0x18(%esp),%eax
501c5d:	3b f0                	cmp    %eax,%esi
501c5f:	7c 1b                	jl     0x501c7c
501c61:	66 8b 39             	mov    (%ecx),%di
501c64:	83 c1 02             	add    $0x2,%ecx
501c67:	66 85 ff             	test   %di,%di
501c6a:	74 0b                	je     0x501c77
501c6c:	89 54 24 08          	mov    %edx,0x8(%esp)
501c70:	8b 04 24             	mov    (%esp),%eax
501c73:	89 10                	mov    %edx,(%eax)
501c75:	eb 18                	jmp    0x501c8f
501c77:	40                   	inc    %eax
501c78:	3b f0                	cmp    %eax,%esi
501c7a:	7d e5                	jge    0x501c61
501c7c:	43                   	inc    %ebx
501c7d:	3b 5c 24 14          	cmp    0x14(%esp),%ebx
501c81:	7e c1                	jle    0x501c44
501c83:	42                   	inc    %edx
501c84:	83 44 24 24 04       	addl   $0x4,0x24(%esp)
501c89:	3b 54 24 0c          	cmp    0xc(%esp),%edx
501c8d:	7e a1                	jle    0x501c30
501c8f:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
501c93:	3b 4c 24 08          	cmp    0x8(%esp),%ecx
501c97:	7e 75                	jle    0x501d0e
501c99:	8b 54 24 0c          	mov    0xc(%esp),%edx
501c9d:	8b 44 24 04          	mov    0x4(%esp),%eax
501ca1:	8d 0c 90             	lea    (%eax,%edx,4),%ecx
501ca4:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
501ca8:	3b 54 24 08          	cmp    0x8(%esp),%edx
501cac:	7c 60                	jl     0x501d0e
501cae:	8b 5c 24 10          	mov    0x10(%esp),%ebx
501cb2:	8b 44 24 2c          	mov    0x2c(%esp),%eax
501cb6:	8b c8                	mov    %eax,%ecx
501cb8:	89 4c 24 28          	mov    %ecx,0x28(%esp)
501cbc:	3b 5c 24 14          	cmp    0x14(%esp),%ebx
501cc0:	7f 40                	jg     0x501d02
501cc2:	8b 44 24 28          	mov    0x28(%esp),%eax
501cc6:	8b 08                	mov    (%eax),%ecx
501cc8:	8b c3                	mov    %ebx,%eax
501cca:	c1 e0 06             	shl    $0x6,%eax
501ccd:	03 c8                	add    %eax,%ecx
501ccf:	8b 44 24 18          	mov    0x18(%esp),%eax
501cd3:	03 c0                	add    %eax,%eax
501cd5:	03 c8                	add    %eax,%ecx
501cd7:	8b 44 24 18          	mov    0x18(%esp),%eax
501cdb:	3b f0                	cmp    %eax,%esi
501cdd:	7c 1c                	jl     0x501cfb
501cdf:	66 8b 39             	mov    (%ecx),%di
501ce2:	83 c1 02             	add    $0x2,%ecx
501ce5:	66 85 ff             	test   %di,%di
501ce8:	74 0c                	je     0x501cf6
501cea:	89 54 24 0c          	mov    %edx,0xc(%esp)
501cee:	8b 04 24             	mov    (%esp),%eax
501cf1:	89 50 04             	mov    %edx,0x4(%eax)
501cf4:	eb 18                	jmp    0x501d0e
501cf6:	40                   	inc    %eax
501cf7:	3b f0                	cmp    %eax,%esi
501cf9:	7d e4                	jge    0x501cdf
501cfb:	43                   	inc    %ebx
501cfc:	3b 5c 24 14          	cmp    0x14(%esp),%ebx
501d00:	7e c0                	jle    0x501cc2
501d02:	4a                   	dec    %edx
501d03:	83 44 24 2c fc       	addl   $0xfffffffc,0x2c(%esp)
501d08:	3b 54 24 08          	cmp    0x8(%esp),%edx
501d0c:	7d a0                	jge    0x501cae
501d0e:	8b 4c 24 14          	mov    0x14(%esp),%ecx
501d12:	3b 4c 24 10          	cmp    0x10(%esp),%ecx
501d16:	7e 6b                	jle    0x501d83
501d18:	8b 5c 24 10          	mov    0x10(%esp),%ebx
501d1c:	3b 5c 24 14          	cmp    0x14(%esp),%ebx
501d20:	7f 61                	jg     0x501d83
501d22:	8b 54 24 08          	mov    0x8(%esp),%edx
501d26:	8b 44 24 04          	mov    0x4(%esp),%eax
501d2a:	8d 0c 90             	lea    (%eax,%edx,4),%ecx
501d2d:	89 4c 24 30          	mov    %ecx,0x30(%esp)
501d31:	3b 54 24 0c          	cmp    0xc(%esp),%edx
501d35:	7f 45                	jg     0x501d7c
501d37:	8b 44 24 30          	mov    0x30(%esp),%eax
501d3b:	8b 08                	mov    (%eax),%ecx
501d3d:	8b c3                	mov    %ebx,%eax
501d3f:	c1 e0 06             	shl    $0x6,%eax
501d42:	03 c8                	add    %eax,%ecx
501d44:	8b 44 24 18          	mov    0x18(%esp),%eax
501d48:	03 c0                	add    %eax,%eax
501d4a:	03 c8                	add    %eax,%ecx
501d4c:	8b 44 24 18          	mov    0x18(%esp),%eax
501d50:	3b f0                	cmp    %eax,%esi
501d52:	7c 1c                	jl     0x501d70
501d54:	66 8b 39             	mov    (%ecx),%di
501d57:	83 c1 02             	add    $0x2,%ecx
501d5a:	66 85 ff             	test   %di,%di
501d5d:	74 0c                	je     0x501d6b
501d5f:	89 5c 24 10          	mov    %ebx,0x10(%esp)
501d63:	8b 04 24             	mov    (%esp),%eax
501d66:	89 58 08             	mov    %ebx,0x8(%eax)
501d69:	eb 18                	jmp    0x501d83
501d6b:	40                   	inc    %eax
501d6c:	3b f0                	cmp    %eax,%esi
501d6e:	7d e4                	jge    0x501d54
501d70:	42                   	inc    %edx
501d71:	83 44 24 30 04       	addl   $0x4,0x30(%esp)
501d76:	3b 54 24 0c          	cmp    0xc(%esp),%edx
501d7a:	7e bb                	jle    0x501d37
501d7c:	43                   	inc    %ebx
501d7d:	3b 5c 24 14          	cmp    0x14(%esp),%ebx
501d81:	7e 9f                	jle    0x501d22
501d83:	8b 54 24 14          	mov    0x14(%esp),%edx
501d87:	3b 54 24 10          	cmp    0x10(%esp),%edx
501d8b:	7e 6b                	jle    0x501df8
501d8d:	8b 5c 24 14          	mov    0x14(%esp),%ebx
501d91:	3b 5c 24 10          	cmp    0x10(%esp),%ebx
501d95:	7c 61                	jl     0x501df8
501d97:	8b 54 24 08          	mov    0x8(%esp),%edx
501d9b:	8b 44 24 04          	mov    0x4(%esp),%eax
501d9f:	8d 0c 90             	lea    (%eax,%edx,4),%ecx
501da2:	89 4c 24 34          	mov    %ecx,0x34(%esp)
501da6:	3b 54 24 0c          	cmp    0xc(%esp),%edx
501daa:	7f 45                	jg     0x501df1