4013d8:	8b 40 04             	mov    0x4(%eax),%eax
4013db:	8b 70 04             	mov    0x4(%eax),%esi
4013de:	8b ce                	mov    %esi,%ecx
4013e0:	e8 07 08 00 00       	call   0x401bec
4013e5:	8a f8                	mov    %al,%bh
4013e7:	88 7c 24 0c          	mov    %bh,0xc(%esp)
4013eb:	84 ff                	test   %bh,%bh
4013ed:	75 7b                	jne    0x40146a
4013ef:	6a 0e                	push   $0xe
4013f1:	8b ce                	mov    %esi,%ecx
4013f3:	e8 ec c1 00 00       	call   0x40d5e4
4013f8:	8b ce                	mov    %esi,%ecx
4013fa:	84 c0                	test   %al,%al
4013fc:	0f 85 45 56 07 00    	jne    0x476a47
401402:	6a 02                	push   $0x2
401404:	5b                   	pop    %ebx
401405:	e8 62 7f 00 00       	call   0x40936c
40140a:	8b 4e 08             	mov    0x8(%esi),%ecx
40140d:	8b 01                	mov    (%ecx),%eax
40140f:	89 44 24 20          	mov    %eax,0x20(%esp)
401413:	8b 41 04             	mov    0x4(%ecx),%eax
401416:	89 44 24 24          	mov    %eax,0x24(%esp)
40141a:	8b 41 08             	mov    0x8(%ecx),%eax
40141d:	89 44 24 28          	mov    %eax,0x28(%esp)
401421:	8b 41 0c             	mov    0xc(%ecx),%eax
401424:	89 44 24 2c          	mov    %eax,0x2c(%esp)
401428:	ff 00                	incl   (%eax)
40142a:	8d 44 24 20          	lea    0x20(%esp),%eax
40142e:	50                   	push   %eax
40142f:	8d 4c 24 34          	lea    0x34(%esp),%ecx
401433:	e8 b5 5a 00 00       	call   0x406eed
401438:	f6 c3 02             	test   $0x2,%bl
40143b:	74 0c                	je     0x401449
40143d:	8d 4c 24 20          	lea    0x20(%esp),%ecx
401441:	83 e3 fd             	and    $0xfffffffd,%ebx
401444:	e8 ee b6 00 00       	call   0x40cb37
401449:	f6 c3 01             	test   $0x1,%bl
40144c:	0f 85 07 56 07 00    	jne    0x476a59
401452:	8d 44 24 30          	lea    0x30(%esp),%eax
401456:	50                   	push   %eax
401457:	8b cf                	mov    %edi,%ecx
401459:	e8 4c 08 00 00       	call   0x401caa
40145e:	85 c0                	test   %eax,%eax
401460:	0f 84 01 56 07 00    	je     0x476a67
401466:	8a 7c 24 0c          	mov    0xc(%esp),%bh
40146a:	8b 45 08             	mov    0x8(%ebp),%eax
40146d:	8b 40 04             	mov    0x4(%eax),%eax
401470:	8b 30                	mov    (%eax),%esi
401472:	8b ce                	mov    %esi,%ecx
401474:	e8 f3 7e 00 00       	call   0x40936c
401479:	8b 46 08             	mov    0x8(%esi),%eax
40147c:	8d 4c 24 20          	lea    0x20(%esp),%ecx
401480:	ff 30                	push   (%eax)
401482:	e8 92 b9 00 00       	call   0x40ce19
401487:	8d 44 24 0f          	lea    0xf(%esp),%eax
40148b:	50                   	push   %eax
40148c:	8d 44 24 12          	lea    0x12(%esp),%eax
401490:	50                   	push   %eax
401491:	8d 44 24 14          	lea    0x14(%esp),%eax
401495:	50                   	push   %eax
401496:	8d 44 24 19          	lea    0x19(%esp),%eax
40149a:	50                   	push   %eax
40149b:	8d 44 24 24          	lea    0x24(%esp),%eax
40149f:	50                   	push   %eax
4014a0:	8d 44 24 34          	lea    0x34(%esp),%eax
4014a4:	50                   	push   %eax
4014a5:	e8 77 0a 00 00       	call   0x401f21
4014aa:	8a d8                	mov    %al,%bl
4014ac:	f6 db                	neg    %bl
4014ae:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4014b2:	1a db                	sbb    %bl,%bl
4014b4:	e8 7e b6 00 00       	call   0x40cb37
4014b9:	fe c3                	inc    %bl
4014bb:	0f 85 cd 55 07 00    	jne    0x476a8e
4014c1:	8b 54 24 14          	mov    0x14(%esp),%edx
4014c5:	8a 4c 24 0c          	mov    0xc(%esp),%cl
4014c9:	89 54 24 18          	mov    %edx,0x18(%esp)
4014cd:	83 fa 13             	cmp    $0x13,%edx
4014d0:	0f 84 e1 55 07 00    	je     0x476ab7
4014d6:	80 7c 24 0d 00       	cmpb   $0x0,0xd(%esp)
4014db:	0f 85 ea 55 07 00    	jne    0x476acb
4014e1:	8b 44 24 10          	mov    0x10(%esp),%eax
4014e5:	84 c9                	test   %cl,%cl
4014e7:	0f 85 ea 55 07 00    	jne    0x476ad7
4014ed:	80 7c 24 0e 00       	cmpb   $0x0,0xe(%esp)
4014f2:	0f 85 eb 55 07 00    	jne    0x476ae3
4014f8:	80 7c 24 0f 00       	cmpb   $0x0,0xf(%esp)
4014fd:	0f 85 ec 55 07 00    	jne    0x476aef
401503:	8b 8f cc 01 00 00    	mov    0x1cc(%edi),%ecx
401509:	c1 e2 10             	shl    $0x10,%edx
40150c:	0b d0                	or     %eax,%edx
40150e:	33 f6                	xor    %esi,%esi
401510:	89 54 24 1c          	mov    %edx,0x1c(%esp)
401514:	85 c9                	test   %ecx,%ecx
401516:	0f 85 df 55 07 00    	jne    0x476afb
40151c:	84 ff                	test   %bh,%bh
40151e:	0f 85 81 55 07 00    	jne    0x476aa5
401524:	33 db                	xor    %ebx,%ebx
401526:	85 c9                	test   %ecx,%ecx
401528:	0f 85 59 56 07 00    	jne    0x476b87
40152e:	6a 28                	push   $0x28
401530:	3b d9                	cmp    %ecx,%ebx
401532:	0f 85 6d 56 07 00    	jne    0x476ba5
401538:	e8 ad df 01 00       	call   0x41f4ea
40153d:	59                   	pop    %ecx
40153e:	85 c0                	test   %eax,%eax
401540:	0f 84 b5 00 00 00    	je     0x4015fb
401546:	8b c8                	mov    %eax,%ecx
401548:	e8 42 13 00 00       	call   0x40288f
40154d:	89 44 24 14          	mov    %eax,0x14(%esp)
401551:	8d 44 24 14          	lea    0x14(%esp),%eax
401555:	50                   	push   %eax
401556:	8d 8f c4 01 00 00    	lea    0x1c4(%edi),%ecx
40155c:	e8 45 13 00 00       	call   0x4028a6
401561:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
401567:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
40156b:	8b 04 98             	mov    (%eax,%ebx,4),%eax
40156e:	8b 00                	mov    (%eax),%eax
401570:	89 18                	mov    %ebx,(%eax)
401572:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
401578:	8b 04 98             	mov    (%eax,%ebx,4),%eax
40157b:	8b 00                	mov    (%eax),%eax
40157d:	89 48 04             	mov    %ecx,0x4(%eax)
401580:	8d 44 24 30          	lea    0x30(%esp),%eax
401584:	50                   	push   %eax
401585:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
40158b:	8b 04 98             	mov    (%eax,%ebx,4),%eax
40158e:	8b 08                	mov    (%eax),%ecx
401590:	83 c1 08             	add    $0x8,%ecx
401593:	e8 55 59 00 00       	call   0x406eed
401598:	8b 4d 08             	mov    0x8(%ebp),%ecx
40159b:	8b 41 04             	mov    0x4(%ecx),%eax
40159e:	8b 30                	mov    (%eax),%esi
4015a0:	8b ce                	mov    %esi,%ecx
4015a2:	e8 c5 7d 00 00       	call   0x40936c
4015a7:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
4015ad:	ff 76 08             	push   0x8(%esi)
4015b0:	8b 04 98             	mov    (%eax,%ebx,4),%eax
4015b3:	8b 08                	mov    (%eax),%ecx
4015b5:	83 c1 18             	add    $0x18,%ecx
4015b8:	e8 30 59 00 00       	call   0x406eed
4015bd:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
4015c3:	ff 74 24 18          	push   0x18(%esp)
4015c7:	8b 04 98             	mov    (%eax,%ebx,4),%eax
4015ca:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4015ce:	8b 00                	mov    (%eax),%eax
4015d0:	51                   	push   %ecx
4015d1:	ff 30                	push   (%eax)
4015d3:	ff 35 e8 10 4c 00    	push   0x4c10e8
4015d9:	ff 15 bc d4 48 00    	call   *0x48d4bc
4015df:	85 c0                	test   %eax,%eax
4015e1:	0f 84 e5 55 07 00    	je     0x476bcc
4015e7:	8d 4c 24 30          	lea    0x30(%esp),%ecx
4015eb:	e8 47 b5 00 00       	call   0x40cb37
4015f0:	5f                   	pop    %edi
4015f1:	5e                   	pop    %esi
4015f2:	33 c0                	xor    %eax,%eax
4015f4:	5b                   	pop    %ebx
4015f5:	8b e5                	mov    %ebp,%esp
4015f7:	5d                   	pop    %ebp
4015f8:	c2 08 00             	ret    $0x8
4015fb:	83 64 24 14 00       	andl   $0x0,0x14(%esp)
401600:	e9 4c ff ff ff       	jmp    0x401551
401605:	55                   	push   %ebp
401606:	8b ec                	mov    %esp,%ebp
401608:	83 e4 f8             	and    $0xfffffff8,%esp
40160b:	81 ec bc 01 00 00    	sub    $0x1bc,%esp
401611:	53                   	push   %ebx
401612:	56                   	push   %esi
401613:	57                   	push   %edi
401614:	8b f9                	mov    %ecx,%edi
401616:	8b 4d 08             	mov    0x8(%ebp),%ecx
401619:	89 7c 24 3c          	mov    %edi,0x3c(%esp)
40161d:	8b 41 08             	mov    0x8(%ecx),%eax
401620:	89 44 24 1c          	mov    %eax,0x1c(%esp)
401624:	8b 41 04             	mov    0x4(%ecx),%eax
401627:	8b 30                	mov    (%eax),%esi
401629:	8b ce                	mov    %esi,%ecx
40162b:	e8 3c 7d 00 00       	call   0x40936c
401630:	8b 46 08             	mov    0x8(%esi),%eax
401633:	68 00 dc 49 00       	push   $0x49dc00
401638:	8b 30                	mov    (%eax),%esi
40163a:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
40163e:	89 74 24 14          	mov    %esi,0x14(%esp)
401642:	e8 de 12 00 00       	call   0x402925
401647:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40164a:	8b cb                	mov    %ebx,%ecx
40164c:	e8 cf 15 01 00       	call   0x412c20
401651:	83 23 00             	andl   $0x0,(%ebx)
401654:	8d 87 0c 01 00 00    	lea    0x10c(%edi),%eax
40165a:	89 44 24 44          	mov    %eax,0x44(%esp)
40165e:	8d 87 01 01 00 00    	lea    0x101(%edi),%eax
401664:	89 44 24 50          	mov    %eax,0x50(%esp)
401668:	8d 87 02 01 00 00    	lea    0x102(%edi),%eax
40166e:	89 44 24 5c          	mov    %eax,0x5c(%esp)
401672:	8d 87 10 01 00 00    	lea    0x110(%edi),%eax
401678:	89 84 24 b0 00 00 00 	mov    %eax,0xb0(%esp)
40167f:	8d 87 14 01 00 00    	lea    0x114(%edi),%eax
401685:	89 84 24 bc 00 00 00 	mov    %eax,0xbc(%esp)
40168c:	8d 87 18 01 00 00    	lea    0x118(%edi),%eax
401692:	b9 dc 18 4b 00       	mov    $0x4b18dc,%ecx
401697:	89 84 24 c8 00 00 00 	mov    %eax,0xc8(%esp)
40169e:	8d 87 04 01 00 00    	lea    0x104(%edi),%eax
4016a4:	89 4c 24 54          	mov    %ecx,0x54(%esp)
4016a8:	89 4c 24 60          	mov    %ecx,0x60(%esp)
4016ac:	89 8c 24 9c 00 00 00 	mov    %ecx,0x9c(%esp)
4016b3:	b9 20 1a 4b 00       	mov    $0x4b1a20,%ecx
4016b8:	89 84 24 d4 00 00 00 	mov    %eax,0xd4(%esp)
4016bf:	8d 87 03 01 00 00    	lea    0x103(%edi),%eax
4016c5:	ba a8 18 4b 00       	mov    $0x4b18a8,%edx
4016ca:	89 8c 24 b4 00 00 00 	mov    %ecx,0xb4(%esp)
4016d1:	89 8c 24 c0 00 00 00 	mov    %ecx,0xc0(%esp)
4016d8:	89 84 24 e0 00 00 00 	mov    %eax,0xe0(%esp)
4016df:	b9 dc 18 4b 00       	mov    $0x4b18dc,%ecx
4016e4:	8d 87 08 01 00 00    	lea    0x108(%edi),%eax
4016ea:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
4016f1:	c7 44 24 40 88 18 4b 	movl   $0x4b1888,0x40(%esp)
4016f8:	00
4016f9:	89 54 24 48          	mov    %edx,0x48(%esp)
4016fd:	c7 44 24 4c b8 18 4b 	movl   $0x4b18b8,0x4c(%esp)
401704:	00
401705:	c7 44 24 58 e4 18 4b 	movl   $0x4b18e4,0x58(%esp)
40170c:	00
40170d:	c7 44 24 64 08 19 4b 	movl   $0x4b1908,0x64(%esp)
401714:	00
401715:	c7 44 24 68 28 16 4c 	movl   $0x4c1628,0x68(%esp)
40171c:	00
40171d:	c7 44 24 6c 24 19 4b 	movl   $0x4b1924,0x6c(%esp)
401724:	00
401725:	c7 44 24 70 2c 19 4b 	movl   $0x4b192c,0x70(%esp)
40172c:	00
40172d:	c7 44 24 74 2c 16 4c 	movl   $0x4c162c,0x74(%esp)
401734:	00
401735:	89 54 24 78          	mov    %edx,0x78(%esp)
401739:	c7 44 24 7c 48 19 4b 	movl   $0x4b1948,0x7c(%esp)
401740:	00
401741:	c7 84 24 80 00 00 00 	movl   $0x4c163c,0x80(%esp)
401748:	3c 16 4c 00
40174c:	c7 84 24 84 00 00 00 	movl   $0x4b1974,0x84(%esp)
401753:	74 19 4b 00
401757:	c7 84 24 88 00 00 00 	movl   $0x4b1980,0x88(%esp)
40175e:	80 19 4b 00
401762:	c7 84 24 8c 00 00 00 	movl   $0x4c1638,0x8c(%esp)
401769:	38 16 4c 00
40176d:	c7 84 24 90 00 00 00 	movl   $0x4b19a0,0x90(%esp)
401774:	a0 19 4b 00
401778:	c7 84 24 94 00 00 00 	movl   $0x4b19b0,0x94(%esp)
40177f:	b0 19 4b 00
401783:	c7 84 24 98 00 00 00 	movl   $0x4c1634,0x98(%esp)
40178a:	34 16 4c 00
40178e:	c7 84 24 a0 00 00 00 	movl   $0x4b19d0,0xa0(%esp)
401795:	d0 19 4b 00
401799:	c7 84 24 a4 00 00 00 	movl   $0x4c1630,0xa4(%esp)
4017a0:	30 16 4c 00
4017a4:	c7 84 24 a8 00 00 00 	movl   $0x4b19ec,0xa8(%esp)
4017ab:	ec 19 4b 00
4017af:	c7 84 24 ac 00 00 00 	movl   $0x4b1a00,0xac(%esp)
4017b6:	00 1a 4b 00
4017ba:	c7 84 24 b8 00 00 00 	movl   $0x4b1a2c,0xb8(%esp)
4017c1:	2c 1a 4b 00
4017c5:	c7 84 24 c4 00 00 00 	movl   $0x4b1a54,0xc4(%esp)
4017cc:	54 1a 4b 00
4017d0:	c7 84 24 cc 00 00 00 	movl   $0x4b1a7c,0xcc(%esp)
4017d7:	7c 1a 4b 00
4017db:	c7 84 24 d0 00 00 00 	movl   $0x4b1a8c,0xd0(%esp)
4017e2:	8c 1a 4b 00
4017e6:	89 94 24 d8 00 00 00 	mov    %edx,0xd8(%esp)
4017ed:	c7 84 24 dc 00 00 00 	movl   $0x4b1aac,0xdc(%esp)
4017f4:	ac 1a 4b 00
4017f8:	89 8c 24 e4 00 00 00 	mov    %ecx,0xe4(%esp)
4017ff:	c7 84 24 e8 00 00 00 	movl   $0x4b1acc,0xe8(%esp)
401806:	cc 1a 4b 00
40180a:	89 84 24 ec 00 00 00 	mov    %eax,0xec(%esp)
401811:	89 94 24 f0 00 00 00 	mov    %edx,0xf0(%esp)
401818:	8d 87 91 00 00 00    	lea    0x91(%edi),%eax
40181e:	89 84 24 f8 00 00 00 	mov    %eax,0xf8(%esp)
401825:	8d 87 90 00 00 00    	lea    0x90(%edi),%eax
40182b:	89 84 24 04 01 00 00 	mov    %eax,0x104(%esp)
401832:	8d 87 88 00 00 00    	lea    0x88(%edi),%eax
401838:	89 84 24 10 01 00 00 	mov    %eax,0x110(%esp)
40183f:	8d 87 8c 00 00 00    	lea    0x8c(%edi),%eax
401845:	89 84 24 1c 01 00 00 	mov    %eax,0x11c(%esp)
40184c:	8d 87 1c 01 00 00    	lea    0x11c(%edi),%eax
401852:	89 84 24 28 01 00 00 	mov    %eax,0x128(%esp)
401859:	8d 87 98 04 00 00    	lea    0x498(%edi),%eax
40185f:	89 84 24 34 01 00 00 	mov    %eax,0x134(%esp)
401866:	8d 87 fc 02 00 00    	lea    0x2fc(%edi),%eax
40186c:	89 84 24 7c 01 00 00 	mov    %eax,0x17c(%esp)
401873:	8d 87 fd 02 00 00    	lea    0x2fd(%edi),%eax
401879:	89 84 24 88 01 00 00 	mov    %eax,0x188(%esp)
401880:	8d 87 f8 02 00 00    	lea    0x2f8(%edi),%eax
401886:	89 84 24 94 01 00 00 	mov    %eax,0x194(%esp)
40188d:	89 8c 24 fc 00 00 00 	mov    %ecx,0xfc(%esp)
401894:	8d 87 14 03 00 00    	lea    0x314(%edi),%eax
40189a:	89 84 24 ac 01 00 00 	mov    %eax,0x1ac(%esp)
4018a1:	8b 45 08             	mov    0x8(%ebp),%eax
4018a4:	b9 4c 1b 4b 00       	mov    $0x4b1b4c,%ecx
4018a9:	8b 40 04             	mov    0x4(%eax),%eax
4018ac:	ba 24 19 4b 00       	mov    $0x4b1924,%edx
4018b1:	89 8c 24 14 01 00 00 	mov    %ecx,0x114(%esp)
4018b8:	89 8c 24 20 01 00 00 	mov    %ecx,0x120(%esp)
4018bf:	b9 dc 18 4b 00       	mov    $0x4b18dc,%ecx
4018c4:	89 94 24 08 01 00 00 	mov    %edx,0x108(%esp)
4018cb:	89 94 24 44 01 00 00 	mov    %edx,0x144(%esp)
4018d2:	33 d2                	xor    %edx,%edx
4018d4:	89 8c 24 2c 01 00 00 	mov    %ecx,0x12c(%esp)
4018db:	89 8c 24 50 01 00 00 	mov    %ecx,0x150(%esp)
4018e2:	89 8c 24 74 01 00 00 	mov    %ecx,0x174(%esp)
4018e9:	89 8c 24 80 01 00 00 	mov    %ecx,0x180(%esp)
4018f0:	89 8c 24 8c 01 00 00 	mov    %ecx,0x18c(%esp)
4018f7:	8b 08                	mov    (%eax),%ecx
4018f9:	6a 04                	push   $0x4
4018fb:	c7 84 24 f8 00 00 00 	movl   $0x4b1aec,0xf8(%esp)
401902:	ec 1a 4b 00
401906:	c7 84 24 04 01 00 00 	movl   $0x4b1b0c,0x104(%esp)
40190d:	0c 1b 4b 00
401911:	c7 84 24 10 01 00 00 	movl   $0x4b1b30,0x110(%esp)
401918:	30 1b 4b 00
40191c:	c7 84 24 1c 01 00 00 	movl   $0x4b1b58,0x11c(%esp)
401923:	58 1b 4b 00
401927:	c7 84 24 28 01 00 00 	movl   $0x4b1b7c,0x128(%esp)
40192e:	7c 1b 4b 00
401932:	c7 84 24 34 01 00 00 	movl   $0x4b1b94,0x134(%esp)
401939:	94 1b 4b 00
40193d:	c7 84 24 3c 01 00 00 	movl   $0x4b1bac,0x13c(%esp)
401944:	ac 1b 4b 00
401948:	c7 84 24 40 01 00 00 	movl   $0x4b1bbc,0x140(%esp)
40194f:	bc 1b 4b 00
401953:	c7 84 24 44 01 00 00 	movl   $0x4c170e,0x144(%esp)
40195a:	0e 17 4c 00
40195e:	c7 84 24 4c 01 00 00 	movl   $0x4b1bd8,0x14c(%esp)
401965:	d8 1b 4b 00
401969:	c7 84 24 50 01 00 00 	movl   $0x4c10c3,0x150(%esp)
401970:	c3 10 4c 00
401974:	c7 84 24 58 01 00 00 	movl   $0x4b1bf4,0x158(%esp)
40197b:	f4 1b 4b 00
40197f:	89 94 24 5c 01 00 00 	mov    %edx,0x15c(%esp)
401986:	c7 84 24 60 01 00 00 	movl   $0x4b1c10,0x160(%esp)
40198d:	10 1c 4b 00
401991:	c7 84 24 64 01 00 00 	movl   $0x4b1c1c,0x164(%esp)
401998:	1c 1c 4b 00
40199c:	89 94 24 68 01 00 00 	mov    %edx,0x168(%esp)
4019a3:	c7 84 24 6c 01 00 00 	movl   $0x4b1c38,0x16c(%esp)
4019aa:	38 1c 4b 00
4019ae:	c7 84 24 70 01 00 00 	movl   $0x4b1c44,0x170(%esp)
4019b5:	44 1c 4b 00
4019b9:	c7 84 24 74 01 00 00 	movl   $0x4c17a8,0x174(%esp)
4019c0:	a8 17 4c 00
4019c4:	c7 84 24 7c 01 00 00 	movl   $0x4b1c64,0x17c(%esp)
4019cb:	64 1c 4b 00