501994:	0f 84 a7 00 00 00    	je     0x501a41
50199a:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
50199f:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5019a3:	74 cc                	je     0x501971
5019a5:	39 08                	cmp    %ecx,(%eax)
5019a7:	0f 85 94 00 00 00    	jne    0x501a41
5019ad:	55                   	push   %ebp
5019ae:	57                   	push   %edi
5019af:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
5019b6:	00
5019b7:	e8 94 b3 00 00       	call   0x50cd50
5019bc:	68 ce 01 00 00       	push   $0x1ce
5019c1:	68 5c 9e 62 00       	push   $0x629e5c
5019c6:	50                   	push   %eax
5019c7:	89 44 24 28          	mov    %eax,0x28(%esp)
5019cb:	e8 80 ed fd ff       	call   0x4e0750
5019d0:	8b e8                	mov    %eax,%ebp
5019d2:	83 c4 10             	add    $0x10,%esp
5019d5:	85 ed                	test   %ebp,%ebp
5019d7:	74 46                	je     0x501a1f
5019d9:	57                   	push   %edi
5019da:	53                   	push   %ebx
5019db:	55                   	push   %ebp
5019dc:	e8 bf 67 01 00       	call   0x5181a0
5019e1:	8b 7c 24 24          	mov    0x24(%esp),%edi
5019e5:	83 c4 0c             	add    $0xc,%esp
5019e8:	85 c0                	test   %eax,%eax
5019ea:	7e 37                	jle    0x501a23
5019ec:	ff 76 30             	push   0x30(%esi)
5019ef:	8b 5c 24 24          	mov    0x24(%esp),%ebx
5019f3:	ff 76 38             	push   0x38(%esi)
5019f6:	ff 76 34             	push   0x34(%esi)
5019f9:	ff 76 2c             	push   0x2c(%esi)
5019fc:	57                   	push   %edi
5019fd:	55                   	push   %ebp
5019fe:	ff 33                	push   (%ebx)
501a00:	ff 74 24 38          	push   0x38(%esp)
501a04:	e8 87 9b 01 00       	call   0x51b590
501a09:	83 c4 20             	add    $0x20,%esp
501a0c:	85 c0                	test   %eax,%eax
501a0e:	74 13                	je     0x501a23
501a10:	8b 46 3c             	mov    0x3c(%esi),%eax
501a13:	89 03                	mov    %eax,(%ebx)
501a15:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
501a1c:	00
501a1d:	eb 04                	jmp    0x501a23
501a1f:	8b 7c 24 18          	mov    0x18(%esp),%edi
501a23:	68 da 01 00 00       	push   $0x1da
501a28:	68 5c 9e 62 00       	push   $0x629e5c
501a2d:	57                   	push   %edi
501a2e:	55                   	push   %ebp
501a2f:	e8 0c ee fd ff       	call   0x4e0840
501a34:	8b 44 24 20          	mov    0x20(%esp),%eax
501a38:	83 c4 10             	add    $0x10,%esp
501a3b:	5d                   	pop    %ebp
501a3c:	5b                   	pop    %ebx
501a3d:	5f                   	pop    %edi
501a3e:	5e                   	pop    %esi
501a3f:	59                   	pop    %ecx
501a40:	c3                   	ret
501a41:	5b                   	pop    %ebx
501a42:	5f                   	pop    %edi
501a43:	33 c0                	xor    %eax,%eax
501a45:	5e                   	pop    %esi
501a46:	59                   	pop    %ecx
501a47:	c3                   	ret
501a48:	68 ac 01 00 00       	push   $0x1ac
501a4d:	68 5c 9e 62 00       	push   $0x629e5c
501a52:	6a 6c                	push   $0x6c
501a54:	6a 70                	push   $0x70
501a56:	6a 05                	push   $0x5
501a58:	e8 23 75 fd ff       	call   0x4d8f80
501a5d:	83 c4 14             	add    $0x14,%esp
501a60:	33 c0                	xor    %eax,%eax
501a62:	5f                   	pop    %edi
501a63:	5e                   	pop    %esi
501a64:	59                   	pop    %ecx
501a65:	c3                   	ret
501a66:	cc                   	int3
501a67:	cc                   	int3
501a68:	cc                   	int3
501a69:	cc                   	int3
501a6a:	cc                   	int3
501a6b:	cc                   	int3
501a6c:	cc                   	int3
501a6d:	cc                   	int3
501a6e:	cc                   	int3
501a6f:	cc                   	int3
501a70:	6a 22                	push   $0x22
501a72:	68 7c 9f 62 00       	push   $0x629f7c
501a77:	6a 18                	push   $0x18
501a79:	e8 d2 ec fd ff       	call   0x4e0750
501a7e:	83 c4 0c             	add    $0xc,%esp
501a81:	85 c0                	test   %eax,%eax
501a83:	75 01                	jne    0x501a86
501a85:	c3                   	ret
501a86:	8b 4c 24 04          	mov    0x4(%esp),%ecx
501a8a:	c7 00 00 08 00 00    	movl   $0x800,(%eax)
501a90:	c7 40 04 e0 00 00 00 	movl   $0xe0,0x4(%eax)
501a97:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
501a9e:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%eax)
501aa5:	89 41 14             	mov    %eax,0x14(%ecx)
501aa8:	83 c0 0c             	add    $0xc,%eax
501aab:	89 41 20             	mov    %eax,0x20(%ecx)
501aae:	b8 01 00 00 00       	mov    $0x1,%eax
501ab3:	c7 41 24 02 00 00 00 	movl   $0x2,0x24(%ecx)
501aba:	c3                   	ret
501abb:	cc                   	int3
501abc:	cc                   	int3
501abd:	cc                   	int3
501abe:	cc                   	int3
501abf:	cc                   	int3
501ac0:	6a 22                	push   $0x22
501ac2:	68 7c 9f 62 00       	push   $0x629f7c
501ac7:	6a 18                	push   $0x18
501ac9:	e8 82 ec fd ff       	call   0x4e0750
501ace:	8b d0                	mov    %eax,%edx
501ad0:	83 c4 0c             	add    $0xc,%esp
501ad3:	85 d2                	test   %edx,%edx
501ad5:	74 52                	je     0x501b29
501ad7:	8b 4c 24 04          	mov    0x4(%esp),%ecx
501adb:	8d 42 0c             	lea    0xc(%edx),%eax
501ade:	c7 02 00 08 00 00    	movl   $0x800,(%edx)
501ae4:	c7 42 04 e0 00 00 00 	movl   $0xe0,0x4(%edx)
501aeb:	c7 42 08 00 00 00 00 	movl   $0x0,0x8(%edx)
501af2:	c7 42 14 00 00 00 00 	movl   $0x0,0x14(%edx)
501af9:	89 41 20             	mov    %eax,0x20(%ecx)
501afc:	8b 44 24 08          	mov    0x8(%esp),%eax
501b00:	89 51 14             	mov    %edx,0x14(%ecx)
501b03:	c7 41 24 02 00 00 00 	movl   $0x2,0x24(%ecx)
501b0a:	8b 48 14             	mov    0x14(%eax),%ecx
501b0d:	8b 01                	mov    (%ecx),%eax
501b0f:	89 02                	mov    %eax,(%edx)
501b11:	8b 41 04             	mov    0x4(%ecx),%eax
501b14:	89 42 04             	mov    %eax,0x4(%edx)
501b17:	8b 41 08             	mov    0x8(%ecx),%eax
501b1a:	89 42 08             	mov    %eax,0x8(%edx)
501b1d:	8b 41 14             	mov    0x14(%ecx),%eax
501b20:	89 42 14             	mov    %eax,0x14(%edx)
501b23:	b8 01 00 00 00       	mov    $0x1,%eax
501b28:	c3                   	ret
501b29:	33 c0                	xor    %eax,%eax
501b2b:	c3                   	ret
501b2c:	cc                   	int3
501b2d:	cc                   	int3
501b2e:	cc                   	int3
501b2f:	cc                   	int3
501b30:	8b 44 24 04          	mov    0x4(%esp),%eax
501b34:	6a 44                	push   $0x44
501b36:	68 7c 9f 62 00       	push   $0x629f7c
501b3b:	ff 70 14             	push   0x14(%eax)
501b3e:	e8 3d ec fd ff       	call   0x4e0780
501b43:	83 c4 0c             	add    $0xc,%esp
501b46:	c3                   	ret
501b47:	cc                   	int3
501b48:	cc                   	int3
501b49:	cc                   	int3
501b4a:	cc                   	int3
501b4b:	cc                   	int3
501b4c:	cc                   	int3
501b4d:	cc                   	int3
501b4e:	cc                   	int3
501b4f:	cc                   	int3
501b50:	8b 4c 24 04          	mov    0x4(%esp),%ecx
501b54:	57                   	push   %edi
501b55:	8b 41 08             	mov    0x8(%ecx),%eax
501b58:	8b 78 18             	mov    0x18(%eax),%edi
501b5b:	8b 41 14             	mov    0x14(%ecx),%eax
501b5e:	8b 40 14             	mov    0x14(%eax),%eax
501b61:	85 c0                	test   %eax,%eax
501b63:	74 13                	je     0x501b78
501b65:	50                   	push   %eax
501b66:	e8 55 ed fe ff       	call   0x4f08c0
501b6b:	83 c4 04             	add    $0x4,%esp
501b6e:	39 44 24 18          	cmp    %eax,0x18(%esp)
501b72:	74 04                	je     0x501b78
501b74:	33 c0                	xor    %eax,%eax
501b76:	5f                   	pop    %edi
501b77:	c3                   	ret
501b78:	57                   	push   %edi
501b79:	8d 44 24 0c          	lea    0xc(%esp),%eax
501b7d:	50                   	push   %eax
501b7e:	ff 74 24 14          	push   0x14(%esp)
501b82:	ff 74 24 24          	push   0x24(%esp)
501b86:	ff 74 24 24          	push   0x24(%esp)
501b8a:	6a 00                	push   $0x0
501b8c:	e8 df b2 01 00       	call   0x51ce70
501b91:	83 c4 18             	add    $0x18,%esp
501b94:	85 c0                	test   %eax,%eax
501b96:	7e 0f                	jle    0x501ba7
501b98:	8b 4c 24 10          	mov    0x10(%esp),%ecx
501b9c:	8b 44 24 08          	mov    0x8(%esp),%eax
501ba0:	89 01                	mov    %eax,(%ecx)
501ba2:	b8 01 00 00 00       	mov    $0x1,%eax
501ba7:	5f                   	pop    %edi
501ba8:	c3                   	ret
501ba9:	cc                   	int3
501baa:	cc                   	int3
501bab:	cc                   	int3
501bac:	cc                   	int3
501bad:	cc                   	int3
501bae:	cc                   	int3
501baf:	cc                   	int3
501bb0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
501bb4:	57                   	push   %edi
501bb5:	8b 41 08             	mov    0x8(%ecx),%eax
501bb8:	8b 78 18             	mov    0x18(%eax),%edi
501bbb:	8b 41 14             	mov    0x14(%ecx),%eax
501bbe:	8b 40 14             	mov    0x14(%eax),%eax
501bc1:	85 c0                	test   %eax,%eax
501bc3:	74 13                	je     0x501bd8
501bc5:	50                   	push   %eax
501bc6:	e8 f5 ec fe ff       	call   0x4f08c0
501bcb:	83 c4 04             	add    $0x4,%esp
501bce:	39 44 24 18          	cmp    %eax,0x18(%esp)
501bd2:	74 04                	je     0x501bd8
501bd4:	33 c0                	xor    %eax,%eax
501bd6:	5f                   	pop    %edi
501bd7:	c3                   	ret
501bd8:	57                   	push   %edi
501bd9:	ff 74 24 14          	push   0x14(%esp)
501bdd:	ff 74 24 14          	push   0x14(%esp)
501be1:	ff 74 24 24          	push   0x24(%esp)
501be5:	ff 74 24 24          	push   0x24(%esp)
501be9:	6a 00                	push   $0x0
501beb:	e8 f0 b2 01 00       	call   0x51cee0
501bf0:	83 c4 18             	add    $0x18,%esp
501bf3:	5f                   	pop    %edi
501bf4:	c3                   	ret
501bf5:	cc                   	int3
501bf6:	cc                   	int3
501bf7:	cc                   	int3
501bf8:	cc                   	int3
501bf9:	cc                   	int3
501bfa:	cc                   	int3
501bfb:	cc                   	int3
501bfc:	cc                   	int3
501bfd:	cc                   	int3
501bfe:	cc                   	int3
501bff:	cc                   	int3
501c00:	8b 44 24 04          	mov    0x4(%esp),%eax
501c04:	56                   	push   %esi
501c05:	57                   	push   %edi
501c06:	8b 78 14             	mov    0x14(%eax),%edi
501c09:	8b 44 24 10          	mov    0x10(%esp),%eax
501c0d:	3d 01 10 00 00       	cmp    $0x1001,%eax
501c12:	0f 8f 36 01 00 00    	jg     0x501d4e
501c18:	0f 84 1b 01 00 00    	je     0x501d39
501c1e:	48                   	dec    %eax
501c1f:	83 f8 0c             	cmp    $0xc,%eax
501c22:	0f 87 09 01 00 00    	ja     0x501d31
501c28:	0f b6 80 f4 1d 50 00 	movzbl 0x501df4(%eax),%eax
501c2f:	ff 24 85 e0 1d 50 00 	jmp    *0x501de0(,%eax,4)
501c36:	8b 74 24 18          	mov    0x18(%esp),%esi
501c3a:	56                   	push   %esi
501c3b:	e8 80 e4 fe ff       	call   0x4f00c0
501c40:	83 c4 04             	add    $0x4,%esp
501c43:	83 f8 40             	cmp    $0x40,%eax
501c46:	0f 84 ae 00 00 00    	je     0x501cfa
501c4c:	56                   	push   %esi
501c4d:	e8 6e e4 fe ff       	call   0x4f00c0
501c52:	83 c4 04             	add    $0x4,%esp
501c55:	83 f8 74             	cmp    $0x74,%eax
501c58:	0f 84 9c 00 00 00    	je     0x501cfa
501c5e:	56                   	push   %esi
501c5f:	e8 5c e4 fe ff       	call   0x4f00c0
501c64:	83 c4 04             	add    $0x4,%esp
501c67:	83 f8 42             	cmp    $0x42,%eax
501c6a:	0f 84 8a 00 00 00    	je     0x501cfa
501c70:	56                   	push   %esi
501c71:	e8 4a e4 fe ff       	call   0x4f00c0
501c76:	83 c4 04             	add    $0x4,%esp
501c79:	3d a3 02 00 00       	cmp    $0x2a3,%eax
501c7e:	74 7a                	je     0x501cfa
501c80:	56                   	push   %esi
501c81:	e8 3a e4 fe ff       	call   0x4f00c0
501c86:	83 c4 04             	add    $0x4,%esp
501c89:	3d a0 02 00 00       	cmp    $0x2a0,%eax
501c8e:	74 6a                	je     0x501cfa
501c90:	56                   	push   %esi
501c91:	e8 2a e4 fe ff       	call   0x4f00c0
501c96:	83 c4 04             	add    $0x4,%esp
501c99:	3d a1 02 00 00       	cmp    $0x2a1,%eax
501c9e:	74 5a                	je     0x501cfa
501ca0:	56                   	push   %esi
501ca1:	e8 1a e4 fe ff       	call   0x4f00c0
501ca6:	83 c4 04             	add    $0x4,%esp
501ca9:	3d a2 02 00 00       	cmp    $0x2a2,%eax
501cae:	74 4a                	je     0x501cfa
501cb0:	56                   	push   %esi
501cb1:	e8 0a e4 fe ff       	call   0x4f00c0
501cb6:	83 c4 04             	add    $0x4,%esp
501cb9:	3d 48 04 00 00       	cmp    $0x448,%eax
501cbe:	74 3a                	je     0x501cfa
501cc0:	56                   	push   %esi
501cc1:	e8 fa e3 fe ff       	call   0x4f00c0
501cc6:	83 c4 04             	add    $0x4,%esp
501cc9:	3d 49 04 00 00       	cmp    $0x449,%eax
501cce:	74 2a                	je     0x501cfa
501cd0:	56                   	push   %esi
501cd1:	e8 ea e3 fe ff       	call   0x4f00c0
501cd6:	83 c4 04             	add    $0x4,%esp
501cd9:	3d 4a 04 00 00       	cmp    $0x44a,%eax
501cde:	74 1a                	je     0x501cfa
501ce0:	56                   	push   %esi
501ce1:	e8 da e3 fe ff       	call   0x4f00c0
501ce6:	83 c4 04             	add    $0x4,%esp
501ce9:	3d 4b 04 00 00       	cmp    $0x44b,%eax
501cee:	74 0a                	je     0x501cfa
501cf0:	68 92 00 00 00       	push   $0x92
501cf5:	e9 97 00 00 00       	jmp    0x501d91
501cfa:	89 77 14             	mov    %esi,0x14(%edi)
501cfd:	b8 01 00 00 00       	mov    $0x1,%eax
501d02:	5f                   	pop    %edi
501d03:	5e                   	pop    %esi
501d04:	c3                   	ret
501d05:	8b 44 24 18          	mov    0x18(%esp),%eax
501d09:	8b 4f 14             	mov    0x14(%edi),%ecx
501d0c:	5f                   	pop    %edi
501d0d:	5e                   	pop    %esi
501d0e:	89 08                	mov    %ecx,(%eax)
501d10:	b8 01 00 00 00       	mov    $0x1,%eax
501d15:	c3                   	ret
501d16:	68 a3 00 00 00       	push   $0xa3
501d1b:	68 7c 9f 62 00       	push   $0x629f7c
501d20:	68 96 00 00 00       	push   $0x96
501d25:	6a 78                	push   $0x78
501d27:	6a 0a                	push   $0xa
501d29:	e8 52 72 fd ff       	call   0x4d8f80
501d2e:	83 c4 14             	add    $0x14,%esp
501d31:	5f                   	pop    %edi
501d32:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
501d37:	5e                   	pop    %esi
501d38:	c3                   	ret
501d39:	8b 44 24 14          	mov    0x14(%esp),%eax
501d3d:	3d 00 01 00 00       	cmp    $0x100,%eax
501d42:	7c ed                	jl     0x501d31
501d44:	89 07                	mov    %eax,(%edi)
501d46:	b8 01 00 00 00       	mov    $0x1,%eax
501d4b:	5f                   	pop    %edi
501d4c:	5e                   	pop    %esi
501d4d:	c3                   	ret
501d4e:	2d 02 10 00 00       	sub    $0x1002,%eax
501d53:	74 5f                	je     0x501db4
501d55:	83 e8 01             	sub    $0x1,%eax
501d58:	75 d7                	jne    0x501d31
501d5a:	8b 74 24 18          	mov    0x18(%esp),%esi
501d5e:	56                   	push   %esi
501d5f:	e8 5c e3 fe ff       	call   0x4f00c0
501d64:	83 c4 04             	add    $0x4,%esp