4621e5:	57                   	push   %edi
4621e6:	3d 80 00 00 00       	cmp    $0x80,%eax
4621eb:	7e 74                	jle    0x462261
4621ed:	8b 4d 14             	mov    0x14(%ebp),%ecx
4621f0:	8b 7d 10             	mov    0x10(%ebp),%edi
4621f3:	85 ff                	test   %edi,%edi
4621f5:	0f 8e bb 00 00 00    	jle    0x4622b6
4621fb:	51                   	push   %ecx
4621fc:	53                   	push   %ebx
4621fd:	8d 45 e8             	lea    -0x18(%ebp),%eax
462200:	56                   	push   %esi
462201:	50                   	push   %eax
462202:	e8 79 fd ff ff       	call   0x461f80
462207:	8b 55 ec             	mov    -0x14(%ebp),%edx
46220a:	8b c7                	mov    %edi,%eax
46220c:	c1 f8 02             	sar    $0x2,%eax
46220f:	8b cb                	mov    %ebx,%ecx
462211:	d1 ff                	sar    $1,%edi
462213:	83 c4 10             	add    $0x10,%esp
462216:	03 f8                	add    %eax,%edi
462218:	2b ca                	sub    %edx,%ecx
46221a:	8b 45 e8             	mov    -0x18(%ebp),%eax
46221d:	83 e1 fc             	and    $0xfffffffc,%ecx
462220:	2b c6                	sub    %esi,%eax
462222:	83 e0 fc             	and    $0xfffffffc,%eax
462225:	3b c1                	cmp    %ecx,%eax
462227:	8b 45 14             	mov    0x14(%ebp),%eax
46222a:	50                   	push   %eax
46222b:	57                   	push   %edi
46222c:	7d 12                	jge    0x462240
46222e:	8b 45 e8             	mov    -0x18(%ebp),%eax
462231:	50                   	push   %eax
462232:	56                   	push   %esi
462233:	e8 98 ff ff ff       	call   0x4621d0
462238:	8b 75 ec             	mov    -0x14(%ebp),%esi
46223b:	89 75 08             	mov    %esi,0x8(%ebp)
46223e:	eb 0d                	jmp    0x46224d
462240:	53                   	push   %ebx
462241:	52                   	push   %edx
462242:	e8 89 ff ff ff       	call   0x4621d0
462247:	8b 5d e8             	mov    -0x18(%ebp),%ebx
46224a:	89 5d 0c             	mov    %ebx,0xc(%ebp)
46224d:	8b 4d 14             	mov    0x14(%ebp),%ecx
462250:	8b c3                	mov    %ebx,%eax
462252:	2b c6                	sub    %esi,%eax
462254:	83 c4 10             	add    $0x10,%esp
462257:	83 e0 fc             	and    $0xfffffffc,%eax
46225a:	3d 80 00 00 00       	cmp    $0x80,%eax
46225f:	7f 92                	jg     0x4621f3
462261:	3b f3                	cmp    %ebx,%esi
462263:	0f 84 99 01 00 00    	je     0x462402
462269:	8d 7e 04             	lea    0x4(%esi),%edi
46226c:	3b fb                	cmp    %ebx,%edi
46226e:	0f 84 8e 01 00 00    	je     0x462402
462274:	ba 04 00 00 00       	mov    $0x4,%edx
462279:	2b d6                	sub    %esi,%edx
46227b:	89 55 f0             	mov    %edx,-0x10(%ebp)
46227e:	66 90                	xchg   %ax,%ax
462280:	8b 07                	mov    (%edi),%eax
462282:	89 45 f8             	mov    %eax,-0x8(%ebp)
462285:	89 7d fc             	mov    %edi,-0x4(%ebp)
462288:	8b 48 28             	mov    0x28(%eax),%ecx
46228b:	8b 06                	mov    (%esi),%eax
46228d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
462290:	3b 48 28             	cmp    0x28(%eax),%ecx
462293:	0f 8d 24 01 00 00    	jge    0x4623bd
462299:	8d 42 fc             	lea    -0x4(%edx),%eax
46229c:	03 c7                	add    %edi,%eax
46229e:	50                   	push   %eax
46229f:	8d 46 04             	lea    0x4(%esi),%eax
4622a2:	56                   	push   %esi
4622a3:	50                   	push   %eax
4622a4:	e8 27 0b 17 00       	call   0x5d2dd0
4622a9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4622ac:	83 c4 0c             	add    $0xc,%esp
4622af:	89 0e                	mov    %ecx,(%esi)
4622b1:	e9 3e 01 00 00       	jmp    0x4623f4
4622b6:	2b de                	sub    %esi,%ebx
4622b8:	8b c3                	mov    %ebx,%eax
4622ba:	89 5d 0c             	mov    %ebx,0xc(%ebp)
4622bd:	c1 f8 02             	sar    $0x2,%eax
4622c0:	8b d0                	mov    %eax,%edx
4622c2:	89 45 f4             	mov    %eax,-0xc(%ebp)
4622c5:	d1 fa                	sar    $1,%edx
4622c7:	85 d2                	test   %edx,%edx
4622c9:	0f 8e aa 00 00 00    	jle    0x462379
4622cf:	48                   	dec    %eax
4622d0:	8b f8                	mov    %eax,%edi
4622d2:	89 45 ec             	mov    %eax,-0x14(%ebp)
4622d5:	d1 ff                	sar    $1,%edi
4622d7:	89 7d f8             	mov    %edi,-0x8(%ebp)
4622da:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4622e0:	8b 44 96 fc          	mov    -0x4(%esi,%edx,4),%eax
4622e4:	4a                   	dec    %edx
4622e5:	89 55 f0             	mov    %edx,-0x10(%ebp)
4622e8:	8b da                	mov    %edx,%ebx
4622ea:	89 45 fc             	mov    %eax,-0x4(%ebp)
4622ed:	8b ca                	mov    %edx,%ecx
4622ef:	3b d7                	cmp    %edi,%edx
4622f1:	7d 2d                	jge    0x462320
4622f3:	8d 3c 09             	lea    (%ecx,%ecx,1),%edi
4622f6:	33 d2                	xor    %edx,%edx
4622f8:	8b 44 be 08          	mov    0x8(%esi,%edi,4),%eax
4622fc:	8b 4c be 04          	mov    0x4(%esi,%edi,4),%ecx
462300:	8b 40 28             	mov    0x28(%eax),%eax
462303:	3b 41 28             	cmp    0x28(%ecx),%eax
462306:	8d 4f 01             	lea    0x1(%edi),%ecx
462309:	8b 7d f8             	mov    -0x8(%ebp),%edi
46230c:	0f 9d c2             	setge  %dl
46230f:	03 ca                	add    %edx,%ecx
462311:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
462314:	89 04 9e             	mov    %eax,(%esi,%ebx,4)
462317:	8b d9                	mov    %ecx,%ebx
462319:	3b cf                	cmp    %edi,%ecx
46231b:	7c d6                	jl     0x4622f3
46231d:	8b 55 f0             	mov    -0x10(%ebp),%edx
462320:	3b df                	cmp    %edi,%ebx
462322:	75 11                	jne    0x462335
462324:	8b 45 f4             	mov    -0xc(%ebp),%eax
462327:	a8 01                	test   $0x1,%al
462329:	75 0a                	jne    0x462335
46232b:	8b 44 86 fc          	mov    -0x4(%esi,%eax,4),%eax
46232f:	89 04 9e             	mov    %eax,(%esi,%ebx,4)
462332:	8b 5d ec             	mov    -0x14(%ebp),%ebx
462335:	3b d3                	cmp    %ebx,%edx
462337:	7d 29                	jge    0x462362
462339:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
462340:	8d 4b ff             	lea    -0x1(%ebx),%ecx
462343:	d1 f9                	sar    $1,%ecx
462345:	8b 3c 8e             	mov    (%esi,%ecx,4),%edi
462348:	8b 75 fc             	mov    -0x4(%ebp),%esi
46234b:	8b 47 28             	mov    0x28(%edi),%eax
46234e:	3b 46 28             	cmp    0x28(%esi),%eax
462351:	8b 75 08             	mov    0x8(%ebp),%esi
462354:	7d 09                	jge    0x46235f
462356:	89 3c 9e             	mov    %edi,(%esi,%ebx,4)
462359:	8b d9                	mov    %ecx,%ebx
46235b:	3b d1                	cmp    %ecx,%edx
46235d:	7c e1                	jl     0x462340
46235f:	8b 7d f8             	mov    -0x8(%ebp),%edi
462362:	8b 45 fc             	mov    -0x4(%ebp),%eax
462365:	89 04 9e             	mov    %eax,(%esi,%ebx,4)
462368:	85 d2                	test   %edx,%edx
46236a:	0f 8f 70 ff ff ff    	jg     0x4622e0
462370:	8b 5d 0c             	mov    0xc(%ebp),%ebx
462373:	8b 4d 14             	mov    0x14(%ebp),%ecx
462376:	8b 45 f4             	mov    -0xc(%ebp),%eax
462379:	83 f8 02             	cmp    $0x2,%eax
46237c:	0f 8c 80 00 00 00    	jl     0x462402
462382:	8b 44 1e fc          	mov    -0x4(%esi,%ebx,1),%eax
462386:	89 45 0c             	mov    %eax,0xc(%ebp)
462389:	8b 06                	mov    (%esi),%eax
46238b:	89 44 1e fc          	mov    %eax,-0x4(%esi,%ebx,1)
46238f:	8d 45 0c             	lea    0xc(%ebp),%eax
462392:	51                   	push   %ecx
462393:	50                   	push   %eax
462394:	8d 43 fc             	lea    -0x4(%ebx),%eax
462397:	c1 f8 02             	sar    $0x2,%eax
46239a:	50                   	push   %eax
46239b:	6a 00                	push   $0x0
46239d:	56                   	push   %esi
46239e:	e8 7d fd ff ff       	call   0x462120
4623a3:	8b 4d 14             	mov    0x14(%ebp),%ecx
4623a6:	83 eb 04             	sub    $0x4,%ebx
4623a9:	8b c3                	mov    %ebx,%eax
4623ab:	83 c4 14             	add    $0x14,%esp
4623ae:	83 e0 fc             	and    $0xfffffffc,%eax
4623b1:	83 f8 08             	cmp    $0x8,%eax
4623b4:	7d cc                	jge    0x462382
4623b6:	5f                   	pop    %edi
4623b7:	5e                   	pop    %esi
4623b8:	5b                   	pop    %ebx
4623b9:	8b e5                	mov    %ebp,%esp
4623bb:	5d                   	pop    %ebp
4623bc:	c3                   	ret
4623bd:	8b 57 fc             	mov    -0x4(%edi),%edx
4623c0:	8d 4f fc             	lea    -0x4(%edi),%ecx
4623c3:	8b 45 ec             	mov    -0x14(%ebp),%eax
4623c6:	3b 42 28             	cmp    0x28(%edx),%eax
4623c9:	7d 21                	jge    0x4623ec
4623cb:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4623ce:	8b 75 f8             	mov    -0x8(%ebp),%esi
4623d1:	89 13                	mov    %edx,(%ebx)
4623d3:	8b d9                	mov    %ecx,%ebx
4623d5:	8b 51 fc             	mov    -0x4(%ecx),%edx
4623d8:	83 e9 04             	sub    $0x4,%ecx
4623db:	8b 46 28             	mov    0x28(%esi),%eax
4623de:	3b 42 28             	cmp    0x28(%edx),%eax
4623e1:	7c ee                	jl     0x4623d1
4623e3:	8b 75 08             	mov    0x8(%ebp),%esi
4623e6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4623e9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4623ec:	8b 45 fc             	mov    -0x4(%ebp),%eax
4623ef:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4623f2:	89 08                	mov    %ecx,(%eax)
4623f4:	8b 55 f0             	mov    -0x10(%ebp),%edx
4623f7:	83 c7 04             	add    $0x4,%edi
4623fa:	3b fb                	cmp    %ebx,%edi
4623fc:	0f 85 7e fe ff ff    	jne    0x462280
462402:	5f                   	pop    %edi
462403:	5e                   	pop    %esi
462404:	5b                   	pop    %ebx
462405:	8b e5                	mov    %ebp,%esp
462407:	5d                   	pop    %ebp
462408:	c3                   	ret
462409:	cc                   	int3
46240a:	cc                   	int3
46240b:	cc                   	int3
46240c:	cc                   	int3
46240d:	cc                   	int3
46240e:	cc                   	int3
46240f:	cc                   	int3
462410:	55                   	push   %ebp
462411:	8b ec                	mov    %esp,%ebp
462413:	6a ff                	push   $0xffffffff
462415:	68 0d 8f 5f 00       	push   $0x5f8f0d
46241a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
462420:	50                   	push   %eax
462421:	83 ec 0c             	sub    $0xc,%esp
462424:	56                   	push   %esi
462425:	a1 c0 14 69 00       	mov    0x6914c0,%eax
46242a:	33 c5                	xor    %ebp,%eax
46242c:	50                   	push   %eax
46242d:	8d 45 f4             	lea    -0xc(%ebp),%eax
462430:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
462436:	8b 75 08             	mov    0x8(%ebp),%esi
462439:	8d 45 f0             	lea    -0x10(%ebp),%eax
46243c:	6a 00                	push   $0x0
46243e:	50                   	push   %eax
46243f:	6a 00                	push   $0x0
462441:	56                   	push   %esi
462442:	ff 15 98 21 60 00    	call   *0x602198
462448:	85 c0                	test   %eax,%eax
46244a:	74 48                	je     0x462494
46244c:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
462450:	74 32                	je     0x462484
462452:	89 75 e8             	mov    %esi,-0x18(%ebp)
462455:	c7 45 ec 04 00 00 00 	movl   $0x4,-0x14(%ebp)
46245c:	8b 45 14             	mov    0x14(%ebp),%eax
46245f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
462466:	0f b6 00             	movzbl (%eax),%eax
462469:	50                   	push   %eax
46246a:	8b 45 10             	mov    0x10(%ebp),%eax
46246d:	ff 30                	push   (%eax)
46246f:	ff 55 0c             	call   *0xc(%ebp)
462472:	83 c4 08             	add    $0x8,%esp
462475:	6a 00                	push   $0x0
462477:	6a 00                	push   $0x0
462479:	56                   	push   %esi
46247a:	ff 15 94 21 60 00    	call   *0x602194
462480:	85 c0                	test   %eax,%eax
462482:	74 10                	je     0x462494
462484:	8b 4d f4             	mov    -0xc(%ebp),%ecx
462487:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46248e:	59                   	pop    %ecx
46248f:	5e                   	pop    %esi
462490:	8b e5                	mov    %ebp,%esp
462492:	5d                   	pop    %ebp
462493:	c3                   	ret
462494:	e8 50 da 17 00       	call   0x5dfee9
462499:	cc                   	int3
46249a:	cc                   	int3
46249b:	cc                   	int3
46249c:	cc                   	int3
46249d:	cc                   	int3
46249e:	cc                   	int3
46249f:	cc                   	int3
4624a0:	55                   	push   %ebp
4624a1:	8b ec                	mov    %esp,%ebp
4624a3:	56                   	push   %esi
4624a4:	ff 75 08             	push   0x8(%ebp)
4624a7:	8b f1                	mov    %ecx,%esi
4624a9:	e8 72 05 00 00       	call   0x462a20
4624ae:	83 c4 04             	add    $0x4,%esp
4624b1:	8b c6                	mov    %esi,%eax
4624b3:	5e                   	pop    %esi
4624b4:	5d                   	pop    %ebp
4624b5:	c2 04 00             	ret    $0x4
4624b8:	cc                   	int3
4624b9:	cc                   	int3
4624ba:	cc                   	int3
4624bb:	cc                   	int3
4624bc:	cc                   	int3
4624bd:	cc                   	int3
4624be:	cc                   	int3
4624bf:	cc                   	int3
4624c0:	55                   	push   %ebp
4624c1:	8b ec                	mov    %esp,%ebp
4624c3:	6a ff                	push   $0xffffffff
4624c5:	68 50 8f 5f 00       	push   $0x5f8f50
4624ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4624d0:	50                   	push   %eax
4624d1:	83 ec 30             	sub    $0x30,%esp
4624d4:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4624d9:	33 c5                	xor    %ebp,%eax
4624db:	89 45 f0             	mov    %eax,-0x10(%ebp)
4624de:	53                   	push   %ebx
4624df:	56                   	push   %esi
4624e0:	57                   	push   %edi
4624e1:	50                   	push   %eax
4624e2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4624e5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4624eb:	8b f9                	mov    %ecx,%edi
4624ed:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4624f0:	8b 4d 08             	mov    0x8(%ebp),%ecx
4624f3:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4624f6:	89 7d cc             	mov    %edi,-0x34(%ebp)
4624f9:	89 4d d0             	mov    %ecx,-0x30(%ebp)
4624fc:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
462503:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
46250a:	8d 55 c4             	lea    -0x3c(%ebp),%edx
46250d:	c7 47 2c 00 00 00 00 	movl   $0x0,0x2c(%edi)
462514:	8b 01                	mov    (%ecx),%eax
462516:	52                   	push   %edx
462517:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46251e:	ff 50 48             	call   *0x48(%eax)
462521:	8b cb                	mov    %ebx,%ecx
462523:	8b 40 04             	mov    0x4(%eax),%eax
462526:	89 45 d4             	mov    %eax,-0x2c(%ebp)
462529:	e8 72 6c ff ff       	call   0x4591a0
46252e:	83 f8 0b             	cmp    $0xb,%eax
462531:	75 0b                	jne    0x46253e
462533:	8b cb                	mov    %ebx,%ecx
462535:	e8 56 c0 03 00       	call   0x49e590
46253a:	84 c0                	test   %al,%al
46253c:	75 18                	jne    0x462556
46253e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
462541:	68 38 72 60 00       	push   $0x607238
462546:	68 10 74 60 00       	push   $0x607410
46254b:	53                   	push   %ebx
46254c:	ff 30                	push   (%eax)
46254e:	e8 3d 49 00 00       	call   0x466e90
462553:	83 c4 10             	add    $0x10,%esp
462556:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
462559:	53                   	push   %ebx
46255a:	8d 49 04             	lea    0x4(%ecx),%ecx
46255d:	e8 5e 22 00 00       	call   0x4647c0
462562:	03 45 d0             	add    -0x30(%ebp),%eax
462565:	89 47 04             	mov    %eax,0x4(%edi)
462568:	66 a1 94 6a 60 00    	mov    0x606a94,%ax
46256e:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
462575:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
462579:	a0 96 6a 60 00       	mov    0x606a96,%al
46257e:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
462585:	c7 45 e8 03 00 00 00 	movl   $0x3,-0x18(%ebp)
46258c:	88 45 da             	mov    %al,-0x26(%ebp)
46258f:	c6 45 db 00          	movb   $0x0,-0x25(%ebp)
462593:	8d 45 d8             	lea    -0x28(%ebp),%eax
462596:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46259a:	50                   	push   %eax