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
4ff0cc:	83 e1 01             	and    $0x1,%ecx
4ff0cf:	f7 d8                	neg    %eax
4ff0d1:	f7 d9                	neg    %ecx
4ff0d3:	83 e0 01             	and    $0x1,%eax
4ff0d6:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4ff0da:	f7 d8                	neg    %eax
4ff0dc:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4ff0e0:	33 c0                	xor    %eax,%eax
4ff0e2:	89 44 24 14          	mov    %eax,0x14(%esp)
4ff0e6:	39 44 24 3c          	cmp    %eax,0x3c(%esp)
4ff0ea:	0f 8e b8 00 00 00    	jle    0x4ff1a8
4ff0f0:	c1 e3 02             	shl    $0x2,%ebx
4ff0f3:	89 5c 24 30          	mov    %ebx,0x30(%esp)
4ff0f7:	33 d2                	xor    %edx,%edx
4ff0f9:	33 db                	xor    %ebx,%ebx
4ff0fb:	89 54 24 48          	mov    %edx,0x48(%esp)
4ff0ff:	85 f6                	test   %esi,%esi
4ff101:	0f 8e 85 00 00 00    	jle    0x4ff18c
4ff107:	8d 04 76             	lea    (%esi,%esi,2),%eax
4ff10a:	8d 0c f7             	lea    (%edi,%esi,8),%ecx
4ff10d:	8d 04 87             	lea    (%edi,%eax,4),%eax
4ff110:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4ff114:	8d 2c b7             	lea    (%edi,%esi,4),%ebp
4ff117:	89 44 24 40          	mov    %eax,0x40(%esp)
4ff11b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4ff120:	8b 00                	mov    (%eax),%eax
4ff122:	8d 6d 04             	lea    0x4(%ebp),%ebp
4ff125:	8b 09                	mov    (%ecx),%ecx
4ff127:	8b f3                	mov    %ebx,%esi
4ff129:	23 4c 24 20          	and    0x20(%esp),%ecx
4ff12d:	23 44 24 1c          	and    0x1c(%esp),%eax
4ff131:	33 74 24 18          	xor    0x18(%esp),%esi
4ff135:	0b c8                	or     %eax,%ecx
4ff137:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ff13a:	23 54 24 24          	and    0x24(%esp),%edx
4ff13e:	8b 04 9f             	mov    (%edi,%ebx,4),%eax
4ff141:	0b d1                	or     %ecx,%edx
4ff143:	23 44 24 28          	and    0x28(%esp),%eax
4ff147:	8d 4e ff             	lea    -0x1(%esi),%ecx
4ff14a:	c1 e9 1f             	shr    $0x1f,%ecx
4ff14d:	f7 d6                	not    %esi
4ff14f:	c1 ee 1f             	shr    $0x1f,%esi
4ff152:	0b c2                	or     %edx,%eax
4ff154:	8b 54 24 48          	mov    0x48(%esp),%edx
4ff158:	23 ce                	and    %esi,%ecx
4ff15a:	8b 74 24 2c          	mov    0x2c(%esp),%esi
4ff15e:	f7 d9                	neg    %ecx
4ff160:	83 e1 01             	and    $0x1,%ecx
4ff163:	43                   	inc    %ebx
4ff164:	f7 d9                	neg    %ecx
4ff166:	23 c8                	and    %eax,%ecx
4ff168:	8b 44 24 40          	mov    0x40(%esp),%eax
4ff16c:	0b d1                	or     %ecx,%edx
4ff16e:	83 c0 04             	add    $0x4,%eax
4ff171:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4ff175:	83 c1 04             	add    $0x4,%ecx
4ff178:	89 54 24 48          	mov    %edx,0x48(%esp)
4ff17c:	89 44 24 40          	mov    %eax,0x40(%esp)
4ff180:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4ff184:	3b de                	cmp    %esi,%ebx
4ff186:	7c 98                	jl     0x4ff120
4ff188:	8b 44 24 14          	mov    0x14(%esp),%eax
4ff18c:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4ff190:	03 7c 24 30          	add    0x30(%esp),%edi
4ff194:	8b 09                	mov    (%ecx),%ecx
4ff196:	89 14 81             	mov    %edx,(%ecx,%eax,4)
4ff199:	40                   	inc    %eax
4ff19a:	89 44 24 14          	mov    %eax,0x14(%esp)
4ff19e:	3b 44 24 3c          	cmp    0x3c(%esp),%eax
4ff1a2:	0f 8c 4f ff ff ff    	jl     0x4ff0f7
4ff1a8:	8b 44 24 38          	mov    0x38(%esp),%eax
4ff1ac:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
4ff1b0:	5d                   	pop    %ebp
4ff1b1:	89 78 04             	mov    %edi,0x4(%eax)
4ff1b4:	b8 01 00 00 00       	mov    $0x1,%eax
4ff1b9:	5f                   	pop    %edi
4ff1ba:	5e                   	pop    %esi
4ff1bb:	5b                   	pop    %ebx
4ff1bc:	83 c4 24             	add    $0x24,%esp
4ff1bf:	c3                   	ret
4ff1c0:	56                   	push   %esi
4ff1c1:	8b 74 24 0c          	mov    0xc(%esp),%esi
4ff1c5:	57                   	push   %edi
4ff1c6:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4ff1ca:	3b 77 04             	cmp    0x4(%edi),%esi
4ff1cd:	0f 4f 77 04          	cmovg  0x4(%edi),%esi
4ff1d1:	33 c0                	xor    %eax,%eax
4ff1d3:	85 f6                	test   %esi,%esi
4ff1d5:	7e 28                	jle    0x4ff1ff
4ff1d7:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4ff1db:	8b 54 24 18          	mov    0x18(%esp),%edx
4ff1df:	53                   	push   %ebx
4ff1e0:	bb 04 00 00 00       	mov    $0x4,%ebx
4ff1e5:	d3 e3                	shl    %cl,%ebx
4ff1e7:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4ff1eb:	8d 14 91             	lea    (%ecx,%edx,4),%edx
4ff1ee:	66 90                	xchg   %ax,%ax
4ff1f0:	8b 0f                	mov    (%edi),%ecx
4ff1f2:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
4ff1f5:	40                   	inc    %eax
4ff1f6:	89 0a                	mov    %ecx,(%edx)
4ff1f8:	03 d3                	add    %ebx,%edx
4ff1fa:	3b c6                	cmp    %esi,%eax
4ff1fc:	7c f2                	jl     0x4ff1f0
4ff1fe:	5b                   	pop    %ebx
4ff1ff:	5f                   	pop    %edi
4ff200:	b8 01 00 00 00       	mov    $0x1,%eax
4ff205:	5e                   	pop    %esi
4ff206:	c3                   	ret
4ff207:	cc                   	int3
4ff208:	cc                   	int3
4ff209:	cc                   	int3
4ff20a:	cc                   	int3
4ff20b:	cc                   	int3
4ff20c:	cc                   	int3
4ff20d:	cc                   	int3
4ff20e:	cc                   	int3
4ff20f:	cc                   	int3
4ff210:	56                   	push   %esi
4ff211:	8b 74 24 0c          	mov    0xc(%esp),%esi
4ff215:	8b c6                	mov    %esi,%eax
4ff217:	99                   	cltd
4ff218:	83 e2 1f             	and    $0x1f,%edx
4ff21b:	03 c2                	add    %edx,%eax
4ff21d:	c1 f8 05             	sar    $0x5,%eax
4ff220:	81 e6 1f 00 00 80    	and    $0x8000001f,%esi
4ff226:	79 05                	jns    0x4ff22d
4ff228:	4e                   	dec    %esi
4ff229:	83 ce e0             	or     $0xffffffe0,%esi
4ff22c:	46                   	inc    %esi
4ff22d:	85 c0                	test   %eax,%eax
4ff22f:	78 3c                	js     0x4ff26d
4ff231:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4ff235:	57                   	push   %edi
4ff236:	8b 79 04             	mov    0x4(%ecx),%edi
4ff239:	3b c7                	cmp    %edi,%eax
4ff23b:	7d 2b                	jge    0x4ff268
4ff23d:	53                   	push   %ebx
4ff23e:	8b 19                	mov    (%ecx),%ebx
4ff240:	8b 14 83             	mov    (%ebx,%eax,4),%edx
4ff243:	85 f6                	test   %esi,%esi
4ff245:	74 1b                	je     0x4ff262
4ff247:	8b ce                	mov    %esi,%ecx
4ff249:	40                   	inc    %eax
4ff24a:	d3 ea                	shr    %cl,%edx
4ff24c:	3b c7                	cmp    %edi,%eax
4ff24e:	7d 12                	jge    0x4ff262
4ff250:	8b 04 83             	mov    (%ebx,%eax,4),%eax
4ff253:	b9 20 00 00 00       	mov    $0x20,%ecx
4ff258:	2b ce                	sub    %esi,%ecx
4ff25a:	5b                   	pop    %ebx
4ff25b:	d3 e0                	shl    %cl,%eax
4ff25d:	5f                   	pop    %edi
4ff25e:	0b c2                	or     %edx,%eax
4ff260:	5e                   	pop    %esi
4ff261:	c3                   	ret
4ff262:	5b                   	pop    %ebx
4ff263:	5f                   	pop    %edi
4ff264:	8b c2                	mov    %edx,%eax
4ff266:	5e                   	pop    %esi
4ff267:	c3                   	ret
4ff268:	5f                   	pop    %edi
4ff269:	33 c0                	xor    %eax,%eax
4ff26b:	5e                   	pop    %esi
4ff26c:	c3                   	ret
4ff26d:	33 c0                	xor    %eax,%eax
4ff26f:	5e                   	pop    %esi
4ff270:	c3                   	ret
4ff271:	cc                   	int3
4ff272:	cc                   	int3
4ff273:	cc                   	int3
4ff274:	cc                   	int3
4ff275:	cc                   	int3
4ff276:	cc                   	int3
4ff277:	cc                   	int3