40a363:	c3                   	ret
40a364:	83 f8 00             	cmp    $0x0,%eax
40a367:	74 37                	je     0x40a3a0
40a369:	53                   	push   %ebx
40a36a:	93                   	xchg   %eax,%ebx
40a36b:	fe 05 94 98 42 00    	incb   0x429894
40a371:	8b 03                	mov    (%ebx),%eax
40a373:	89 05 98 98 42 00    	mov    %eax,0x429898
40a379:	e8 f6 af ff ff       	call   0x405374
40a37e:	eb 0c                	jmp    0x40a38c
40a380:	e8 d3 a7 ff ff       	call   0x404b58
40a385:	8b 03                	mov    (%ebx),%eax
40a387:	e8 d8 19 00 00       	call   0x40bd64
40a38c:	0f b6 0d 95 98 42 00 	movzbl 0x429895,%ecx
40a393:	e3 eb                	jecxz  0x40a380
40a395:	8b 0b                	mov    (%ebx),%ecx
40a397:	93                   	xchg   %eax,%ebx
40a398:	5b                   	pop    %ebx
40a399:	e3 05                	jecxz  0x40a3a0
40a39b:	e8 78 ff ff ff       	call   0x40a318
40a3a0:	c3                   	ret
40a3a1:	8d 40 00             	lea    0x0(%eax),%eax
40a3a4:	8b 48 30             	mov    0x30(%eax),%ecx
40a3a7:	e3 10                	jecxz  0x40a3b9
40a3a9:	8b 90 a4 00 00 00    	mov    0xa4(%eax),%edx
40a3af:	3b 91 a4 00 00 00    	cmp    0xa4(%ecx),%edx
40a3b5:	91                   	xchg   %eax,%ecx
40a3b6:	74 ec                	je     0x40a3a4
40a3b8:	91                   	xchg   %eax,%ecx
40a3b9:	91                   	xchg   %eax,%ecx
40a3ba:	8b 41 48             	mov    0x48(%ecx),%eax
40a3bd:	85 c0                	test   %eax,%eax
40a3bf:	75 16                	jne    0x40a3d7
40a3c1:	51                   	push   %ecx
40a3c2:	8b 81 a4 00 00 00    	mov    0xa4(%ecx),%eax
40a3c8:	e8 97 00 00 00       	call   0x40a464
40a3cd:	50                   	push   %eax
40a3ce:	e8 1d a5 ff ff       	call   0x4048f0
40a3d3:	59                   	pop    %ecx
40a3d4:	89 41 48             	mov    %eax,0x48(%ecx)
40a3d7:	c3                   	ret
40a3d8:	56                   	push   %esi
40a3d9:	ff 70 30             	push   0x30(%eax)
40a3dc:	e8 a7 1b 00 00       	call   0x40bf88
40a3e1:	96                   	xchg   %eax,%esi
40a3e2:	59                   	pop    %ecx
40a3e3:	e3 09                	jecxz  0x40a3ee
40a3e5:	91                   	xchg   %eax,%ecx
40a3e6:	e8 9d 1b 00 00       	call   0x40bf88
40a3eb:	89 46 1d             	mov    %eax,0x1d(%esi)
40a3ee:	96                   	xchg   %eax,%esi
40a3ef:	e8 dc 01 00 00       	call   0x40a5d0
40a3f4:	5e                   	pop    %esi
40a3f5:	c3                   	ret
40a3f6:	8b c0                	mov    %eax,%eax
40a3f8:	c7 05 44 61 42 00 d8 	movl   $0x40a3d8,0x426144
40a3ff:	a3 40 00
40a402:	e8 bd af ff ff       	call   0x4053c4
40a407:	c7 40 6d f8 a3 40 00 	movl   $0x40a3f8,0x6d(%eax)
40a40e:	c6 40 18 00          	movb   $0x0,0x18(%eax)
40a412:	c7 40 71 28 a6 40 00 	movl   $0x40a628,0x71(%eax)
40a419:	c7 40 2d 0f 00 00 80 	movl   $0x8000000f,0x2d(%eax)
40a420:	c3                   	ret
40a421:	8d 40 00             	lea    0x0(%eax),%eax
40a424:	b8 f4 bf 40 00       	mov    $0x40bff4,%eax
40a429:	89 05 60 62 42 00    	mov    %eax,0x426260
40a42f:	e8 90 af ff ff       	call   0x4053c4
40a434:	c7 40 6d 24 a4 40 00 	movl   $0x40a424,0x6d(%eax)
40a43b:	c6 40 18 01          	movb   $0x1,0x18(%eax)
40a43f:	c7 40 71 6c 54 40 00 	movl   $0x40546c,0x71(%eax)
40a446:	8b 15 10 61 42 00    	mov    0x426110,%edx
40a44c:	89 50 2d             	mov    %edx,0x2d(%eax)
40a44f:	50                   	push   %eax
40a450:	8d 50 31             	lea    0x31(%eax),%edx
40a453:	b8 d4 60 42 00       	mov    $0x4260d4,%eax
40a458:	31 c9                	xor    %ecx,%ecx
40a45a:	b1 3c                	mov    $0x3c,%cl
40a45c:	e8 e3 84 ff ff       	call   0x402944
40a461:	58                   	pop    %eax
40a462:	c3                   	ret
40a463:	90                   	nop
40a464:	0f ba f0 1f          	btr    $0x1f,%eax
40a468:	73 09                	jae    0x40a473
40a46a:	83 e0 7f             	and    $0x7f,%eax
40a46d:	50                   	push   %eax
40a46e:	e8 fd a5 ff ff       	call   0x404a70
40a473:	c3                   	ret
40a474:	e8 eb ff ff ff       	call   0x40a464
40a479:	86 e0                	xchg   %ah,%al
40a47b:	c1 c8 10             	ror    $0x10,%eax
40a47e:	86 e0                	xchg   %ah,%al
40a480:	c1 e8 08             	shr    $0x8,%eax
40a483:	c3                   	ret
40a484:	89 c2                	mov    %eax,%edx
40a486:	c1 ea 13             	shr    $0x13,%edx
40a489:	83 e2 1f             	and    $0x1f,%edx
40a48c:	89 c1                	mov    %eax,%ecx
40a48e:	c1 e9 05             	shr    $0x5,%ecx
40a491:	81 e1 e0 07 00 00    	and    $0x7e0,%ecx
40a497:	88 c4                	mov    %al,%ah
40a499:	25 00 f8 00 00       	and    $0xf800,%eax
40a49e:	09 d0                	or     %edx,%eax
40a4a0:	09 c8                	or     %ecx,%eax
40a4a2:	c3                   	ret
40a4a3:	90                   	nop
40a4a4:	85 d2                	test   %edx,%edx
40a4a6:	75 08                	jne    0x40a4b0
40a4a8:	e8 63 fd ff ff       	call   0x40a210
40a4ad:	31 c0                	xor    %eax,%eax
40a4af:	c3                   	ret
40a4b0:	57                   	push   %edi
40a4b1:	89 d7                	mov    %edx,%edi
40a4b3:	85 c0                	test   %eax,%eax
40a4b5:	75 04                	jne    0x40a4bb
40a4b7:	92                   	xchg   %eax,%edx
40a4b8:	ff 50 6d             	call   *0x6d(%eax)
40a4bb:	39 f8                	cmp    %edi,%eax
40a4bd:	74 2c                	je     0x40a4eb
40a4bf:	53                   	push   %ebx
40a4c0:	93                   	xchg   %eax,%ebx
40a4c1:	8b 4b 19             	mov    0x19(%ebx),%ecx
40a4c4:	e3 05                	jecxz  0x40a4cb
40a4c6:	3b 4f 19             	cmp    0x19(%edi),%ecx
40a4c9:	74 1e                	je     0x40a4e9
40a4cb:	89 d8                	mov    %ebx,%eax
40a4cd:	e8 1e 00 00 00       	call   0x40a4f0
40a4d2:	8d 53 2d             	lea    0x2d(%ebx),%edx
40a4d5:	8d 47 2d             	lea    0x2d(%edi),%eax
40a4d8:	b9 40 00 00 00       	mov    $0x40,%ecx
40a4dd:	e8 62 84 ff ff       	call   0x402944
40a4e2:	89 d8                	mov    %ebx,%eax
40a4e4:	e8 07 00 00 00       	call   0x40a4f0
40a4e9:	93                   	xchg   %eax,%ebx
40a4ea:	5b                   	pop    %ebx
40a4eb:	5f                   	pop    %edi
40a4ec:	c3                   	ret
40a4ed:	8d 40 00             	lea    0x0(%eax),%eax
40a4f0:	31 c9                	xor    %ecx,%ecx
40a4f2:	87 48 19             	xchg   %ecx,0x19(%eax)
40a4f5:	e3 0d                	jecxz  0x40a504
40a4f7:	50                   	push   %eax
40a4f8:	51                   	push   %ecx
40a4f9:	e8 06 00 00 00       	call   0x40a504
40a4fe:	e8 fd a3 ff ff       	call   0x404900
40a503:	58                   	pop    %eax
40a504:	8b 48 25             	mov    0x25(%eax),%ecx
40a507:	e3 08                	jecxz  0x40a511
40a509:	50                   	push   %eax
40a50a:	92                   	xchg   %eax,%edx
40a50b:	8b 42 29             	mov    0x29(%edx),%eax
40a50e:	ff d1                	call   *%ecx
40a510:	58                   	pop    %eax
40a511:	c3                   	ret
40a512:	8b c0                	mov    %eax,%eax
40a514:	50                   	push   %eax
40a515:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
40a519:	74 0d                	je     0x40a528
40a51b:	8b 48 31             	mov    0x31(%eax),%ecx
40a51e:	e3 08                	jecxz  0x40a528
40a520:	51                   	push   %ecx
40a521:	e8 da a3 ff ff       	call   0x404900
40a526:	58                   	pop    %eax
40a527:	50                   	push   %eax
40a528:	8b 48 19             	mov    0x19(%eax),%ecx
40a52b:	e3 06                	jecxz  0x40a533
40a52d:	51                   	push   %ecx
40a52e:	e8 cd a3 ff ff       	call   0x404900
40a533:	58                   	pop    %eax
40a534:	e8 e7 fc ff ff       	call   0x40a220
40a539:	c3                   	ret
40a53a:	8b c0                	mov    %eax,%eax
40a53c:	50                   	push   %eax
40a53d:	e8 ae ff ff ff       	call   0x40a4f0
40a542:	5a                   	pop    %edx
40a543:	31 c0                	xor    %eax,%eax
40a545:	87 42 19             	xchg   %eax,0x19(%edx)
40a548:	c3                   	ret
40a549:	8d 40 00             	lea    0x0(%eax),%eax
40a54c:	8d 54 10 2d          	lea    0x2d(%eax,%edx,1),%edx
40a550:	39 0a                	cmp    %ecx,(%edx)
40a552:	74 07                	je     0x40a55b
40a554:	89 0a                	mov    %ecx,(%edx)
40a556:	e8 95 ff ff ff       	call   0x40a4f0
40a55b:	c3                   	ret
40a55c:	8b 50 45             	mov    0x45(%eax),%edx
40a55f:	81 e2 01 01 01 00    	and    $0x10101,%edx
40a565:	8b 40 41             	mov    0x41(%eax),%eax
40a568:	3d bc 02 00 00       	cmp    $0x2bc,%eax
40a56d:	0f 9d c0             	setge  %al
40a570:	01 d2                	add    %edx,%edx
40a572:	09 d0                	or     %edx,%eax
40a574:	c1 ea 07             	shr    $0x7,%edx
40a577:	09 d0                	or     %edx,%eax
40a579:	c1 ea 07             	shr    $0x7,%edx
40a57c:	09 d0                	or     %edx,%eax
40a57e:	c3                   	ret
40a57f:	90                   	nop
40a580:	57                   	push   %edi
40a581:	89 c7                	mov    %eax,%edi
40a583:	52                   	push   %edx
40a584:	e8 d3 ff ff ff       	call   0x40a55c
40a589:	5a                   	pop    %edx
40a58a:	38 d0                	cmp    %dl,%al
40a58c:	74 3d                	je     0x40a5cb
40a58e:	57                   	push   %edi
40a58f:	8d 7f 41             	lea    0x41(%edi),%edi
40a592:	8b 0f                	mov    (%edi),%ecx
40a594:	d1 ea                	shr    $1,%edx
40a596:	73 0f                	jae    0x40a5a7
40a598:	81 f9 bc 02 00 00    	cmp    $0x2bc,%ecx
40a59e:	7d 11                	jge    0x40a5b1
40a5a0:	b9 bc 02 00 00       	mov    $0x2bc,%ecx
40a5a5:	eb 0a                	jmp    0x40a5b1
40a5a7:	81 f9 bc 02 00 00    	cmp    $0x2bc,%ecx
40a5ad:	7c 02                	jl     0x40a5b1
40a5af:	31 c9                	xor    %ecx,%ecx
40a5b1:	91                   	xchg   %eax,%ecx
40a5b2:	ab                   	stos   %eax,%es:(%edi)
40a5b3:	d1 ea                	shr    $1,%edx
40a5b5:	0f 92 c0             	setb   %al
40a5b8:	aa                   	stos   %al,%es:(%edi)
40a5b9:	d1 ea                	shr    $1,%edx
40a5bb:	0f 92 c0             	setb   %al
40a5be:	aa                   	stos   %al,%es:(%edi)
40a5bf:	d1 ea                	shr    $1,%edx
40a5c1:	0f 92 c0             	setb   %al
40a5c4:	aa                   	stos   %al,%es:(%edi)
40a5c5:	58                   	pop    %eax
40a5c6:	e8 25 ff ff ff       	call   0x40a4f0
40a5cb:	5f                   	pop    %edi
40a5cc:	c3                   	ret
40a5cd:	8d 40 00             	lea    0x0(%eax),%eax
40a5d0:	53                   	push   %ebx
40a5d1:	93                   	xchg   %eax,%ebx
40a5d2:	8b 4b 19             	mov    0x19(%ebx),%ecx
40a5d5:	e3 1a                	jecxz  0x40a5f1
40a5d7:	8b 43 2d             	mov    0x2d(%ebx),%eax
40a5da:	e8 85 fe ff ff       	call   0x40a464
40a5df:	3b 43 21             	cmp    0x21(%ebx),%eax
40a5e2:	74 0d                	je     0x40a5f1
40a5e4:	89 d8                	mov    %ebx,%eax
40a5e6:	e8 51 ff ff ff       	call   0x40a53c
40a5eb:	50                   	push   %eax
40a5ec:	e8 0f a3 ff ff       	call   0x404900
40a5f1:	8b 4b 19             	mov    0x19(%ebx),%ecx
40a5f4:	41                   	inc    %ecx
40a5f5:	e2 2c                	loop   0x40a623
40a5f7:	8b 4b 1d             	mov    0x1d(%ebx),%ecx
40a5fa:	e3 17                	jecxz  0x40a613
40a5fc:	8d 51 2d             	lea    0x2d(%ecx),%edx
40a5ff:	8d 43 2d             	lea    0x2d(%ebx),%eax
40a602:	b9 40 00 00 00       	mov    $0x40,%ecx
40a607:	e8 cc b1 ff ff       	call   0x4057d8
40a60c:	84 c0                	test   %al,%al
40a60e:	8b 43 1d             	mov    0x1d(%ebx),%eax
40a611:	75 be                	jne    0x40a5d1
40a613:	8b 43 2d             	mov    0x2d(%ebx),%eax
40a616:	e8 49 fe ff ff       	call   0x40a464
40a61b:	89 43 21             	mov    %eax,0x21(%ebx)
40a61e:	93                   	xchg   %eax,%ebx
40a61f:	ff 50 71             	call   *0x71(%eax)
40a622:	91                   	xchg   %eax,%ecx
40a623:	91                   	xchg   %eax,%ecx
40a624:	5b                   	pop    %ebx
40a625:	c3                   	ret
40a626:	8b c0                	mov    %eax,%eax
40a628:	53                   	push   %ebx
40a629:	93                   	xchg   %eax,%ebx
40a62a:	8b 43 19             	mov    0x19(%ebx),%eax
40a62d:	85 c0                	test   %eax,%eax
40a62f:	75 3b                	jne    0x40a66c
40a631:	8b 43 2d             	mov    0x2d(%ebx),%eax
40a634:	e8 2b fe ff ff       	call   0x40a464
40a639:	31 d2                	xor    %edx,%edx
40a63b:	8b 4b 31             	mov    0x31(%ebx),%ecx
40a63e:	51                   	push   %ecx
40a63f:	e3 04                	jecxz  0x40a645
40a641:	b2 03                	mov    $0x3,%dl
40a643:	eb 19                	jmp    0x40a65e
40a645:	8a 4b 35             	mov    0x35(%ebx),%cl
40a648:	88 ca                	mov    %cl,%dl
40a64a:	80 e9 02             	sub    $0x2,%cl
40a64d:	7c 0f                	jl     0x40a65e
40a64f:	87 0c 24             	xchg   %ecx,(%esp)
40a652:	8b 43 36             	mov    0x36(%ebx),%eax
40a655:	e8 0a fe ff ff       	call   0x40a464
40a65a:	31 d2                	xor    %edx,%edx
40a65c:	b2 02                	mov    $0x2,%dl
40a65e:	50                   	push   %eax
40a65f:	52                   	push   %edx
40a660:	54                   	push   %esp
40a661:	e8 5a a2 ff ff       	call   0x4048c0
40a666:	89 43 19             	mov    %eax,0x19(%ebx)
40a669:	83 c4 0c             	add    $0xc,%esp
40a66c:	5b                   	pop    %ebx
40a66d:	c3                   	ret
40a66e:	8b c0                	mov    %eax,%eax
40a670:	53                   	push   %ebx
40a671:	89 c3                	mov    %eax,%ebx
40a673:	8b 48 29             	mov    0x29(%eax),%ecx
40a676:	e3 4e                	jecxz  0x40a6c6
40a678:	89 c8                	mov    %ecx,%eax
40a67a:	e8 51 ff ff ff       	call   0x40a5d0
40a67f:	50                   	push   %eax
40a680:	89 d8                	mov    %ebx,%eax
40a682:	e8 c9 02 00 00       	call   0x40a950
40a687:	89 d8                	mov    %ebx,%eax
40a689:	e8 a2 02 00 00       	call   0x40a930
40a68e:	50                   	push   %eax
40a68f:	e8 c4 a2 ff ff       	call   0x404958
40a694:	8b 53 29             	mov    0x29(%ebx),%edx
40a697:	80 7a 35 00          	cmpb   $0x0,0x35(%edx)
40a69b:	8b 42 2d             	mov    0x2d(%edx),%eax
40a69e:	8b 5b 1c             	mov    0x1c(%ebx),%ebx
40a6a1:	b9 64 a4 40 00       	mov    $0x40a464,%ecx
40a6a6:	75 09                	jne    0x40a6b1
40a6a8:	6a 02                	push   $0x2
40a6aa:	53                   	push   %ebx
40a6ab:	ff d1                	call   *%ecx
40a6ad:	50                   	push   %eax
40a6ae:	53                   	push   %ebx
40a6af:	eb 09                	jmp    0x40a6ba
40a6b1:	6a 01                	push   $0x1
40a6b3:	53                   	push   %ebx
40a6b4:	ff d1                	call   *%ecx
40a6b6:	f7 d0                	not    %eax
40a6b8:	50                   	push   %eax
40a6b9:	53                   	push   %ebx
40a6ba:	e8 a1 a2 ff ff       	call   0x404960
40a6bf:	e8 a4 a2 ff ff       	call   0x404968
40a6c4:	5b                   	pop    %ebx
40a6c5:	c3                   	ret
40a6c6:	8b 4b 18             	mov    0x18(%ebx),%ecx
40a6c9:	e3 f9                	jecxz  0x40a6c4
40a6cb:	8b 81 a4 00 00 00    	mov    0xa4(%ecx),%eax
40a6d1:	31 c9                	xor    %ecx,%ecx
40a6d3:	eb c9                	jmp    0x40a69e
40a6d5:	c3                   	ret
40a6d6:	8b c0                	mov    %eax,%eax
40a6d8:	53                   	push   %ebx
40a6d9:	89 c3                	mov    %eax,%ebx
40a6db:	8b 48 31             	mov    0x31(%eax),%ecx
40a6de:	e3 30                	jecxz  0x40a710
40a6e0:	8b 41 2d             	mov    0x2d(%ecx),%eax
40a6e3:	51                   	push   %ecx
40a6e4:	e8 7b fd ff ff       	call   0x40a464
40a6e9:	87 04 24             	xchg   %eax,(%esp)
40a6ec:	e8 df fe ff ff       	call   0x40a5d0
40a6f1:	50                   	push   %eax
40a6f2:	89 d8                	mov    %ebx,%eax