435408:	83 c4 08             	add    $0x8,%esp
43540b:	b8 02 00 00 00       	mov    $0x2,%eax
435410:	eb 0c                	jmp    0x43541e
435412:	51                   	push   %ecx
435413:	57                   	push   %edi
435414:	e8 ef 45 03 00       	call   0x469a08
435419:	83 c4 08             	add    $0x8,%esp
43541c:	33 c0                	xor    %eax,%eax
43541e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
435421:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
435428:	59                   	pop    %ecx
435429:	5f                   	pop    %edi
43542a:	5e                   	pop    %esi
43542b:	5b                   	pop    %ebx
43542c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43542f:	33 cd                	xor    %ebp,%ecx
435431:	e8 94 45 03 00       	call   0x4699ca
435436:	8b e5                	mov    %ebp,%esp
435438:	5d                   	pop    %ebp
435439:	c3                   	ret
43543a:	e8 f2 41 04 00       	call   0x479631
43543f:	cc                   	int3
435440:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
435444:	53                   	push   %ebx
435445:	56                   	push   %esi
435446:	57                   	push   %edi
435447:	8b d9                	mov    %ecx,%ebx
435449:	72 02                	jb     0x43544d
43544b:	8b 19                	mov    (%ecx),%ebx
43544d:	8b 41 10             	mov    0x10(%ecx),%eax
435450:	83 f8 01             	cmp    $0x1,%eax
435453:	72 54                	jb     0x4354a9
435455:	48                   	dec    %eax
435456:	83 c9 ff             	or     $0xffffffff,%ecx
435459:	3b c1                	cmp    %ecx,%eax
43545b:	0f 42 c8             	cmovb  %eax,%ecx
43545e:	8d 3c 4b             	lea    (%ebx,%ecx,2),%edi
435461:	8b f7                	mov    %edi,%esi
435463:	81 ee c0 f2 4a 00    	sub    $0x4af2c0,%esi
435469:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
435470:	66 83 3f 2e          	cmpw   $0x2e,(%edi)
435474:	75 27                	jne    0x43549d
435476:	ba 01 00 00 00       	mov    $0x1,%edx
43547b:	b8 c0 f2 4a 00       	mov    $0x4af2c0,%eax
435480:	66 8b 0c 06          	mov    (%esi,%eax,1),%cx
435484:	66 3b 08             	cmp    (%eax),%cx
435487:	75 14                	jne    0x43549d
435489:	83 c0 02             	add    $0x2,%eax
43548c:	83 ea 01             	sub    $0x1,%edx
43548f:	75 ef                	jne    0x435480
435491:	2b fb                	sub    %ebx,%edi
435493:	d1 ff                	sar    $1,%edi
435495:	8b c7                	mov    %edi,%eax
435497:	5f                   	pop    %edi
435498:	5e                   	pop    %esi
435499:	5b                   	pop    %ebx
43549a:	c2 08 00             	ret    $0x8
43549d:	3b fb                	cmp    %ebx,%edi
43549f:	74 08                	je     0x4354a9
4354a1:	83 ef 02             	sub    $0x2,%edi
4354a4:	83 ee 02             	sub    $0x2,%esi
4354a7:	eb c7                	jmp    0x435470
4354a9:	5f                   	pop    %edi
4354aa:	5e                   	pop    %esi
4354ab:	83 c8 ff             	or     $0xffffffff,%eax
4354ae:	5b                   	pop    %ebx
4354af:	c2 08 00             	ret    $0x8
4354b2:	cc                   	int3
4354b3:	cc                   	int3
4354b4:	cc                   	int3
4354b5:	cc                   	int3
4354b6:	cc                   	int3
4354b7:	cc                   	int3
4354b8:	cc                   	int3
4354b9:	cc                   	int3
4354ba:	cc                   	int3
4354bb:	cc                   	int3
4354bc:	cc                   	int3
4354bd:	cc                   	int3
4354be:	cc                   	int3
4354bf:	cc                   	int3
4354c0:	56                   	push   %esi
4354c1:	8b f1                	mov    %ecx,%esi
4354c3:	57                   	push   %edi
4354c4:	8b 56 08             	mov    0x8(%esi),%edx
4354c7:	8b 46 04             	mov    0x4(%esi),%eax
4354ca:	4a                   	dec    %edx
4354cb:	23 56 0c             	and    0xc(%esi),%edx
4354ce:	8b 3c 90             	mov    (%eax,%edx,4),%edi
4354d1:	8b 4f 20             	mov    0x20(%edi),%ecx
4354d4:	83 f9 08             	cmp    $0x8,%ecx
4354d7:	72 2e                	jb     0x435507
4354d9:	8b 47 0c             	mov    0xc(%edi),%eax
4354dc:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4354e3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4354e9:	72 12                	jb     0x4354fd
4354eb:	8b 50 fc             	mov    -0x4(%eax),%edx
4354ee:	83 c1 23             	add    $0x23,%ecx
4354f1:	2b c2                	sub    %edx,%eax
4354f3:	83 c0 fc             	add    $0xfffffffc,%eax
4354f6:	83 f8 1f             	cmp    $0x1f,%eax
4354f9:	77 32                	ja     0x43552d
4354fb:	8b c2                	mov    %edx,%eax
4354fd:	51                   	push   %ecx
4354fe:	50                   	push   %eax
4354ff:	e8 04 45 03 00       	call   0x469a08
435504:	83 c4 08             	add    $0x8,%esp
435507:	33 c0                	xor    %eax,%eax
435509:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
435510:	c7 47 20 07 00 00 00 	movl   $0x7,0x20(%edi)
435517:	66 89 47 0c          	mov    %ax,0xc(%edi)
43551b:	83 46 10 ff          	addl   $0xffffffff,0x10(%esi)
43551f:	75 06                	jne    0x435527
435521:	5f                   	pop    %edi
435522:	89 46 0c             	mov    %eax,0xc(%esi)
435525:	5e                   	pop    %esi
435526:	c3                   	ret
435527:	ff 46 0c             	incl   0xc(%esi)
43552a:	5f                   	pop    %edi
43552b:	5e                   	pop    %esi
43552c:	c3                   	ret
43552d:	e8 ff 40 04 00       	call   0x479631
435532:	cc                   	int3
435533:	cc                   	int3
435534:	cc                   	int3
435535:	cc                   	int3
435536:	cc                   	int3
435537:	cc                   	int3
435538:	cc                   	int3
435539:	cc                   	int3
43553a:	cc                   	int3
43553b:	cc                   	int3
43553c:	cc                   	int3
43553d:	cc                   	int3
43553e:	cc                   	int3
43553f:	cc                   	int3
435540:	53                   	push   %ebx
435541:	56                   	push   %esi
435542:	8b f1                	mov    %ecx,%esi
435544:	57                   	push   %edi
435545:	8b 4e 10             	mov    0x10(%esi),%ecx
435548:	85 c9                	test   %ecx,%ecx
43554a:	74 78                	je     0x4355c4
43554c:	0f 1f 40 00          	nopl   0x0(%eax)
435550:	8b 46 0c             	mov    0xc(%esi),%eax
435553:	48                   	dec    %eax
435554:	03 c8                	add    %eax,%ecx
435556:	8b 46 08             	mov    0x8(%esi),%eax
435559:	48                   	dec    %eax
43555a:	23 c8                	and    %eax,%ecx
43555c:	8b 46 04             	mov    0x4(%esi),%eax
43555f:	8b 3c 88             	mov    (%eax,%ecx,4),%edi
435562:	8b 4f 20             	mov    0x20(%edi),%ecx
435565:	83 f9 08             	cmp    $0x8,%ecx
435568:	72 32                	jb     0x43559c
43556a:	8b 47 0c             	mov    0xc(%edi),%eax
43556d:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
435574:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
43557a:	72 16                	jb     0x435592
43557c:	8b 50 fc             	mov    -0x4(%eax),%edx
43557f:	83 c1 23             	add    $0x23,%ecx
435582:	2b c2                	sub    %edx,%eax
435584:	83 c0 fc             	add    $0xfffffffc,%eax
435587:	83 f8 1f             	cmp    $0x1f,%eax
43558a:	0f 87 9f 00 00 00    	ja     0x43562f
435590:	8b c2                	mov    %edx,%eax
435592:	51                   	push   %ecx
435593:	50                   	push   %eax
435594:	e8 6f 44 03 00       	call   0x469a08
435599:	83 c4 08             	add    $0x8,%esp
43559c:	33 c0                	xor    %eax,%eax
43559e:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
4355a5:	c7 47 20 07 00 00 00 	movl   $0x7,0x20(%edi)
4355ac:	66 89 47 0c          	mov    %ax,0xc(%edi)
4355b0:	8b 4e 10             	mov    0x10(%esi),%ecx
4355b3:	83 e9 01             	sub    $0x1,%ecx
4355b6:	89 4e 10             	mov    %ecx,0x10(%esi)
4355b9:	74 06                	je     0x4355c1
4355bb:	85 c9                	test   %ecx,%ecx
4355bd:	75 91                	jne    0x435550
4355bf:	eb 03                	jmp    0x4355c4
4355c1:	89 46 0c             	mov    %eax,0xc(%esi)
4355c4:	b8 04 00 00 00       	mov    $0x4,%eax
4355c9:	8b de                	mov    %esi,%ebx
4355cb:	8d 3c 30             	lea    (%eax,%esi,1),%edi
4355ce:	8b 73 08             	mov    0x8(%ebx),%esi
4355d1:	85 f6                	test   %esi,%esi
4355d3:	74 19                	je     0x4355ee
4355d5:	8b 07                	mov    (%edi),%eax
4355d7:	4e                   	dec    %esi
4355d8:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4355db:	85 c0                	test   %eax,%eax
4355dd:	74 0b                	je     0x4355ea
4355df:	6a 24                	push   $0x24
4355e1:	50                   	push   %eax
4355e2:	e8 21 44 03 00       	call   0x469a08
4355e7:	83 c4 08             	add    $0x8,%esp
4355ea:	85 f6                	test   %esi,%esi
4355ec:	75 e7                	jne    0x4355d5
4355ee:	8b 07                	mov    (%edi),%eax
4355f0:	85 c0                	test   %eax,%eax
4355f2:	74 2a                	je     0x43561e
4355f4:	8b 4b 08             	mov    0x8(%ebx),%ecx
4355f7:	c1 e1 02             	shl    $0x2,%ecx
4355fa:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
435600:	72 12                	jb     0x435614
435602:	8b 50 fc             	mov    -0x4(%eax),%edx
435605:	83 c1 23             	add    $0x23,%ecx
435608:	2b c2                	sub    %edx,%eax
43560a:	83 c0 fc             	add    $0xfffffffc,%eax
43560d:	83 f8 1f             	cmp    $0x1f,%eax
435610:	77 1d                	ja     0x43562f
435612:	8b c2                	mov    %edx,%eax
435614:	51                   	push   %ecx
435615:	50                   	push   %eax
435616:	e8 ed 43 03 00       	call   0x469a08
43561b:	83 c4 08             	add    $0x8,%esp
43561e:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
435624:	5f                   	pop    %edi
435625:	5e                   	pop    %esi
435626:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
43562d:	5b                   	pop    %ebx
43562e:	c3                   	ret
43562f:	e8 fd 3f 04 00       	call   0x479631
435634:	cc                   	int3
435635:	cc                   	int3
435636:	cc                   	int3
435637:	cc                   	int3
435638:	cc                   	int3
435639:	cc                   	int3
43563a:	cc                   	int3
43563b:	cc                   	int3
43563c:	cc                   	int3
43563d:	cc                   	int3
43563e:	cc                   	int3
43563f:	cc                   	int3
435640:	55                   	push   %ebp
435641:	8b ec                	mov    %esp,%ebp
435643:	83 ec 10             	sub    $0x10,%esp
435646:	53                   	push   %ebx
435647:	56                   	push   %esi
435648:	8b f1                	mov    %ecx,%esi
43564a:	b8 01 00 00 00       	mov    $0x1,%eax
43564f:	57                   	push   %edi
435650:	89 75 f4             	mov    %esi,-0xc(%ebp)
435653:	8b 56 08             	mov    0x8(%esi),%edx
435656:	85 d2                	test   %edx,%edx
435658:	0f 45 c2             	cmovne %edx,%eax
43565b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
435660:	8b d8                	mov    %eax,%ebx
435662:	2b da                	sub    %edx,%ebx
435664:	83 fb 01             	cmp    $0x1,%ebx
435667:	72 05                	jb     0x43566e
435669:	83 f8 08             	cmp    $0x8,%eax
43566c:	73 13                	jae    0x435681
43566e:	b9 c7 71 1c 07       	mov    $0x71c71c7,%ecx
435673:	2b c8                	sub    %eax,%ecx
435675:	3b c8                	cmp    %eax,%ecx
435677:	0f 82 55 01 00 00    	jb     0x4357d2
43567d:	03 c0                	add    %eax,%eax
43567f:	eb df                	jmp    0x435660
435681:	8b 7e 0c             	mov    0xc(%esi),%edi
435684:	89 7d f8             	mov    %edi,-0x8(%ebp)
435687:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
43568c:	0f 87 4a 01 00 00    	ja     0x4357dc
435692:	c1 e0 02             	shl    $0x2,%eax
435695:	3d 00 10 00 00       	cmp    $0x1000,%eax
43569a:	72 27                	jb     0x4356c3
43569c:	8d 48 23             	lea    0x23(%eax),%ecx
43569f:	3b c8                	cmp    %eax,%ecx
4356a1:	0f 86 35 01 00 00    	jbe    0x4357dc
4356a7:	51                   	push   %ecx
4356a8:	e8 2b 43 03 00       	call   0x4699d8
4356ad:	83 c4 04             	add    $0x4,%esp
4356b0:	85 c0                	test   %eax,%eax
4356b2:	0f 84 1f 01 00 00    	je     0x4357d7
4356b8:	8d 50 23             	lea    0x23(%eax),%edx
4356bb:	83 e2 e0             	and    $0xffffffe0,%edx
4356be:	89 42 fc             	mov    %eax,-0x4(%edx)
4356c1:	eb 13                	jmp    0x4356d6
4356c3:	85 c0                	test   %eax,%eax
4356c5:	74 0d                	je     0x4356d4
4356c7:	50                   	push   %eax
4356c8:	e8 0b 43 03 00       	call   0x4699d8
4356cd:	83 c4 04             	add    $0x4,%esp
4356d0:	8b d0                	mov    %eax,%edx
4356d2:	eb 02                	jmp    0x4356d6
4356d4:	33 d2                	xor    %edx,%edx
4356d6:	8b 46 04             	mov    0x4(%esi),%eax
4356d9:	8b 76 08             	mov    0x8(%esi),%esi
4356dc:	c1 e7 02             	shl    $0x2,%edi
4356df:	c1 e6 02             	shl    $0x2,%esi
4356e2:	89 55 fc             	mov    %edx,-0x4(%ebp)
4356e5:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
4356e8:	03 fa                	add    %edx,%edi
4356ea:	2b f1                	sub    %ecx,%esi
4356ec:	03 f0                	add    %eax,%esi
4356ee:	56                   	push   %esi
4356ef:	51                   	push   %ecx
4356f0:	57                   	push   %edi
4356f1:	e8 2a 5f 03 00       	call   0x46b620
4356f6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4356f9:	8d 04 3e             	lea    (%esi,%edi,1),%eax
4356fc:	8b 7d f4             	mov    -0xc(%ebp),%edi
4356ff:	83 c4 0c             	add    $0xc,%esp
435702:	89 45 f0             	mov    %eax,-0x10(%ebp)
435705:	8b 57 04             	mov    0x4(%edi),%edx
435708:	3b cb                	cmp    %ebx,%ecx
43570a:	77 39                	ja     0x435745
43570c:	8d 34 8d 00 00 00 00 	lea    0x0(,%ecx,4),%esi
435713:	56                   	push   %esi
435714:	52                   	push   %edx
435715:	50                   	push   %eax
435716:	e8 05 5f 03 00       	call   0x46b620
43571b:	83 c4 0c             	add    $0xc,%esp
43571e:	8b c3                	mov    %ebx,%eax
435720:	2b 45 f8             	sub    -0x8(%ebp),%eax
435723:	c1 e0 02             	shl    $0x2,%eax
435726:	50                   	push   %eax
435727:	8b 45 f0             	mov    -0x10(%ebp),%eax
43572a:	03 c6                	add    %esi,%eax
43572c:	6a 00                	push   $0x0
43572e:	50                   	push   %eax
43572f:	e8 7c 64 03 00       	call   0x46bbb0
435734:	83 c4 0c             	add    $0xc,%esp
435737:	56                   	push   %esi
435738:	8b 75 fc             	mov    -0x4(%ebp),%esi
43573b:	6a 00                	push   $0x0
43573d:	56                   	push   %esi
43573e:	e8 6d 64 03 00       	call   0x46bbb0
435743:	eb 4a                	jmp    0x43578f
435745:	8d 3c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%edi
43574c:	57                   	push   %edi
43574d:	52                   	push   %edx
43574e:	50                   	push   %eax
43574f:	e8 cc 5e 03 00       	call   0x46b620
435754:	8b 75 f4             	mov    -0xc(%ebp),%esi
435757:	83 c4 0c             	add    $0xc,%esp
43575a:	8b 55 f8             	mov    -0x8(%ebp),%edx
43575d:	8b 76 04             	mov    0x4(%esi),%esi
435760:	8d 0c 95 00 00 00 00 	lea    0x0(,%edx,4),%ecx
435767:	8d 04 37             	lea    (%edi,%esi,1),%eax
43576a:	2b f0                	sub    %eax,%esi
43576c:	03 f1                	add    %ecx,%esi
43576e:	56                   	push   %esi
43576f:	50                   	push   %eax
435770:	ff 75 fc             	push   -0x4(%ebp)
435773:	e8 a8 5e 03 00       	call   0x46b620
435778:	8b 45 fc             	mov    -0x4(%ebp),%eax
43577b:	83 c4 0c             	add    $0xc,%esp