415477:	83 c4 f0             	add    $0xfffffff0,%esp
41547a:	53                   	push   %ebx
41547b:	56                   	push   %esi
41547c:	33 c9                	xor    %ecx,%ecx
41547e:	89 4d f0             	mov    %ecx,-0x10(%ebp)
415481:	8b f2                	mov    %edx,%esi
415483:	89 45 fc             	mov    %eax,-0x4(%ebp)
415486:	8d 5d f8             	lea    -0x8(%ebp),%ebx
415489:	33 c0                	xor    %eax,%eax
41548b:	55                   	push   %ebp
41548c:	68 3e 55 41 00       	push   $0x41553e
415491:	64 ff 30             	push   %fs:(%eax)
415494:	64 89 20             	mov    %esp,%fs:(%eax)
415497:	8b 45 fc             	mov    -0x4(%ebp),%eax
41549a:	e8 b9 f5 ff ff       	call   0x414a58
41549f:	33 c0                	xor    %eax,%eax
4154a1:	55                   	push   %ebp
4154a2:	68 21 55 41 00       	push   $0x415521
4154a7:	64 ff 30             	push   %fs:(%eax)
4154aa:	64 89 20             	mov    %esp,%fs:(%eax)
4154ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
4154b0:	8b 10                	mov    (%eax),%edx
4154b2:	ff 52 44             	call   *0x44(%edx)
4154b5:	89 33                	mov    %esi,(%ebx)
4154b7:	83 3b 00             	cmpl   $0x0,(%ebx)
4154ba:	74 4f                	je     0x41550b
4154bc:	eb 46                	jmp    0x415504
4154be:	8b 03                	mov    (%ebx),%eax
4154c0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4154c3:	eb 02                	jmp    0x4154c7
4154c5:	ff 03                	incl   (%ebx)
4154c7:	8b 03                	mov    (%ebx),%eax
4154c9:	8a 00                	mov    (%eax),%al
4154cb:	84 c0                	test   %al,%al
4154cd:	74 08                	je     0x4154d7
4154cf:	2c 0a                	sub    $0xa,%al
4154d1:	74 04                	je     0x4154d7
4154d3:	2c 03                	sub    $0x3,%al
4154d5:	75 ee                	jne    0x4154c5
4154d7:	8b 0b                	mov    (%ebx),%ecx
4154d9:	2b 4d f4             	sub    -0xc(%ebp),%ecx
4154dc:	8d 45 f0             	lea    -0x10(%ebp),%eax
4154df:	8b 55 f4             	mov    -0xc(%ebp),%edx
4154e2:	e8 79 f1 fe ff       	call   0x404660
4154e7:	8b 55 f0             	mov    -0x10(%ebp),%edx
4154ea:	8b 45 fc             	mov    -0x4(%ebp),%eax
4154ed:	8b 08                	mov    (%eax),%ecx
4154ef:	ff 51 38             	call   *0x38(%ecx)
4154f2:	8b 03                	mov    (%ebx),%eax
4154f4:	80 38 0d             	cmpb   $0xd,(%eax)
4154f7:	75 02                	jne    0x4154fb
4154f9:	ff 03                	incl   (%ebx)
4154fb:	8b 03                	mov    (%ebx),%eax
4154fd:	80 38 0a             	cmpb   $0xa,(%eax)
415500:	75 02                	jne    0x415504
415502:	ff 03                	incl   (%ebx)
415504:	8b 03                	mov    (%ebx),%eax
415506:	80 38 00             	cmpb   $0x0,(%eax)
415509:	75 b3                	jne    0x4154be
41550b:	33 c0                	xor    %eax,%eax
41550d:	5a                   	pop    %edx
41550e:	59                   	pop    %ecx
41550f:	59                   	pop    %ecx
415510:	64 89 10             	mov    %edx,%fs:(%eax)
415513:	68 28 55 41 00       	push   $0x415528
415518:	8b 45 fc             	mov    -0x4(%ebp),%eax
41551b:	e8 f4 f5 ff ff       	call   0x414b14
415520:	c3                   	ret
415521:	e9 26 ea fe ff       	jmp    0x403f4c
415526:	eb f0                	jmp    0x415518
415528:	33 c0                	xor    %eax,%eax
41552a:	5a                   	pop    %edx
41552b:	59                   	pop    %ecx
41552c:	59                   	pop    %ecx
41552d:	64 89 10             	mov    %edx,%fs:(%eax)
415530:	68 45 55 41 00       	push   $0x415545
415535:	8d 45 f0             	lea    -0x10(%ebp),%eax
415538:	e8 33 f0 fe ff       	call   0x404570
41553d:	c3                   	ret
41553e:	e9 09 ea fe ff       	jmp    0x403f4c
415543:	eb f0                	jmp    0x415535
415545:	5e                   	pop    %esi
415546:	5b                   	pop    %ebx
415547:	8b e5                	mov    %ebp,%esp
415549:	5d                   	pop    %ebp
41554a:	c3                   	ret
41554b:	90                   	nop
41554c:	c3                   	ret
41554d:	8d 40 00             	lea    0x0(%eax),%eax
415550:	55                   	push   %ebp
415551:	8b ec                	mov    %esp,%ebp
415553:	83 c4 f4             	add    $0xfffffff4,%esp
415556:	53                   	push   %ebx
415557:	56                   	push   %esi
415558:	57                   	push   %edi
415559:	33 c9                	xor    %ecx,%ecx
41555b:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41555e:	89 55 f8             	mov    %edx,-0x8(%ebp)
415561:	89 45 fc             	mov    %eax,-0x4(%ebp)
415564:	33 c0                	xor    %eax,%eax
415566:	55                   	push   %ebp
415567:	68 c6 55 41 00       	push   $0x4155c6
41556c:	64 ff 30             	push   %fs:(%eax)
41556f:	64 89 20             	mov    %esp,%fs:(%eax)
415572:	8b 45 f8             	mov    -0x8(%ebp),%eax
415575:	e8 b6 41 00 00       	call   0x419730
41557a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41557d:	8b 10                	mov    (%eax),%edx
41557f:	ff 52 14             	call   *0x14(%edx)
415582:	8b d8                	mov    %eax,%ebx
415584:	4b                   	dec    %ebx
415585:	85 db                	test   %ebx,%ebx
415587:	7c 1f                	jl     0x4155a8
415589:	43                   	inc    %ebx
41558a:	33 f6                	xor    %esi,%esi
41558c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41558f:	8b d6                	mov    %esi,%edx
415591:	8b 45 fc             	mov    -0x4(%ebp),%eax
415594:	8b 38                	mov    (%eax),%edi
415596:	ff 57 0c             	call   *0xc(%edi)
415599:	8b 55 f4             	mov    -0xc(%ebp),%edx
41559c:	8b 45 f8             	mov    -0x8(%ebp),%eax
41559f:	e8 34 42 00 00       	call   0x4197d8
4155a4:	46                   	inc    %esi
4155a5:	4b                   	dec    %ebx
4155a6:	75 e4                	jne    0x41558c
4155a8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4155ab:	e8 88 41 00 00       	call   0x419738
4155b0:	33 c0                	xor    %eax,%eax
4155b2:	5a                   	pop    %edx
4155b3:	59                   	pop    %ecx
4155b4:	59                   	pop    %ecx
4155b5:	64 89 10             	mov    %edx,%fs:(%eax)
4155b8:	68 cd 55 41 00       	push   $0x4155cd
4155bd:	8d 45 f4             	lea    -0xc(%ebp),%eax
4155c0:	e8 ab ef fe ff       	call   0x404570
4155c5:	c3                   	ret
4155c6:	e9 81 e9 fe ff       	jmp    0x403f4c
4155cb:	eb f0                	jmp    0x4155bd
4155cd:	5f                   	pop    %edi
4155ce:	5e                   	pop    %esi
4155cf:	5b                   	pop    %ebx
4155d0:	8b e5                	mov    %ebp,%esp
4155d2:	5d                   	pop    %ebp
4155d3:	c3                   	ret
4155d4:	8b c2                	mov    %edx,%eax
4155d6:	8b d1                	mov    %ecx,%edx
4155d8:	e8 ef 2c ff ff       	call   0x4082cc
4155dd:	c3                   	ret
4155de:	8b c0                	mov    %eax,%eax
4155e0:	53                   	push   %ebx
4155e1:	8b d8                	mov    %eax,%ebx
4155e3:	f6 43 04 04          	testb  $0x4,0x4(%ebx)
4155e7:	75 09                	jne    0x4155f2
4155e9:	b2 3d                	mov    $0x3d,%dl
4155eb:	8b c3                	mov    %ebx,%eax
4155ed:	e8 06 00 00 00       	call   0x4155f8
4155f2:	8a 43 07             	mov    0x7(%ebx),%al
4155f5:	5b                   	pop    %ebx
4155f6:	c3                   	ret
4155f7:	90                   	nop
4155f8:	53                   	push   %ebx
4155f9:	56                   	push   %esi
4155fa:	8b da                	mov    %edx,%ebx
4155fc:	8b f0                	mov    %eax,%esi
4155fe:	3a 5e 07             	cmp    0x7(%esi),%bl
415601:	75 06                	jne    0x415609
415603:	f6 46 04 04          	testb  $0x4,0x4(%esi)
415607:	75 07                	jne    0x415610
415609:	80 4e 04 04          	orb    $0x4,0x4(%esi)
41560d:	88 5e 07             	mov    %bl,0x7(%esi)
415610:	5e                   	pop    %esi
415611:	5b                   	pop    %ebx
415612:	c3                   	ret
415613:	90                   	nop
415614:	53                   	push   %ebx
415615:	56                   	push   %esi
415616:	e8 69 e5 fe ff       	call   0x403b84
41561b:	8b da                	mov    %edx,%ebx
41561d:	8b f0                	mov    %eax,%esi
41561f:	33 c0                	xor    %eax,%eax
415621:	89 46 20             	mov    %eax,0x20(%esi)
415624:	89 46 24             	mov    %eax,0x24(%esi)
415627:	33 c0                	xor    %eax,%eax
415629:	89 46 28             	mov    %eax,0x28(%esi)
41562c:	89 46 2c             	mov    %eax,0x2c(%esi)
41562f:	8b d3                	mov    %ebx,%edx
415631:	80 e2 fc             	and    $0xfc,%dl
415634:	8b c6                	mov    %esi,%eax
415636:	e8 55 f2 ff ff       	call   0x414890
41563b:	8b 46 14             	mov    0x14(%esi),%eax
41563e:	85 c0                	test   %eax,%eax
415640:	74 10                	je     0x415652
415642:	8b c8                	mov    %eax,%ecx
415644:	8b 46 10             	mov    0x10(%esi),%eax
415647:	8b 15 64 20 41 00    	mov    0x412064,%edx
41564d:	e8 9e f9 fe ff       	call   0x404ff0
415652:	33 c0                	xor    %eax,%eax
415654:	89 46 14             	mov    %eax,0x14(%esi)
415657:	33 d2                	xor    %edx,%edx
415659:	8b c6                	mov    %esi,%eax
41565b:	8b 08                	mov    (%eax),%ecx
41565d:	ff 51 28             	call   *0x28(%ecx)
415660:	84 db                	test   %bl,%bl
415662:	7e 07                	jle    0x41566b
415664:	8b c6                	mov    %esi,%eax
415666:	e8 01 e5 fe ff       	call   0x403b6c
41566b:	5e                   	pop    %esi
41566c:	5b                   	pop    %ebx
41566d:	c3                   	ret
41566e:	8b c0                	mov    %eax,%eax
415670:	53                   	push   %ebx
415671:	56                   	push   %esi
415672:	8b f0                	mov    %eax,%esi
415674:	33 c9                	xor    %ecx,%ecx
415676:	8b c6                	mov    %esi,%eax
415678:	8b 18                	mov    (%eax),%ebx
41567a:	ff 53 3c             	call   *0x3c(%ebx)
41567d:	5e                   	pop    %esi
41567e:	5b                   	pop    %ebx
41567f:	c3                   	ret
415680:	53                   	push   %ebx
415681:	56                   	push   %esi
415682:	57                   	push   %edi
415683:	55                   	push   %ebp
415684:	51                   	push   %ecx
415685:	8b f9                	mov    %ecx,%edi
415687:	8b f2                	mov    %edx,%esi
415689:	8b d8                	mov    %eax,%ebx
41568b:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41568f:	75 08                	jne    0x415699
415691:	8b 43 14             	mov    0x14(%ebx),%eax
415694:	89 04 24             	mov    %eax,(%esp)
415697:	eb 2e                	jmp    0x4156c7
415699:	8b cc                	mov    %esp,%ecx
41569b:	8b d6                	mov    %esi,%edx
41569d:	8b c3                	mov    %ebx,%eax
41569f:	8b 28                	mov    (%eax),%ebp
4156a1:	ff 95 8c 00 00 00    	call   *0x8c(%ebp)
4156a7:	84 c0                	test   %al,%al
4156a9:	74 1c                	je     0x4156c7
4156ab:	8a 43 1d             	mov    0x1d(%ebx),%al
4156ae:	2c 01                	sub    $0x1,%al
4156b0:	72 26                	jb     0x4156d8
4156b2:	fe c8                	dec    %al
4156b4:	74 02                	je     0x4156b8
4156b6:	eb 0f                	jmp    0x4156c7
4156b8:	8b 15 74 0a 46 00    	mov    0x460a74,%edx
4156be:	33 c9                	xor    %ecx,%ecx
4156c0:	8b c3                	mov    %ebx,%eax
4156c2:	e8 45 f5 ff ff       	call   0x414c0c
4156c7:	57                   	push   %edi
4156c8:	8b ce                	mov    %esi,%ecx
4156ca:	8b 54 24 04          	mov    0x4(%esp),%edx
4156ce:	8b c3                	mov    %ebx,%eax
4156d0:	8b 18                	mov    (%eax),%ebx
4156d2:	ff 93 88 00 00 00    	call   *0x88(%ebx)
4156d8:	8b 04 24             	mov    (%esp),%eax
4156db:	5a                   	pop    %edx
4156dc:	5d                   	pop    %ebp
4156dd:	5f                   	pop    %edi
4156de:	5e                   	pop    %esi
4156df:	5b                   	pop    %ebx
4156e0:	c3                   	ret
4156e1:	8d 40 00             	lea    0x0(%eax),%eax
4156e4:	53                   	push   %ebx
4156e5:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4156e9:	75 11                	jne    0x4156fc
4156eb:	66 83 78 22 00       	cmpw   $0x0,0x22(%eax)
4156f0:	74 0a                	je     0x4156fc
4156f2:	8b d8                	mov    %eax,%ebx
4156f4:	8b d0                	mov    %eax,%edx
4156f6:	8b 43 24             	mov    0x24(%ebx),%eax
4156f9:	ff 53 20             	call   *0x20(%ebx)
4156fc:	5b                   	pop    %ebx
4156fd:	c3                   	ret
4156fe:	8b c0                	mov    %eax,%eax
415700:	53                   	push   %ebx
415701:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
415705:	75 11                	jne    0x415718
415707:	66 83 78 2a 00       	cmpw   $0x0,0x2a(%eax)
41570c:	74 0a                	je     0x415718
41570e:	8b d8                	mov    %eax,%ebx
415710:	8b d0                	mov    %eax,%edx
415712:	8b 43 2c             	mov    0x2c(%ebx),%eax
415715:	ff 53 28             	call   *0x28(%ebx)
415718:	5b                   	pop    %ebx
415719:	c3                   	ret
41571a:	8b c0                	mov    %eax,%eax
41571c:	53                   	push   %ebx
41571d:	8b d8                	mov    %eax,%ebx
41571f:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
415723:	74 33                	je     0x415758
415725:	8b c3                	mov    %ebx,%eax
415727:	8b 10                	mov    (%eax),%edx
415729:	ff 92 84 00 00 00    	call   *0x84(%edx)
41572f:	8b 43 10             	mov    0x10(%ebx),%eax
415732:	8b 4b 14             	mov    0x14(%ebx),%ecx
415735:	8b 15 64 20 41 00    	mov    0x412064,%edx
41573b:	e8 b0 f8 fe ff       	call   0x404ff0
415740:	33 c0                	xor    %eax,%eax
415742:	89 43 14             	mov    %eax,0x14(%ebx)
415745:	33 d2                	xor    %edx,%edx
415747:	8b c3                	mov    %ebx,%eax
415749:	8b 08                	mov    (%eax),%ecx
41574b:	ff 51 28             	call   *0x28(%ecx)
41574e:	8b c3                	mov    %ebx,%eax
415750:	8b 10                	mov    (%eax),%edx
415752:	ff 92 80 00 00 00    	call   *0x80(%edx)
415758:	5b                   	pop    %ebx
415759:	c3                   	ret
41575a:	8b c0                	mov    %eax,%eax
41575c:	53                   	push   %ebx
41575d:	56                   	push   %esi
41575e:	8b f2                	mov    %edx,%esi
415760:	8b d8                	mov    %eax,%ebx
415762:	85 f6                	test   %esi,%esi
415764:	7c 05                	jl     0x41576b
415766:	3b 73 14             	cmp    0x14(%ebx),%esi
415769:	7c 0f                	jl     0x41577a
41576b:	8b 15 70 0c 46 00    	mov    0x460c70,%edx
415771:	8b ce                	mov    %esi,%ecx
415773:	8b c3                	mov    %ebx,%eax
415775:	e8 92 f4 ff ff       	call   0x414c0c
41577a:	8b c3                	mov    %ebx,%eax
41577c:	8b 10                	mov    (%eax),%edx
41577e:	ff 92 84 00 00 00    	call   *0x84(%edx)
415784:	8b 43 10             	mov    0x10(%ebx),%eax
415787:	8d 04 f0             	lea    (%eax,%esi,8),%eax
41578a:	8b 15 64 20 41 00    	mov    0x412064,%edx
415790:	e8 47 f9 fe ff       	call   0x4050dc
415795:	ff 4b 14             	decl   0x14(%ebx)
415798:	8b 43 14             	mov    0x14(%ebx),%eax
41579b:	3b f0                	cmp    %eax,%esi
41579d:	7d 19                	jge    0x4157b8
41579f:	2b c6                	sub    %esi,%eax
4157a1:	8b c8                	mov    %eax,%ecx
4157a3:	c1 e1 03             	shl    $0x3,%ecx
4157a6:	8b 43 10             	mov    0x10(%ebx),%eax
4157a9:	8d 14 f0             	lea    (%eax,%esi,8),%edx
4157ac:	8b 43 10             	mov    0x10(%ebx),%eax
4157af:	8d 44 f0 08          	lea    0x8(%eax,%esi,8),%eax
4157b3:	e8 a0 d4 fe ff       	call   0x402c58
4157b8:	8b c3                	mov    %ebx,%eax
4157ba:	8b 10                	mov    (%eax),%edx
4157bc:	ff 92 80 00 00 00    	call   *0x80(%edx)
4157c2:	5e                   	pop    %esi
4157c3:	5b                   	pop    %ebx
4157c4:	c3                   	ret
4157c5:	8d 40 00             	lea    0x0(%eax),%eax