41a26b:	8b 10                	mov    (%eax),%edx
41a26d:	ff 92 84 00 00 00    	call   *0x84(%edx)
41a273:	8b 43 18             	mov    0x18(%ebx),%eax
41a276:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41a279:	8b 15 2c 62 41 00    	mov    0x41622c,%edx
41a27f:	e8 7c b0 fe ff       	call   0x405300
41a284:	33 c0                	xor    %eax,%eax
41a286:	89 43 1c             	mov    %eax,0x1c(%ebx)
41a289:	33 d2                	xor    %edx,%edx
41a28b:	8b c3                	mov    %ebx,%eax
41a28d:	8b 08                	mov    (%eax),%ecx
41a28f:	ff 51 28             	call   *0x28(%ecx)
41a292:	8b c3                	mov    %ebx,%eax
41a294:	8b 10                	mov    (%eax),%edx
41a296:	ff 92 80 00 00 00    	call   *0x80(%edx)
41a29c:	5b                   	pop    %ebx
41a29d:	c3                   	ret
41a29e:	8b c0                	mov    %eax,%eax
41a2a0:	53                   	push   %ebx
41a2a1:	56                   	push   %esi
41a2a2:	8b f2                	mov    %edx,%esi
41a2a4:	8b d8                	mov    %eax,%ebx
41a2a6:	85 f6                	test   %esi,%esi
41a2a8:	7c 05                	jl     0x41a2af
41a2aa:	3b 73 1c             	cmp    0x1c(%ebx),%esi
41a2ad:	7c 0f                	jl     0x41a2be
41a2af:	8b 15 3c 77 4a 00    	mov    0x4a773c,%edx
41a2b5:	8b ce                	mov    %esi,%ecx
41a2b7:	8b c3                	mov    %ebx,%eax
41a2b9:	e8 22 f3 ff ff       	call   0x4195e0
41a2be:	8b c3                	mov    %ebx,%eax
41a2c0:	8b 10                	mov    (%eax),%edx
41a2c2:	ff 92 84 00 00 00    	call   *0x84(%edx)
41a2c8:	8b 43 18             	mov    0x18(%ebx),%eax
41a2cb:	8d 04 f0             	lea    (%eax,%esi,8),%eax
41a2ce:	8b 15 2c 62 41 00    	mov    0x41622c,%edx
41a2d4:	e8 13 b1 fe ff       	call   0x4053ec
41a2d9:	ff 4b 1c             	decl   0x1c(%ebx)
41a2dc:	8b 43 1c             	mov    0x1c(%ebx),%eax
41a2df:	3b f0                	cmp    %eax,%esi
41a2e1:	7d 1c                	jge    0x41a2ff
41a2e3:	2b c6                	sub    %esi,%eax
41a2e5:	8b c8                	mov    %eax,%ecx
41a2e7:	03 c9                	add    %ecx,%ecx
41a2e9:	03 c9                	add    %ecx,%ecx
41a2eb:	03 c9                	add    %ecx,%ecx
41a2ed:	8b 43 18             	mov    0x18(%ebx),%eax
41a2f0:	8d 14 f0             	lea    (%eax,%esi,8),%edx
41a2f3:	8b 43 18             	mov    0x18(%ebx),%eax
41a2f6:	8d 44 f0 08          	lea    0x8(%eax,%esi,8),%eax
41a2fa:	e8 ed 8b fe ff       	call   0x402eec
41a2ff:	8b c3                	mov    %ebx,%eax
41a301:	8b 10                	mov    (%eax),%edx
41a303:	ff 92 80 00 00 00    	call   *0x80(%edx)
41a309:	5e                   	pop    %esi
41a30a:	5b                   	pop    %ebx
41a30b:	c3                   	ret
41a30c:	53                   	push   %ebx
41a30d:	56                   	push   %esi
41a30e:	57                   	push   %edi
41a30f:	8b f9                	mov    %ecx,%edi
41a311:	8b f2                	mov    %edx,%esi
41a313:	8b d8                	mov    %eax,%ebx
41a315:	85 f6                	test   %esi,%esi
41a317:	7c 05                	jl     0x41a31e
41a319:	3b 73 1c             	cmp    0x1c(%ebx),%esi
41a31c:	7c 0f                	jl     0x41a32d
41a31e:	8b 15 3c 77 4a 00    	mov    0x4a773c,%edx
41a324:	8b ce                	mov    %esi,%ecx
41a326:	8b c3                	mov    %ebx,%eax
41a328:	e8 b3 f2 ff ff       	call   0x4195e0
41a32d:	85 ff                	test   %edi,%edi
41a32f:	7c 05                	jl     0x41a336
41a331:	3b 7b 1c             	cmp    0x1c(%ebx),%edi
41a334:	7c 0f                	jl     0x41a345
41a336:	8b 15 3c 77 4a 00    	mov    0x4a773c,%edx
41a33c:	8b cf                	mov    %edi,%ecx
41a33e:	8b c3                	mov    %ebx,%eax
41a340:	e8 9b f2 ff ff       	call   0x4195e0
41a345:	8b c3                	mov    %ebx,%eax
41a347:	8b 10                	mov    (%eax),%edx
41a349:	ff 92 84 00 00 00    	call   *0x84(%edx)
41a34f:	8b cf                	mov    %edi,%ecx
41a351:	8b d6                	mov    %esi,%edx
41a353:	8b c3                	mov    %ebx,%eax
41a355:	e8 0e 00 00 00       	call   0x41a368
41a35a:	8b c3                	mov    %ebx,%eax
41a35c:	8b 10                	mov    (%eax),%edx
41a35e:	ff 92 80 00 00 00    	call   *0x80(%edx)
41a364:	5f                   	pop    %edi
41a365:	5e                   	pop    %esi
41a366:	5b                   	pop    %ebx
41a367:	c3                   	ret
41a368:	53                   	push   %ebx
41a369:	8b 58 18             	mov    0x18(%eax),%ebx
41a36c:	8d 14 d3             	lea    (%ebx,%edx,8),%edx
41a36f:	8b 40 18             	mov    0x18(%eax),%eax
41a372:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
41a375:	8b 0a                	mov    (%edx),%ecx
41a377:	8b 18                	mov    (%eax),%ebx
41a379:	89 1a                	mov    %ebx,(%edx)
41a37b:	89 08                	mov    %ecx,(%eax)
41a37d:	8b 4a 04             	mov    0x4(%edx),%ecx
41a380:	8b 58 04             	mov    0x4(%eax),%ebx
41a383:	89 5a 04             	mov    %ebx,0x4(%edx)
41a386:	89 48 04             	mov    %ecx,0x4(%eax)
41a389:	5b                   	pop    %ebx
41a38a:	c3                   	ret
41a38b:	90                   	nop
41a38c:	53                   	push   %ebx
41a38d:	56                   	push   %esi
41a38e:	57                   	push   %edi
41a38f:	55                   	push   %ebp
41a390:	83 c4 ec             	add    $0xffffffec,%esp
41a393:	89 4c 24 04          	mov    %ecx,0x4(%esp)
41a397:	89 14 24             	mov    %edx,(%esp)
41a39a:	8b f8                	mov    %eax,%edi
41a39c:	c6 44 24 08 00       	movb   $0x0,0x8(%esp)
41a3a1:	33 f6                	xor    %esi,%esi
41a3a3:	8b 47 1c             	mov    0x1c(%edi),%eax
41a3a6:	48                   	dec    %eax
41a3a7:	89 44 24 0c          	mov    %eax,0xc(%esp)
41a3ab:	3b 74 24 0c          	cmp    0xc(%esp),%esi
41a3af:	7f 49                	jg     0x41a3fa
41a3b1:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
41a3b5:	03 de                	add    %esi,%ebx
41a3b7:	d1 eb                	shr    $1,%ebx
41a3b9:	8b 47 18             	mov    0x18(%edi),%eax
41a3bc:	8b 14 d8             	mov    (%eax,%ebx,8),%edx
41a3bf:	8b 0c 24             	mov    (%esp),%ecx
41a3c2:	8b c7                	mov    %edi,%eax
41a3c4:	8b 28                	mov    (%eax),%ebp
41a3c6:	ff 55 34             	call   *0x34(%ebp)
41a3c9:	89 44 24 10          	mov    %eax,0x10(%esp)
41a3cd:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
41a3d2:	7d 05                	jge    0x41a3d9
41a3d4:	8d 73 01             	lea    0x1(%ebx),%esi
41a3d7:	eb 1b                	jmp    0x41a3f4
41a3d9:	8b c3                	mov    %ebx,%eax
41a3db:	48                   	dec    %eax
41a3dc:	89 44 24 0c          	mov    %eax,0xc(%esp)
41a3e0:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
41a3e5:	75 0d                	jne    0x41a3f4
41a3e7:	c6 44 24 08 01       	movb   $0x1,0x8(%esp)
41a3ec:	80 7f 25 01          	cmpb   $0x1,0x25(%edi)
41a3f0:	74 02                	je     0x41a3f4
41a3f2:	8b f3                	mov    %ebx,%esi
41a3f4:	3b 74 24 0c          	cmp    0xc(%esp),%esi
41a3f8:	7e b7                	jle    0x41a3b1
41a3fa:	8b 44 24 04          	mov    0x4(%esp),%eax
41a3fe:	89 30                	mov    %esi,(%eax)
41a400:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
41a405:	83 c4 14             	add    $0x14,%esp
41a408:	5d                   	pop    %ebp
41a409:	5f                   	pop    %edi
41a40a:	5e                   	pop    %esi
41a40b:	5b                   	pop    %ebx
41a40c:	c3                   	ret
41a40d:	8d 40 00             	lea    0x0(%eax),%eax
41a410:	53                   	push   %ebx
41a411:	56                   	push   %esi
41a412:	57                   	push   %edi
41a413:	8b f9                	mov    %ecx,%edi
41a415:	8b f2                	mov    %edx,%esi
41a417:	8b d8                	mov    %eax,%ebx
41a419:	85 f6                	test   %esi,%esi
41a41b:	7c 05                	jl     0x41a422
41a41d:	3b 73 1c             	cmp    0x1c(%ebx),%esi
41a420:	7c 0f                	jl     0x41a431
41a422:	8b 15 3c 77 4a 00    	mov    0x4a773c,%edx
41a428:	8b ce                	mov    %esi,%ecx
41a42a:	8b c3                	mov    %ebx,%eax
41a42c:	e8 af f1 ff ff       	call   0x4195e0
41a431:	8b c7                	mov    %edi,%eax
41a433:	8b 53 18             	mov    0x18(%ebx),%edx
41a436:	8b 14 f2             	mov    (%edx,%esi,8),%edx
41a439:	e8 5e a3 fe ff       	call   0x40479c
41a43e:	5f                   	pop    %edi
41a43f:	5e                   	pop    %esi
41a440:	5b                   	pop    %ebx
41a441:	c3                   	ret
41a442:	8b c0                	mov    %eax,%eax
41a444:	8b 40 20             	mov    0x20(%eax),%eax
41a447:	c3                   	ret
41a448:	8b 40 1c             	mov    0x1c(%eax),%eax
41a44b:	c3                   	ret
41a44c:	53                   	push   %ebx
41a44d:	56                   	push   %esi
41a44e:	8b f2                	mov    %edx,%esi
41a450:	8b d8                	mov    %eax,%ebx
41a452:	85 f6                	test   %esi,%esi
41a454:	7c 05                	jl     0x41a45b
41a456:	3b 73 1c             	cmp    0x1c(%ebx),%esi
41a459:	7c 0f                	jl     0x41a46a
41a45b:	8b 15 3c 77 4a 00    	mov    0x4a773c,%edx
41a461:	8b ce                	mov    %esi,%ecx
41a463:	8b c3                	mov    %ebx,%eax
41a465:	e8 76 f1 ff ff       	call   0x4195e0
41a46a:	8b 43 18             	mov    0x18(%ebx),%eax
41a46d:	8b 44 f0 04          	mov    0x4(%eax,%esi,8),%eax
41a471:	5e                   	pop    %esi
41a472:	5b                   	pop    %ebx
41a473:	c3                   	ret
41a474:	56                   	push   %esi
41a475:	8b 50 20             	mov    0x20(%eax),%edx
41a478:	83 fa 40             	cmp    $0x40,%edx
41a47b:	7e 0e                	jle    0x41a48b
41a47d:	8b f2                	mov    %edx,%esi
41a47f:	85 f6                	test   %esi,%esi
41a481:	79 03                	jns    0x41a486
41a483:	83 c6 03             	add    $0x3,%esi
41a486:	c1 fe 02             	sar    $0x2,%esi
41a489:	eb 11                	jmp    0x41a49c
41a48b:	83 fa 08             	cmp    $0x8,%edx
41a48e:	7e 07                	jle    0x41a497
41a490:	be 10 00 00 00       	mov    $0x10,%esi
41a495:	eb 05                	jmp    0x41a49c
41a497:	be 04 00 00 00       	mov    $0x4,%esi
41a49c:	03 f2                	add    %edx,%esi
41a49e:	8b d6                	mov    %esi,%edx
41a4a0:	8b 08                	mov    (%eax),%ecx
41a4a2:	ff 51 28             	call   *0x28(%ecx)
41a4a5:	5e                   	pop    %esi
41a4a6:	c3                   	ret
41a4a7:	90                   	nop
41a4a8:	53                   	push   %ebx
41a4a9:	56                   	push   %esi
41a4aa:	51                   	push   %ecx
41a4ab:	8b f2                	mov    %edx,%esi
41a4ad:	8b d8                	mov    %eax,%ebx
41a4af:	80 7b 24 00          	cmpb   $0x0,0x24(%ebx)
41a4b3:	75 0e                	jne    0x41a4c3
41a4b5:	8b d6                	mov    %esi,%edx
41a4b7:	8b c3                	mov    %ebx,%eax
41a4b9:	e8 fe f3 ff ff       	call   0x4198bc
41a4be:	89 04 24             	mov    %eax,(%esp)
41a4c1:	eb 19                	jmp    0x41a4dc
41a4c3:	8b cc                	mov    %esp,%ecx
41a4c5:	8b d6                	mov    %esi,%edx
41a4c7:	8b c3                	mov    %ebx,%eax
41a4c9:	8b 18                	mov    (%eax),%ebx
41a4cb:	ff 93 8c 00 00 00    	call   *0x8c(%ebx)
41a4d1:	84 c0                	test   %al,%al
41a4d3:	75 07                	jne    0x41a4dc
41a4d5:	c7 04 24 ff ff ff ff 	movl   $0xffffffff,(%esp)
41a4dc:	8b 04 24             	mov    (%esp),%eax
41a4df:	5a                   	pop    %edx
41a4e0:	5e                   	pop    %esi
41a4e1:	5b                   	pop    %ebx
41a4e2:	c3                   	ret
41a4e3:	90                   	nop
41a4e4:	53                   	push   %ebx
41a4e5:	56                   	push   %esi
41a4e6:	8b f0                	mov    %eax,%esi
41a4e8:	6a 00                	push   $0x0
41a4ea:	8b c6                	mov    %esi,%eax
41a4ec:	8b 18                	mov    (%eax),%ebx
41a4ee:	ff 53 64             	call   *0x64(%ebx)
41a4f1:	5e                   	pop    %esi
41a4f2:	5b                   	pop    %ebx
41a4f3:	c3                   	ret
41a4f4:	55                   	push   %ebp
41a4f5:	8b ec                	mov    %esp,%ebp
41a4f7:	53                   	push   %ebx
41a4f8:	56                   	push   %esi
41a4f9:	57                   	push   %edi
41a4fa:	8b f9                	mov    %ecx,%edi
41a4fc:	8b f2                	mov    %edx,%esi
41a4fe:	8b d8                	mov    %eax,%ebx
41a500:	80 7b 24 00          	cmpb   $0x0,0x24(%ebx)
41a504:	74 0f                	je     0x41a515
41a506:	8b 15 90 75 4a 00    	mov    0x4a7590,%edx
41a50c:	33 c9                	xor    %ecx,%ecx
41a50e:	8b c3                	mov    %ebx,%eax
41a510:	e8 cb f0 ff ff       	call   0x4195e0
41a515:	85 f6                	test   %esi,%esi
41a517:	7c 05                	jl     0x41a51e
41a519:	3b 73 1c             	cmp    0x1c(%ebx),%esi
41a51c:	7e 0f                	jle    0x41a52d
41a51e:	8b 15 3c 77 4a 00    	mov    0x4a773c,%edx
41a524:	8b ce                	mov    %esi,%ecx
41a526:	8b c3                	mov    %ebx,%eax
41a528:	e8 b3 f0 ff ff       	call   0x4195e0
41a52d:	8b 45 08             	mov    0x8(%ebp),%eax
41a530:	50                   	push   %eax
41a531:	8b cf                	mov    %edi,%ecx
41a533:	8b d6                	mov    %esi,%edx
41a535:	8b c3                	mov    %ebx,%eax
41a537:	8b 18                	mov    (%eax),%ebx
41a539:	ff 93 88 00 00 00    	call   *0x88(%ebx)
41a53f:	5f                   	pop    %edi
41a540:	5e                   	pop    %esi
41a541:	5b                   	pop    %ebx
41a542:	5d                   	pop    %ebp
41a543:	c2 04 00             	ret    $0x4
41a546:	8b c0                	mov    %eax,%eax
41a548:	55                   	push   %ebp
41a549:	8b ec                	mov    %esp,%ebp
41a54b:	53                   	push   %ebx
41a54c:	56                   	push   %esi
41a54d:	57                   	push   %edi
41a54e:	8b f9                	mov    %ecx,%edi
41a550:	8b f2                	mov    %edx,%esi
41a552:	8b d8                	mov    %eax,%ebx
41a554:	8b c3                	mov    %ebx,%eax
41a556:	8b 10                	mov    (%eax),%edx
41a558:	ff 92 84 00 00 00    	call   *0x84(%edx)
41a55e:	8b 43 1c             	mov    0x1c(%ebx),%eax
41a561:	3b 43 20             	cmp    0x20(%ebx),%eax
41a564:	75 07                	jne    0x41a56d
41a566:	8b c3                	mov    %ebx,%eax
41a568:	e8 07 ff ff ff       	call   0x41a474
41a56d:	8b 43 1c             	mov    0x1c(%ebx),%eax
41a570:	3b f0                	cmp    %eax,%esi
41a572:	7d 20                	jge    0x41a594
41a574:	8b 53 18             	mov    0x18(%ebx),%edx
41a577:	8d 54 f2 08          	lea    0x8(%edx,%esi,8),%edx
41a57b:	52                   	push   %edx
41a57c:	8b 53 18             	mov    0x18(%ebx),%edx
41a57f:	8d 14 f2             	lea    (%edx,%esi,8),%edx
41a582:	2b c6                	sub    %esi,%eax
41a584:	8b c8                	mov    %eax,%ecx
41a586:	03 c9                	add    %ecx,%ecx
41a588:	03 c9                	add    %ecx,%ecx
41a58a:	03 c9                	add    %ecx,%ecx
41a58c:	8b c2                	mov    %edx,%eax
41a58e:	5a                   	pop    %edx
41a58f:	e8 58 89 fe ff       	call   0x402eec
41a594:	8b 43 18             	mov    0x18(%ebx),%eax
41a597:	8d 04 f0             	lea    (%eax,%esi,8),%eax
41a59a:	8b f0                	mov    %eax,%esi
41a59c:	33 c0                	xor    %eax,%eax
41a59e:	89 06                	mov    %eax,(%esi)
41a5a0:	8b 45 08             	mov    0x8(%ebp),%eax
41a5a3:	89 46 04             	mov    %eax,0x4(%esi)
41a5a6:	8b c6                	mov    %esi,%eax
41a5a8:	8b d7                	mov    %edi,%edx
41a5aa:	e8 ed a1 fe ff       	call   0x40479c
41a5af:	ff 43 1c             	incl   0x1c(%ebx)
41a5b2:	8b c3                	mov    %ebx,%eax
41a5b4:	8b 10                	mov    (%eax),%edx
41a5b6:	ff 92 80 00 00 00    	call   *0x80(%edx)
41a5bc:	5f                   	pop    %edi
41a5bd:	5e                   	pop    %esi
41a5be:	5b                   	pop    %ebx
41a5bf:	5d                   	pop    %ebp
41a5c0:	c2 04 00             	ret    $0x4
41a5c3:	90                   	nop
41a5c4:	53                   	push   %ebx
41a5c5:	56                   	push   %esi