4feccc:	e8 ff 8e fe ff       	call   0x4e7bd0
4fecd1:	83 c4 0c             	add    $0xc,%esp
4fecd4:	89 44 24 64          	mov    %eax,0x64(%esp)
4fecd8:	85 c0                	test   %eax,%eax
4fecda:	0f 84 7b 02 00 00    	je     0x4fef5b
4fece0:	8d 44 24 30          	lea    0x30(%esp),%eax
4fece4:	50                   	push   %eax
4fece5:	e8 56 b9 01 00       	call   0x51a640
4fecea:	83 c4 04             	add    $0x4,%esp
4feced:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
4fecf1:	74 24                	je     0x4fed17
4fecf3:	56                   	push   %esi
4fecf4:	ff 74 24 14          	push   0x14(%esp)
4fecf8:	e8 e3 ad fd ff       	call   0x4d9ae0
4fecfd:	83 c4 08             	add    $0x8,%esp
4fed00:	85 c0                	test   %eax,%eax
4fed02:	0f 84 53 02 00 00    	je     0x4fef5b
4fed08:	8b 44 24 10          	mov    0x10(%esp),%eax
4fed0c:	55                   	push   %ebp
4fed0d:	50                   	push   %eax
4fed0e:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
4fed15:	eb 02                	jmp    0x4fed19
4fed17:	55                   	push   %ebp
4fed18:	56                   	push   %esi
4fed19:	8d 44 24 38          	lea    0x38(%esp),%eax
4fed1d:	50                   	push   %eax
4fed1e:	e8 4d b9 01 00       	call   0x51a670
4fed23:	83 c4 0c             	add    $0xc,%esp
4fed26:	85 c0                	test   %eax,%eax
4fed28:	0f 8e 2d 02 00 00    	jle    0x4fef5b
4fed2e:	55                   	push   %ebp
4fed2f:	56                   	push   %esi
4fed30:	ff 74 24 28          	push   0x28(%esp)
4fed34:	8b 74 24 70          	mov    0x70(%esp),%esi
4fed38:	56                   	push   %esi
4fed39:	e8 82 ea ff ff       	call   0x4fd7c0
4fed3e:	83 c4 10             	add    $0x10,%esp
4fed41:	85 c0                	test   %eax,%eax
4fed43:	0f 84 12 02 00 00    	je     0x4fef5b
4fed49:	56                   	push   %esi
4fed4a:	e8 11 b0 fd ff       	call   0x4d9d60
4fed4f:	83 c4 04             	add    $0x4,%esp
4fed52:	85 c0                	test   %eax,%eax
4fed54:	74 10                	je     0x4fed66
4fed56:	6a 00                	push   $0x0
4fed58:	53                   	push   %ebx
4fed59:	e8 82 b3 fd ff       	call   0x4da0e0
4fed5e:	83 c4 08             	add    $0x8,%esp
4fed61:	e9 ed 01 00 00       	jmp    0x4fef53
4fed66:	81 ff 9f 02 00 00    	cmp    $0x29f,%edi
4fed6c:	7e 0b                	jle    0x4fed79
4fed6e:	be 06 00 00 00       	mov    $0x6,%esi
4fed73:	89 74 24 14          	mov    %esi,0x14(%esp)
4fed77:	eb 3a                	jmp    0x4fedb3
4fed79:	81 ff ef 00 00 00    	cmp    $0xef,%edi
4fed7f:	7e 0b                	jle    0x4fed8c
4fed81:	be 05 00 00 00       	mov    $0x5,%esi
4fed86:	89 74 24 14          	mov    %esi,0x14(%esp)
4fed8a:	eb 27                	jmp    0x4fedb3
4fed8c:	83 ff 4f             	cmp    $0x4f,%edi
4fed8f:	7e 0b                	jle    0x4fed9c
4fed91:	be 04 00 00 00       	mov    $0x4,%esi
4fed96:	89 74 24 14          	mov    %esi,0x14(%esp)
4fed9a:	eb 17                	jmp    0x4fedb3
4fed9c:	33 c0                	xor    %eax,%eax
4fed9e:	83 ff 17             	cmp    $0x17,%edi
4feda1:	0f 9f c0             	setg   %al
4feda4:	8d 04 45 01 00 00 00 	lea    0x1(,%eax,2),%eax
4fedab:	89 44 24 14          	mov    %eax,0x14(%esp)
4fedaf:	7e 72                	jle    0x4fee23
4fedb1:	8b f0                	mov    %eax,%esi
4fedb3:	55                   	push   %ebp
4fedb4:	8d 44 24 34          	lea    0x34(%esp),%eax
4fedb8:	50                   	push   %eax
4fedb9:	8b 44 24 6c          	mov    0x6c(%esp),%eax
4fedbd:	50                   	push   %eax
4fedbe:	50                   	push   %eax
4fedbf:	ff 74 24 20          	push   0x20(%esp)
4fedc3:	e8 98 bb 01 00       	call   0x51a960
4fedc8:	83 c4 14             	add    $0x14,%esp
4fedcb:	85 c0                	test   %eax,%eax
4fedcd:	0f 84 88 01 00 00    	je     0x4fef5b
4fedd3:	8d 4e ff             	lea    -0x1(%esi),%ecx
4fedd6:	bf 01 00 00 00       	mov    $0x1,%edi
4feddb:	d3 e7                	shl    %cl,%edi
4feddd:	be 01 00 00 00       	mov    $0x1,%esi
4fede2:	3b fe                	cmp    %esi,%edi
4fede4:	7e 39                	jle    0x4fee1f
4fede6:	55                   	push   %ebp
4fede7:	e8 e4 8d fe ff       	call   0x4e7bd0
4fedec:	83 c4 04             	add    $0x4,%esp
4fedef:	89 44 b4 64          	mov    %eax,0x64(%esp,%esi,4)
4fedf3:	85 c0                	test   %eax,%eax
4fedf5:	0f 84 60 01 00 00    	je     0x4fef5b
4fedfb:	55                   	push   %ebp
4fedfc:	8d 4c 24 34          	lea    0x34(%esp),%ecx
4fee00:	51                   	push   %ecx
4fee01:	ff 74 24 18          	push   0x18(%esp)
4fee05:	ff 74 b4 6c          	push   0x6c(%esp,%esi,4)
4fee09:	50                   	push   %eax
4fee0a:	e8 51 bb 01 00       	call   0x51a960
4fee0f:	83 c4 14             	add    $0x14,%esp
4fee12:	85 c0                	test   %eax,%eax
4fee14:	0f 84 41 01 00 00    	je     0x4fef5b
4fee1a:	46                   	inc    %esi
4fee1b:	3b f7                	cmp    %edi,%esi
4fee1d:	7c c7                	jl     0x4fede6
4fee1f:	8b 7c 24 18          	mov    0x18(%esp),%edi
4fee23:	6a 01                	push   $0x1
4fee25:	8d 77 ff             	lea    -0x1(%edi),%esi
4fee28:	c7 44 24 24 01 00 00 	movl   $0x1,0x24(%esp)
4fee2f:	00
4fee30:	53                   	push   %ebx
4fee31:	89 74 24 20          	mov    %esi,0x20(%esp)
4fee35:	e8 a6 b2 fd ff       	call   0x4da0e0
4fee3a:	83 c4 08             	add    $0x8,%esp
4fee3d:	85 c0                	test   %eax,%eax
4fee3f:	0f 84 16 01 00 00    	je     0x4fef5b
4fee45:	bf 01 00 00 00       	mov    $0x1,%edi
4fee4a:	eb 08                	jmp    0x4fee54
4fee4c:	0f 1f 40 00          	nopl   0x0(%eax)
4fee50:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4fee54:	56                   	push   %esi
4fee55:	ff 74 24 28          	push   0x28(%esp)
4fee59:	e8 52 ae fd ff       	call   0x4d9cb0
4fee5e:	83 c4 08             	add    $0x8,%esp
4fee61:	85 c0                	test   %eax,%eax
4fee63:	75 2c                	jne    0x4fee91
4fee65:	85 ff                	test   %edi,%edi
4fee67:	75 19                	jne    0x4fee82
4fee69:	55                   	push   %ebp
4fee6a:	8d 44 24 34          	lea    0x34(%esp),%eax
4fee6e:	50                   	push   %eax
4fee6f:	53                   	push   %ebx
4fee70:	53                   	push   %ebx
4fee71:	53                   	push   %ebx
4fee72:	e8 e9 ba 01 00       	call   0x51a960
4fee77:	83 c4 14             	add    $0x14,%esp
4fee7a:	85 c0                	test   %eax,%eax
4fee7c:	0f 84 d9 00 00 00    	je     0x4fef5b
4fee82:	85 f6                	test   %esi,%esi
4fee84:	0f 84 c9 00 00 00    	je     0x4fef53
4fee8a:	4e                   	dec    %esi
4fee8b:	89 74 24 18          	mov    %esi,0x18(%esp)
4fee8f:	eb c3                	jmp    0x4fee54
4fee91:	bd 01 00 00 00       	mov    $0x1,%ebp
4fee96:	33 c0                	xor    %eax,%eax
4fee98:	8b fd                	mov    %ebp,%edi
4fee9a:	89 44 24 10          	mov    %eax,0x10(%esp)
4fee9e:	39 7c 24 14          	cmp    %edi,0x14(%esp)
4feea2:	76 41                	jbe    0x4feee5
4feea4:	8b 5c 24 24          	mov    0x24(%esp),%ebx
4feea8:	4e                   	dec    %esi
4feea9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4feeb0:	85 f6                	test   %esi,%esi
4feeb2:	78 2d                	js     0x4feee1
4feeb4:	56                   	push   %esi
4feeb5:	53                   	push   %ebx
4feeb6:	e8 f5 ad fd ff       	call   0x4d9cb0
4feebb:	83 c4 08             	add    $0x8,%esp
4feebe:	85 c0                	test   %eax,%eax
4feec0:	74 13                	je     0x4feed5
4feec2:	8b cf                	mov    %edi,%ecx
4feec4:	8b c7                	mov    %edi,%eax
4feec6:	2b 4c 24 10          	sub    0x10(%esp),%ecx
4feeca:	d3 e5                	shl    %cl,%ebp
4feecc:	83 cd 01             	or     $0x1,%ebp
4feecf:	89 44 24 10          	mov    %eax,0x10(%esp)
4feed3:	eb 04                	jmp    0x4feed9
4feed5:	8b 44 24 10          	mov    0x10(%esp),%eax
4feed9:	47                   	inc    %edi
4feeda:	4e                   	dec    %esi
4feedb:	3b 7c 24 14          	cmp    0x14(%esp),%edi
4feedf:	7c cf                	jl     0x4feeb0
4feee1:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
4feee5:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
4feeea:	8d 78 01             	lea    0x1(%eax),%edi
4feeed:	75 23                	jne    0x4fef12
4feeef:	33 f6                	xor    %esi,%esi
4feef1:	85 ff                	test   %edi,%edi
4feef3:	7e 1d                	jle    0x4fef12
4feef5:	ff 74 24 1c          	push   0x1c(%esp)
4feef9:	8d 44 24 34          	lea    0x34(%esp),%eax
4feefd:	50                   	push   %eax
4feefe:	53                   	push   %ebx
4feeff:	53                   	push   %ebx
4fef00:	53                   	push   %ebx
4fef01:	e8 5a ba 01 00       	call   0x51a960
4fef06:	83 c4 14             	add    $0x14,%esp
4fef09:	85 c0                	test   %eax,%eax
4fef0b:	74 4e                	je     0x4fef5b
4fef0d:	46                   	inc    %esi
4fef0e:	3b f7                	cmp    %edi,%esi
4fef10:	7c e3                	jl     0x4feef5
4fef12:	ff 74 24 1c          	push   0x1c(%esp)
4fef16:	8d 44 24 34          	lea    0x34(%esp),%eax
4fef1a:	d1 fd                	sar    $1,%ebp
4fef1c:	50                   	push   %eax
4fef1d:	ff 74 ac 6c          	push   0x6c(%esp,%ebp,4)
4fef21:	53                   	push   %ebx
4fef22:	53                   	push   %ebx
4fef23:	e8 38 ba 01 00       	call   0x51a960
4fef28:	83 c4 14             	add    $0x14,%esp
4fef2b:	85 c0                	test   %eax,%eax
4fef2d:	74 2c                	je     0x4fef5b
4fef2f:	8b 74 24 18          	mov    0x18(%esp),%esi
4fef33:	83 c8 ff             	or     $0xffffffff,%eax
4fef36:	2b 44 24 10          	sub    0x10(%esp),%eax
4fef3a:	bf 00 00 00 00       	mov    $0x0,%edi
4fef3f:	03 f0                	add    %eax,%esi
4fef41:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
4fef48:	00
4fef49:	89 74 24 18          	mov    %esi,0x18(%esp)
4fef4d:	0f 89 fd fe ff ff    	jns    0x4fee50
4fef53:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%esp)
4fef5a:	00
4fef5b:	ff 74 24 1c          	push   0x1c(%esp)
4fef5f:	e8 6c 8b fe ff       	call   0x4e7ad0
4fef64:	8d 44 24 34          	lea    0x34(%esp),%eax
4fef68:	50                   	push   %eax
4fef69:	e8 92 b6 01 00       	call   0x51a600
4fef6e:	8b 44 24 30          	mov    0x30(%esp),%eax
4fef72:	83 c4 08             	add    $0x8,%esp
4fef75:	eb 1a                	jmp    0x4fef91
4fef77:	68 af 00 00 00       	push   $0xaf
4fef7c:	68 14 9c 62 00       	push   $0x629c14
4fef81:	6a 42                	push   $0x42
4fef83:	6a 7d                	push   $0x7d
4fef85:	6a 03                	push   $0x3
4fef87:	e8 f4 9f fd ff       	call   0x4d8f80
4fef8c:	83 c4 14             	add    $0x14,%esp
4fef8f:	33 c0                	xor    %eax,%eax
4fef91:	8b 8c 24 e4 00 00 00 	mov    0xe4(%esp),%ecx
4fef98:	5f                   	pop    %edi
4fef99:	5e                   	pop    %esi
4fef9a:	5d                   	pop    %ebp
4fef9b:	5b                   	pop    %ebx
4fef9c:	33 cc                	xor    %esp,%ecx
4fef9e:	e8 83 2a 0d 00       	call   0x5d1a26
4fefa3:	81 c4 d8 00 00 00    	add    $0xd8,%esp
4fefa9:	c3                   	ret
4fefaa:	cc                   	int3
4fefab:	cc                   	int3
4fefac:	cc                   	int3
4fefad:	cc                   	int3
4fefae:	cc                   	int3
4fefaf:	cc                   	int3
4fefb0:	b8 24 00 00 00       	mov    $0x24,%eax
4fefb5:	e8 f6 27 0d 00       	call   0x5d17b0
4fefba:	53                   	push   %ebx
4fefbb:	56                   	push   %esi
4fefbc:	8b 74 24 40          	mov    0x40(%esp),%esi
4fefc0:	bb 01 00 00 00       	mov    $0x1,%ebx
4fefc5:	57                   	push   %edi
4fefc6:	ff 74 24 38          	push   0x38(%esp)
4fefca:	8b 7c 24 40          	mov    0x40(%esp),%edi
4fefce:	8b ce                	mov    %esi,%ecx
4fefd0:	ff 74 24 38          	push   0x38(%esp)
4fefd4:	d3 e3                	shl    %cl,%ebx
4fefd6:	e8 c5 b5 fd ff       	call   0x4da5a0
4fefdb:	83 c4 08             	add    $0x8,%esp
4fefde:	85 c0                	test   %eax,%eax
4fefe0:	75 07                	jne    0x4fefe9
4fefe2:	5f                   	pop    %edi
4fefe3:	5e                   	pop    %esi
4fefe4:	5b                   	pop    %ebx
4fefe5:	83 c4 24             	add    $0x24,%esp
4fefe8:	c3                   	ret
4fefe9:	55                   	push   %ebp
4fefea:	83 fe 03             	cmp    $0x3,%esi
4fefed:	7f 63                	jg     0x4ff052
4fefef:	33 ed                	xor    %ebp,%ebp
4feff1:	39 6c 24 3c          	cmp    %ebp,0x3c(%esp)
4feff5:	0f 8e ad 01 00 00    	jle    0x4ff1a8
4feffb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4ff000:	33 f6                	xor    %esi,%esi
4ff002:	33 c0                	xor    %eax,%eax
4ff004:	85 db                	test   %ebx,%ebx
4ff006:	7e 2c                	jle    0x4ff034
4ff008:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4ff00f:	00
4ff010:	8b c8                	mov    %eax,%ecx
4ff012:	33 4c 24 44          	xor    0x44(%esp),%ecx
4ff016:	8d 51 ff             	lea    -0x1(%ecx),%edx
4ff019:	f7 d1                	not    %ecx
4ff01b:	c1 ea 1f             	shr    $0x1f,%edx
4ff01e:	c1 e9 1f             	shr    $0x1f,%ecx
4ff021:	23 d1                	and    %ecx,%edx
4ff023:	f7 da                	neg    %edx
4ff025:	83 e2 01             	and    $0x1,%edx
4ff028:	f7 da                	neg    %edx
4ff02a:	23 14 87             	and    (%edi,%eax,4),%edx
4ff02d:	40                   	inc    %eax
4ff02e:	0b f2                	or     %edx,%esi
4ff030:	3b c3                	cmp    %ebx,%eax
4ff032:	7c dc                	jl     0x4ff010
4ff034:	8b 44 24 38          	mov    0x38(%esp),%eax
4ff038:	8b 00                	mov    (%eax),%eax
4ff03a:	89 34 a8             	mov    %esi,(%eax,%ebp,4)
4ff03d:	8d 04 9d 00 00 00 00 	lea    0x0(,%ebx,4),%eax
4ff044:	45                   	inc    %ebp
4ff045:	03 f8                	add    %eax,%edi
4ff047:	3b 6c 24 3c          	cmp    0x3c(%esp),%ebp
4ff04b:	7c b3                	jl     0x4ff000
4ff04d:	e9 56 01 00 00       	jmp    0x4ff1a8
4ff052:	8b 6c 24 44          	mov    0x44(%esp),%ebp
4ff056:	8d 4e fe             	lea    -0x2(%esi),%ecx
4ff059:	be 01 00 00 00       	mov    $0x1,%esi
4ff05e:	8b d5                	mov    %ebp,%edx
4ff060:	d3 e6                	shl    %cl,%esi
4ff062:	d3 fa                	sar    %cl,%edx
4ff064:	89 74 24 2c          	mov    %esi,0x2c(%esp)
4ff068:	8d 46 ff             	lea    -0x1(%esi),%eax
4ff06b:	23 e8                	and    %eax,%ebp
4ff06d:	8d 4a ff             	lea    -0x1(%edx),%ecx
4ff070:	c1 e9 1f             	shr    $0x1f,%ecx
4ff073:	8b c2                	mov    %edx,%eax
4ff075:	f7 d0                	not    %eax
4ff077:	89 6c 24 18          	mov    %ebp,0x18(%esp)
4ff07b:	c1 e8 1f             	shr    $0x1f,%eax
4ff07e:	23 c8                	and    %eax,%ecx
4ff080:	8b c2                	mov    %edx,%eax
4ff082:	f7 d9                	neg    %ecx
4ff084:	83 f0 01             	xor    $0x1,%eax
4ff087:	83 e1 01             	and    $0x1,%ecx
4ff08a:	f7 d9                	neg    %ecx
4ff08c:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4ff090:	8d 48 ff             	lea    -0x1(%eax),%ecx
4ff093:	f7 d0                	not    %eax
4ff095:	c1 e8 1f             	shr    $0x1f,%eax
4ff098:	c1 e9 1f             	shr    $0x1f,%ecx
4ff09b:	23 c8                	and    %eax,%ecx
4ff09d:	8b c2                	mov    %edx,%eax
4ff09f:	f7 d9                	neg    %ecx
4ff0a1:	83 f0 02             	xor    $0x2,%eax
4ff0a4:	83 e1 01             	and    $0x1,%ecx
4ff0a7:	83 f2 03             	xor    $0x3,%edx
4ff0aa:	f7 d9                	neg    %ecx
4ff0ac:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4ff0b0:	8d 48 ff             	lea    -0x1(%eax),%ecx
4ff0b3:	f7 d0                	not    %eax
4ff0b5:	c1 e8 1f             	shr    $0x1f,%eax
4ff0b8:	c1 e9 1f             	shr    $0x1f,%ecx
4ff0bb:	23 c8                	and    %eax,%ecx
4ff0bd:	8d 42 ff             	lea    -0x1(%edx),%eax
4ff0c0:	c1 e8 1f             	shr    $0x1f,%eax
4ff0c3:	f7 d2                	not    %edx
4ff0c5:	c1 ea 1f             	shr    $0x1f,%edx
4ff0c8:	f7 d9                	neg    %ecx
4ff0ca:	23 c2                	and    %edx,%eax