41e237:	7c 05                	jl     0x41e23e
41e239:	3b 7b 14             	cmp    0x14(%ebx),%edi
41e23c:	7c 0f                	jl     0x41e24d
41e23e:	8b 15 dc 70 6a 00    	mov    0x6a70dc,%edx
41e244:	8b cf                	mov    %edi,%ecx
41e246:	8b c3                	mov    %ebx,%eax
41e248:	e8 43 f3 ff ff       	call   0x41d590
41e24d:	8b c3                	mov    %ebx,%eax
41e24f:	8b 10                	mov    (%eax),%edx
41e251:	ff 92 84 00 00 00    	call   *0x84(%edx)
41e257:	8b cf                	mov    %edi,%ecx
41e259:	8b d6                	mov    %esi,%edx
41e25b:	8b c3                	mov    %ebx,%eax
41e25d:	e8 0e 00 00 00       	call   0x41e270
41e262:	8b c3                	mov    %ebx,%eax
41e264:	8b 10                	mov    (%eax),%edx
41e266:	ff 92 80 00 00 00    	call   *0x80(%edx)
41e26c:	5f                   	pop    %edi
41e26d:	5e                   	pop    %esi
41e26e:	5b                   	pop    %ebx
41e26f:	c3                   	ret
41e270:	53                   	push   %ebx
41e271:	8b 58 10             	mov    0x10(%eax),%ebx
41e274:	8d 14 d3             	lea    (%ebx,%edx,8),%edx
41e277:	8b 40 10             	mov    0x10(%eax),%eax
41e27a:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
41e27d:	8b 0a                	mov    (%edx),%ecx
41e27f:	8b 18                	mov    (%eax),%ebx
41e281:	89 1a                	mov    %ebx,(%edx)
41e283:	89 08                	mov    %ecx,(%eax)
41e285:	8b 4a 04             	mov    0x4(%edx),%ecx
41e288:	8b 58 04             	mov    0x4(%eax),%ebx
41e28b:	89 5a 04             	mov    %ebx,0x4(%edx)
41e28e:	89 48 04             	mov    %ecx,0x4(%eax)
41e291:	5b                   	pop    %ebx
41e292:	c3                   	ret
41e293:	90                   	nop
41e294:	53                   	push   %ebx
41e295:	56                   	push   %esi
41e296:	57                   	push   %edi
41e297:	55                   	push   %ebp
41e298:	83 c4 f0             	add    $0xfffffff0,%esp
41e29b:	89 4c 24 04          	mov    %ecx,0x4(%esp)
41e29f:	89 14 24             	mov    %edx,(%esp)
41e2a2:	8b f8                	mov    %eax,%edi
41e2a4:	c6 44 24 08 00       	movb   $0x0,0x8(%esp)
41e2a9:	33 f6                	xor    %esi,%esi
41e2ab:	8b 47 14             	mov    0x14(%edi),%eax
41e2ae:	48                   	dec    %eax
41e2af:	89 44 24 0c          	mov    %eax,0xc(%esp)
41e2b3:	3b 74 24 0c          	cmp    0xc(%esp),%esi
41e2b7:	7f 3f                	jg     0x41e2f8
41e2b9:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
41e2bd:	03 de                	add    %esi,%ebx
41e2bf:	d1 eb                	shr    $1,%ebx
41e2c1:	8b 47 10             	mov    0x10(%edi),%eax
41e2c4:	8b 14 d8             	mov    (%eax,%ebx,8),%edx
41e2c7:	8b 0c 24             	mov    (%esp),%ecx
41e2ca:	8b c7                	mov    %edi,%eax
41e2cc:	8b 28                	mov    (%eax),%ebp
41e2ce:	ff 55 34             	call   *0x34(%ebp)
41e2d1:	85 c0                	test   %eax,%eax
41e2d3:	7d 05                	jge    0x41e2da
41e2d5:	8d 73 01             	lea    0x1(%ebx),%esi
41e2d8:	eb 18                	jmp    0x41e2f2
41e2da:	8b d3                	mov    %ebx,%edx
41e2dc:	4a                   	dec    %edx
41e2dd:	89 54 24 0c          	mov    %edx,0xc(%esp)
41e2e1:	85 c0                	test   %eax,%eax
41e2e3:	75 0d                	jne    0x41e2f2
41e2e5:	c6 44 24 08 01       	movb   $0x1,0x8(%esp)
41e2ea:	80 7f 1d 01          	cmpb   $0x1,0x1d(%edi)
41e2ee:	74 02                	je     0x41e2f2
41e2f0:	8b f3                	mov    %ebx,%esi
41e2f2:	3b 74 24 0c          	cmp    0xc(%esp),%esi
41e2f6:	7e c1                	jle    0x41e2b9
41e2f8:	8b 44 24 04          	mov    0x4(%esp),%eax
41e2fc:	89 30                	mov    %esi,(%eax)
41e2fe:	8a 44 24 08          	mov    0x8(%esp),%al
41e302:	83 c4 10             	add    $0x10,%esp
41e305:	5d                   	pop    %ebp
41e306:	5f                   	pop    %edi
41e307:	5e                   	pop    %esi
41e308:	5b                   	pop    %ebx
41e309:	c3                   	ret
41e30a:	8b c0                	mov    %eax,%eax
41e30c:	53                   	push   %ebx
41e30d:	56                   	push   %esi
41e30e:	57                   	push   %edi
41e30f:	8b f9                	mov    %ecx,%edi
41e311:	8b f2                	mov    %edx,%esi
41e313:	8b d8                	mov    %eax,%ebx
41e315:	85 f6                	test   %esi,%esi
41e317:	7c 05                	jl     0x41e31e
41e319:	3b 73 14             	cmp    0x14(%ebx),%esi
41e31c:	7c 0f                	jl     0x41e32d
41e31e:	8b 15 dc 70 6a 00    	mov    0x6a70dc,%edx
41e324:	8b ce                	mov    %esi,%ecx
41e326:	8b c3                	mov    %ebx,%eax
41e328:	e8 63 f2 ff ff       	call   0x41d590
41e32d:	8b c7                	mov    %edi,%eax
41e32f:	8b 53 10             	mov    0x10(%ebx),%edx
41e332:	8b 14 f2             	mov    (%edx,%esi,8),%edx
41e335:	e8 82 65 fe ff       	call   0x4048bc
41e33a:	5f                   	pop    %edi
41e33b:	5e                   	pop    %esi
41e33c:	5b                   	pop    %ebx
41e33d:	c3                   	ret
41e33e:	8b c0                	mov    %eax,%eax
41e340:	8b 40 18             	mov    0x18(%eax),%eax
41e343:	c3                   	ret
41e344:	8b 40 14             	mov    0x14(%eax),%eax
41e347:	c3                   	ret
41e348:	53                   	push   %ebx
41e349:	56                   	push   %esi
41e34a:	8b f2                	mov    %edx,%esi
41e34c:	8b d8                	mov    %eax,%ebx
41e34e:	85 f6                	test   %esi,%esi
41e350:	7c 05                	jl     0x41e357
41e352:	3b 73 14             	cmp    0x14(%ebx),%esi
41e355:	7c 0f                	jl     0x41e366
41e357:	8b 15 dc 70 6a 00    	mov    0x6a70dc,%edx
41e35d:	8b ce                	mov    %esi,%ecx
41e35f:	8b c3                	mov    %ebx,%eax
41e361:	e8 2a f2 ff ff       	call   0x41d590
41e366:	8b 43 10             	mov    0x10(%ebx),%eax
41e369:	8b 44 f0 04          	mov    0x4(%eax,%esi,8),%eax
41e36d:	5e                   	pop    %esi
41e36e:	5b                   	pop    %ebx
41e36f:	c3                   	ret
41e370:	56                   	push   %esi
41e371:	8b 50 18             	mov    0x18(%eax),%edx
41e374:	83 fa 40             	cmp    $0x40,%edx
41e377:	7e 0e                	jle    0x41e387
41e379:	8b f2                	mov    %edx,%esi
41e37b:	85 f6                	test   %esi,%esi
41e37d:	79 03                	jns    0x41e382
41e37f:	83 c6 03             	add    $0x3,%esi
41e382:	c1 fe 02             	sar    $0x2,%esi
41e385:	eb 11                	jmp    0x41e398
41e387:	83 fa 08             	cmp    $0x8,%edx
41e38a:	7e 07                	jle    0x41e393
41e38c:	be 10 00 00 00       	mov    $0x10,%esi
41e391:	eb 05                	jmp    0x41e398
41e393:	be 04 00 00 00       	mov    $0x4,%esi
41e398:	03 f2                	add    %edx,%esi
41e39a:	8b d6                	mov    %esi,%edx
41e39c:	8b 08                	mov    (%eax),%ecx
41e39e:	ff 51 28             	call   *0x28(%ecx)
41e3a1:	5e                   	pop    %esi
41e3a2:	c3                   	ret
41e3a3:	90                   	nop
41e3a4:	53                   	push   %ebx
41e3a5:	56                   	push   %esi
41e3a6:	51                   	push   %ecx
41e3a7:	8b f2                	mov    %edx,%esi
41e3a9:	8b d8                	mov    %eax,%ebx
41e3ab:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41e3af:	75 0e                	jne    0x41e3bf
41e3b1:	8b d6                	mov    %esi,%edx
41e3b3:	8b c3                	mov    %ebx,%eax
41e3b5:	e8 2a f5 ff ff       	call   0x41d8e4
41e3ba:	89 04 24             	mov    %eax,(%esp)
41e3bd:	eb 19                	jmp    0x41e3d8
41e3bf:	8b cc                	mov    %esp,%ecx
41e3c1:	8b d6                	mov    %esi,%edx
41e3c3:	8b c3                	mov    %ebx,%eax
41e3c5:	8b 18                	mov    (%eax),%ebx
41e3c7:	ff 93 8c 00 00 00    	call   *0x8c(%ebx)
41e3cd:	84 c0                	test   %al,%al
41e3cf:	75 07                	jne    0x41e3d8
41e3d1:	c7 04 24 ff ff ff ff 	movl   $0xffffffff,(%esp)
41e3d8:	8b 04 24             	mov    (%esp),%eax
41e3db:	5a                   	pop    %edx
41e3dc:	5e                   	pop    %esi
41e3dd:	5b                   	pop    %ebx
41e3de:	c3                   	ret
41e3df:	90                   	nop
41e3e0:	53                   	push   %ebx
41e3e1:	56                   	push   %esi
41e3e2:	8b f0                	mov    %eax,%esi
41e3e4:	6a 00                	push   $0x0
41e3e6:	8b c6                	mov    %esi,%eax
41e3e8:	8b 18                	mov    (%eax),%ebx
41e3ea:	ff 53 64             	call   *0x64(%ebx)
41e3ed:	5e                   	pop    %esi
41e3ee:	5b                   	pop    %ebx
41e3ef:	c3                   	ret
41e3f0:	55                   	push   %ebp
41e3f1:	8b ec                	mov    %esp,%ebp
41e3f3:	53                   	push   %ebx
41e3f4:	56                   	push   %esi
41e3f5:	57                   	push   %edi
41e3f6:	8b f9                	mov    %ecx,%edi
41e3f8:	8b f2                	mov    %edx,%esi
41e3fa:	8b d8                	mov    %eax,%ebx
41e3fc:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41e400:	74 0f                	je     0x41e411
41e402:	8b 15 84 6e 6a 00    	mov    0x6a6e84,%edx
41e408:	33 c9                	xor    %ecx,%ecx
41e40a:	8b c3                	mov    %ebx,%eax
41e40c:	e8 7f f1 ff ff       	call   0x41d590
41e411:	85 f6                	test   %esi,%esi
41e413:	7c 05                	jl     0x41e41a
41e415:	3b 73 14             	cmp    0x14(%ebx),%esi
41e418:	7e 0f                	jle    0x41e429
41e41a:	8b 15 dc 70 6a 00    	mov    0x6a70dc,%edx
41e420:	8b ce                	mov    %esi,%ecx
41e422:	8b c3                	mov    %ebx,%eax
41e424:	e8 67 f1 ff ff       	call   0x41d590
41e429:	8b 45 08             	mov    0x8(%ebp),%eax
41e42c:	50                   	push   %eax
41e42d:	8b cf                	mov    %edi,%ecx
41e42f:	8b d6                	mov    %esi,%edx
41e431:	8b c3                	mov    %ebx,%eax
41e433:	8b 18                	mov    (%eax),%ebx
41e435:	ff 93 88 00 00 00    	call   *0x88(%ebx)
41e43b:	5f                   	pop    %edi
41e43c:	5e                   	pop    %esi
41e43d:	5b                   	pop    %ebx
41e43e:	5d                   	pop    %ebp
41e43f:	c2 04 00             	ret    $0x4
41e442:	8b c0                	mov    %eax,%eax
41e444:	55                   	push   %ebp
41e445:	8b ec                	mov    %esp,%ebp
41e447:	53                   	push   %ebx
41e448:	56                   	push   %esi
41e449:	57                   	push   %edi
41e44a:	8b f9                	mov    %ecx,%edi
41e44c:	8b f2                	mov    %edx,%esi
41e44e:	8b d8                	mov    %eax,%ebx
41e450:	8b c3                	mov    %ebx,%eax
41e452:	8b 10                	mov    (%eax),%edx
41e454:	ff 92 84 00 00 00    	call   *0x84(%edx)
41e45a:	8b 43 14             	mov    0x14(%ebx),%eax
41e45d:	3b 43 18             	cmp    0x18(%ebx),%eax
41e460:	75 07                	jne    0x41e469
41e462:	8b c3                	mov    %ebx,%eax
41e464:	e8 07 ff ff ff       	call   0x41e370
41e469:	8b 43 14             	mov    0x14(%ebx),%eax
41e46c:	3b f0                	cmp    %eax,%esi
41e46e:	7d 1d                	jge    0x41e48d
41e470:	8b 53 10             	mov    0x10(%ebx),%edx
41e473:	8d 54 f2 08          	lea    0x8(%edx,%esi,8),%edx
41e477:	52                   	push   %edx
41e478:	8b 53 10             	mov    0x10(%ebx),%edx
41e47b:	8d 14 f2             	lea    (%edx,%esi,8),%edx
41e47e:	2b c6                	sub    %esi,%eax
41e480:	8b c8                	mov    %eax,%ecx
41e482:	c1 e1 03             	shl    $0x3,%ecx
41e485:	8b c2                	mov    %edx,%eax
41e487:	5a                   	pop    %edx
41e488:	e8 93 45 fe ff       	call   0x402a20
41e48d:	8b 43 10             	mov    0x10(%ebx),%eax
41e490:	8d 04 f0             	lea    (%eax,%esi,8),%eax
41e493:	8b f0                	mov    %eax,%esi
41e495:	33 c0                	xor    %eax,%eax
41e497:	89 06                	mov    %eax,(%esi)
41e499:	8b 45 08             	mov    0x8(%ebp),%eax
41e49c:	89 46 04             	mov    %eax,0x4(%esi)
41e49f:	8b c6                	mov    %esi,%eax
41e4a1:	8b d7                	mov    %edi,%edx
41e4a3:	e8 14 64 fe ff       	call   0x4048bc
41e4a8:	ff 43 14             	incl   0x14(%ebx)
41e4ab:	8b c3                	mov    %ebx,%eax
41e4ad:	8b 10                	mov    (%eax),%edx
41e4af:	ff 92 80 00 00 00    	call   *0x80(%edx)
41e4b5:	5f                   	pop    %edi
41e4b6:	5e                   	pop    %esi
41e4b7:	5b                   	pop    %ebx
41e4b8:	5d                   	pop    %ebp
41e4b9:	c2 04 00             	ret    $0x4
41e4bc:	53                   	push   %ebx
41e4bd:	56                   	push   %esi
41e4be:	57                   	push   %edi
41e4bf:	8b f9                	mov    %ecx,%edi
41e4c1:	8b f2                	mov    %edx,%esi
41e4c3:	8b d8                	mov    %eax,%ebx
41e4c5:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41e4c9:	74 0f                	je     0x41e4da
41e4cb:	8b 15 84 6e 6a 00    	mov    0x6a6e84,%edx
41e4d1:	33 c9                	xor    %ecx,%ecx
41e4d3:	8b c3                	mov    %ebx,%eax
41e4d5:	e8 b6 f0 ff ff       	call   0x41d590
41e4da:	85 f6                	test   %esi,%esi
41e4dc:	7c 05                	jl     0x41e4e3
41e4de:	3b 73 14             	cmp    0x14(%ebx),%esi
41e4e1:	7c 0f                	jl     0x41e4f2
41e4e3:	8b 15 dc 70 6a 00    	mov    0x6a70dc,%edx
41e4e9:	8b ce                	mov    %esi,%ecx
41e4eb:	8b c3                	mov    %ebx,%eax
41e4ed:	e8 9e f0 ff ff       	call   0x41d590
41e4f2:	8b c3                	mov    %ebx,%eax
41e4f4:	8b 10                	mov    (%eax),%edx
41e4f6:	ff 92 84 00 00 00    	call   *0x84(%edx)
41e4fc:	8b 43 10             	mov    0x10(%ebx),%eax
41e4ff:	8d 04 f0             	lea    (%eax,%esi,8),%eax
41e502:	8b d7                	mov    %edi,%edx
41e504:	e8 b3 63 fe ff       	call   0x4048bc
41e509:	8b c3                	mov    %ebx,%eax
41e50b:	8b 10                	mov    (%eax),%edx
41e50d:	ff 92 80 00 00 00    	call   *0x80(%edx)
41e513:	5f                   	pop    %edi
41e514:	5e                   	pop    %esi
41e515:	5b                   	pop    %ebx
41e516:	c3                   	ret
41e517:	90                   	nop
41e518:	53                   	push   %ebx
41e519:	56                   	push   %esi
41e51a:	57                   	push   %edi
41e51b:	8b f9                	mov    %ecx,%edi
41e51d:	8b f2                	mov    %edx,%esi
41e51f:	8b d8                	mov    %eax,%ebx
41e521:	85 f6                	test   %esi,%esi
41e523:	7c 05                	jl     0x41e52a
41e525:	3b 73 14             	cmp    0x14(%ebx),%esi
41e528:	7c 0f                	jl     0x41e539
41e52a:	8b 15 dc 70 6a 00    	mov    0x6a70dc,%edx
41e530:	8b ce                	mov    %esi,%ecx
41e532:	8b c3                	mov    %ebx,%eax
41e534:	e8 57 f0 ff ff       	call   0x41d590
41e539:	8b c3                	mov    %ebx,%eax
41e53b:	8b 10                	mov    (%eax),%edx
41e53d:	ff 92 84 00 00 00    	call   *0x84(%edx)
41e543:	8b 43 10             	mov    0x10(%ebx),%eax
41e546:	89 7c f0 04          	mov    %edi,0x4(%eax,%esi,8)
41e54a:	8b c3                	mov    %ebx,%eax
41e54c:	8b 10                	mov    (%eax),%edx
41e54e:	ff 92 80 00 00 00    	call   *0x80(%edx)
41e554:	5f                   	pop    %edi
41e555:	5e                   	pop    %esi
41e556:	5b                   	pop    %ebx
41e557:	c3                   	ret
41e558:	55                   	push   %ebp
41e559:	8b ec                	mov    %esp,%ebp
41e55b:	83 c4 f0             	add    $0xfffffff0,%esp
41e55e:	53                   	push   %ebx
41e55f:	56                   	push   %esi
41e560:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41e563:	89 55 f8             	mov    %edx,-0x8(%ebp)
41e566:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e569:	8b 5d f8             	mov    -0x8(%ebp),%ebx
41e56c:	8b 75 f4             	mov    -0xc(%ebp),%esi
41e56f:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e572:	03 45 f4             	add    -0xc(%ebp),%eax
41e575:	d1 e8                	shr    $1,%eax
41e577:	89 45 f0             	mov    %eax,-0x10(%ebp)
41e57a:	eb 01                	jmp    0x41e57d
41e57c:	43                   	inc    %ebx
41e57d:	8b 4d f0             	mov    -0x10(%ebp),%ecx