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
4ff278:	cc                   	int3
4ff279:	cc                   	int3
4ff27a:	cc                   	int3
4ff27b:	cc                   	int3
4ff27c:	cc                   	int3
4ff27d:	cc                   	int3
4ff27e:	cc                   	int3
4ff27f:	cc                   	int3
4ff280:	b8 14 00 00 00       	mov    $0x14,%eax
4ff285:	e8 26 25 0d 00       	call   0x5d17b0
4ff28a:	53                   	push   %ebx
4ff28b:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4ff28f:	55                   	push   %ebp
4ff290:	56                   	push   %esi
4ff291:	57                   	push   %edi
4ff292:	53                   	push   %ebx
4ff293:	33 ed                	xor    %ebp,%ebp
4ff295:	e8 c6 aa fd ff       	call   0x4d9d60
4ff29a:	83 c4 04             	add    $0x4,%esp
4ff29d:	85 c0                	test   %eax,%eax
4ff29f:	74 3a                	je     0x4ff2db
4ff2a1:	6a 1f                	push   $0x1f
4ff2a3:	68 28 9c 62 00       	push   $0x629c28
4ff2a8:	6a 01                	push   $0x1
4ff2aa:	e8 a1 14 fe ff       	call   0x4e0750
4ff2af:	8b e8                	mov    %eax,%ebp
4ff2b1:	83 c4 0c             	add    $0xc,%esp
4ff2b4:	85 ed                	test   %ebp,%ebp
4ff2b6:	75 0b                	jne    0x4ff2c3
4ff2b8:	8d 48 41             	lea    0x41(%eax),%ecx
4ff2bb:	8d 50 21             	lea    0x21(%eax),%edx
4ff2be:	e9 78 01 00 00       	jmp    0x4ff43b
4ff2c3:	8b 44 24 30          	mov    0x30(%esp),%eax
4ff2c7:	5f                   	pop    %edi
4ff2c8:	c6 45 00 00          	movb   $0x0,0x0(%ebp)
4ff2cc:	5e                   	pop    %esi
4ff2cd:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4ff2d3:	8b c5                	mov    %ebp,%eax
4ff2d5:	5d                   	pop    %ebp
4ff2d6:	5b                   	pop    %ebx
4ff2d7:	83 c4 14             	add    $0x14,%esp
4ff2da:	c3                   	ret
4ff2db:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4ff2df:	8d 47 ff             	lea    -0x1(%edi),%eax
4ff2e2:	83 f8 06             	cmp    $0x6,%eax
4ff2e5:	0f 87 46 01 00 00    	ja     0x4ff431
4ff2eb:	8b cf                	mov    %edi,%ecx
4ff2ed:	be 01 00 00 00       	mov    $0x1,%esi
4ff2f2:	53                   	push   %ebx
4ff2f3:	d3 e6                	shl    %cl,%esi
4ff2f5:	e8 e6 a9 fd ff       	call   0x4d9ce0
4ff2fa:	83 c9 ff             	or     $0xffffffff,%ecx
4ff2fd:	83 c4 04             	add    $0x4,%esp
4ff300:	85 c0                	test   %eax,%eax
4ff302:	b8 01 00 00 00       	mov    $0x1,%eax
4ff307:	0f 45 c1             	cmovne %ecx,%eax
4ff30a:	89 44 24 18          	mov    %eax,0x18(%esp)
4ff30e:	39 2b                	cmp    %ebp,(%ebx)
4ff310:	0f 84 14 01 00 00    	je     0x4ff42a
4ff316:	39 6b 04             	cmp    %ebp,0x4(%ebx)
4ff319:	0f 84 0b 01 00 00    	je     0x4ff42a
4ff31f:	53                   	push   %ebx
4ff320:	e8 fb aa fd ff       	call   0x4d9e20
4ff325:	6a 3c                	push   $0x3c
4ff327:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4ff32b:	40                   	inc    %eax
4ff32c:	68 28 9c 62 00       	push   $0x629c28
4ff331:	50                   	push   %eax
4ff332:	89 44 24 30          	mov    %eax,0x30(%esp)
4ff336:	e8 15 14 fe ff       	call   0x4e0750
4ff33b:	8b e8                	mov    %eax,%ebp
4ff33d:	83 c4 10             	add    $0x10,%esp
4ff340:	85 ed                	test   %ebp,%ebp
4ff342:	75 0b                	jne    0x4ff34f
4ff344:	8d 48 41             	lea    0x41(%eax),%ecx
4ff347:	8d 50 42             	lea    0x42(%eax),%edx
4ff34a:	e9 ec 00 00 00       	jmp    0x4ff43b
4ff34f:	8b 03                	mov    (%ebx),%eax
4ff351:	8d 14 36             	lea    (%esi,%esi,1),%edx
4ff354:	33 c9                	xor    %ecx,%ecx
4ff356:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4ff35a:	8b 18                	mov    (%eax),%ebx
4ff35c:	8d 04 75 ff ff ff ff 	lea    -0x1(,%esi,2),%eax
4ff363:	23 d8                	and    %eax,%ebx
4ff365:	47                   	inc    %edi
4ff366:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4ff36a:	85 db                	test   %ebx,%ebx
4ff36c:	75 0e                	jne    0x4ff37c
4ff36e:	3b 7c 24 14          	cmp    0x14(%esp),%edi
4ff372:	0f 83 83 00 00 00    	jae    0x4ff3fb
4ff378:	33 c0                	xor    %eax,%eax
4ff37a:	eb 3c                	jmp    0x4ff3b8
4ff37c:	33 c0                	xor    %eax,%eax
4ff37e:	f6 c3 01             	test   $0x1,%bl
4ff381:	74 35                	je     0x4ff3b8
4ff383:	8b c3                	mov    %ebx,%eax
4ff385:	85 de                	test   %ebx,%esi
4ff387:	74 13                	je     0x4ff39c
4ff389:	2b c2                	sub    %edx,%eax
4ff38b:	3b 7c 24 14          	cmp    0x14(%esp),%edi
4ff38f:	72 0b                	jb     0x4ff39c
4ff391:	8d 04 75 ff ff ff ff 	lea    -0x1(,%esi,2),%eax
4ff398:	d1 f8                	sar    $1,%eax
4ff39a:	23 c3                	and    %ebx,%eax
4ff39c:	8b ce                	mov    %esi,%ecx
4ff39e:	f7 d9                	neg    %ecx
4ff3a0:	3b c1                	cmp    %ecx,%eax
4ff3a2:	7e 7f                	jle    0x4ff423
4ff3a4:	3b c6                	cmp    %esi,%eax
4ff3a6:	7d 7b                	jge    0x4ff423
4ff3a8:	a8 01                	test   $0x1,%al
4ff3aa:	74 77                	je     0x4ff423
4ff3ac:	2b d8                	sub    %eax,%ebx
4ff3ae:	74 08                	je     0x4ff3b8
4ff3b0:	3b da                	cmp    %edx,%ebx
4ff3b2:	74 04                	je     0x4ff3b8
4ff3b4:	3b de                	cmp    %esi,%ebx
4ff3b6:	75 64                	jne    0x4ff41c
4ff3b8:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4ff3bc:	47                   	inc    %edi
4ff3bd:	ff 74 24 1c          	push   0x1c(%esp)
4ff3c1:	0f be c0             	movsbl %al,%eax
4ff3c4:	ff 74 24 2c          	push   0x2c(%esp)
4ff3c8:	0f be c9             	movsbl %cl,%ecx
4ff3cb:	0f af c8             	imul   %eax,%ecx
4ff3ce:	8b 44 24 18          	mov    0x18(%esp),%eax
4ff3d2:	88 0c 28             	mov    %cl,(%eax,%ebp,1)
4ff3d5:	40                   	inc    %eax
4ff3d6:	89 44 24 18          	mov    %eax,0x18(%esp)
4ff3da:	e8 d1 a8 fd ff       	call   0x4d9cb0
4ff3df:	0f af c6             	imul   %esi,%eax
4ff3e2:	8d 14 36             	lea    (%esi,%esi,1),%edx
4ff3e5:	d1 fb                	sar    $1,%ebx
4ff3e7:	83 c4 08             	add    $0x8,%esp
4ff3ea:	03 d8                	add    %eax,%ebx
4ff3ec:	3b da                	cmp    %edx,%ebx
4ff3ee:	0f 8e 72 ff ff ff    	jle    0x4ff366
4ff3f4:	ba 7c 00 00 00       	mov    $0x7c,%edx
4ff3f9:	eb 3b                	jmp    0x4ff436
4ff3fb:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4ff3ff:	3b 4c 24 20          	cmp    0x20(%esp),%ecx
4ff403:	76 07                	jbe    0x4ff40c
4ff405:	ba 82 00 00 00       	mov    $0x82,%edx
4ff40a:	eb 2a                	jmp    0x4ff436
4ff40c:	8b 44 24 30          	mov    0x30(%esp),%eax
4ff410:	5f                   	pop    %edi
4ff411:	5e                   	pop    %esi
4ff412:	89 08                	mov    %ecx,(%eax)
4ff414:	8b c5                	mov    %ebp,%eax
4ff416:	5d                   	pop    %ebp
4ff417:	5b                   	pop    %ebx
4ff418:	83 c4 14             	add    $0x14,%esp
4ff41b:	c3                   	ret
4ff41c:	ba 71 00 00 00       	mov    $0x71,%edx
4ff421:	eb 13                	jmp    0x4ff436
4ff423:	ba 65 00 00 00       	mov    $0x65,%edx
4ff428:	eb 0c                	jmp    0x4ff436
4ff42a:	ba 37 00 00 00       	mov    $0x37,%edx
4ff42f:	eb 05                	jmp    0x4ff436
4ff431:	ba 2b 00 00 00       	mov    $0x2b,%edx
4ff436:	b9 44 00 00 00       	mov    $0x44,%ecx
4ff43b:	52                   	push   %edx
4ff43c:	68 28 9c 62 00       	push   $0x629c28
4ff441:	51                   	push   %ecx
4ff442:	68 8e 00 00 00       	push   $0x8e
4ff447:	6a 03                	push   $0x3
4ff449:	e8 32 9b fd ff       	call   0x4d8f80
4ff44e:	68 89 00 00 00       	push   $0x89
4ff453:	68 28 9c 62 00       	push   $0x629c28
4ff458:	55                   	push   %ebp
4ff459:	e8 22 13 fe ff       	call   0x4e0780
4ff45e:	83 c4 20             	add    $0x20,%esp
4ff461:	33 c0                	xor    %eax,%eax
4ff463:	5f                   	pop    %edi
4ff464:	5e                   	pop    %esi