46a529:	e8 9e ff ff ff       	call   0x46a4cc
46a52e:	e8 c1 05 00 00       	call   0x46aaf4
46a533:	5b                   	pop    %ebx
46a534:	c3                   	ret
46a535:	8d 40 00             	lea    0x0(%eax),%eax
46a538:	55                   	push   %ebp
46a539:	8b ec                	mov    %esp,%ebp
46a53b:	83 c4 f8             	add    $0xfffffff8,%esp
46a53e:	53                   	push   %ebx
46a53f:	56                   	push   %esi
46a540:	57                   	push   %edi
46a541:	8b f2                	mov    %edx,%esi
46a543:	89 45 fc             	mov    %eax,-0x4(%ebp)
46a546:	8b c6                	mov    %esi,%eax
46a548:	8b 15 7c 4b 46 00    	mov    0x464b7c,%edx
46a54e:	e8 25 90 f9 ff       	call   0x403578
46a553:	84 c0                	test   %al,%al
46a555:	0f 84 ec 00 00 00    	je     0x46a647
46a55b:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a55e:	8b 40 04             	mov    0x4(%eax),%eax
46a561:	85 c0                	test   %eax,%eax
46a563:	74 05                	je     0x46a56a
46a565:	8b 10                	mov    (%eax),%edx
46a567:	ff 52 20             	call   *0x20(%edx)
46a56a:	33 d2                	xor    %edx,%edx
46a56c:	55                   	push   %ebp
46a56d:	68 40 a6 46 00       	push   $0x46a640
46a572:	64 ff 32             	push   %fs:(%edx)
46a575:	64 89 22             	mov    %esp,%fs:(%edx)
46a578:	8b fe                	mov    %esi,%edi
46a57a:	8b df                	mov    %edi,%ebx
46a57c:	8b 53 0c             	mov    0xc(%ebx),%edx
46a57f:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a582:	8b 08                	mov    (%eax),%ecx
46a584:	ff 51 18             	call   *0x18(%ecx)
46a587:	8a 53 21             	mov    0x21(%ebx),%dl
46a58a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a58d:	e8 6a fe ff ff       	call   0x46a3fc
46a592:	8b c3                	mov    %ebx,%eax
46a594:	e8 c3 fe ff ff       	call   0x46a45c
46a599:	8b d0                	mov    %eax,%edx
46a59b:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a59e:	e8 dd fe ff ff       	call   0x46a480
46a5a3:	8b 53 14             	mov    0x14(%ebx),%edx
46a5a6:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a5a9:	e8 6e fe ff ff       	call   0x46a41c
46a5ae:	8a 53 22             	mov    0x22(%ebx),%dl
46a5b1:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a5b4:	e8 2f fe ff ff       	call   0x46a3e8
46a5b9:	8a 47 20             	mov    0x20(%edi),%al
46a5bc:	8b 55 fc             	mov    -0x4(%ebp),%edx
46a5bf:	88 42 20             	mov    %al,0x20(%edx)
46a5c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a5c5:	e8 3a ff ff ff       	call   0x46a504
46a5ca:	84 c0                	test   %al,%al
46a5cc:	74 0d                	je     0x46a5db
46a5ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a5d1:	e8 f6 fe ff ff       	call   0x46a4cc
46a5d6:	e8 c9 24 fb ff       	call   0x41caa4
46a5db:	8b c3                	mov    %ebx,%eax
46a5dd:	e8 22 ff ff ff       	call   0x46a504
46a5e2:	84 c0                	test   %al,%al
46a5e4:	74 3d                	je     0x46a623
46a5e6:	8b c3                	mov    %ebx,%eax
46a5e8:	e8 df fe ff ff       	call   0x46a4cc
46a5ed:	e8 56 25 fb ff       	call   0x41cb48
46a5f2:	8b f0                	mov    %eax,%esi
46a5f4:	4e                   	dec    %esi
46a5f5:	85 f6                	test   %esi,%esi
46a5f7:	7c 2a                	jl     0x46a623
46a5f9:	46                   	inc    %esi
46a5fa:	33 ff                	xor    %edi,%edi
46a5fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a5ff:	e8 20 ff ff ff       	call   0x46a524
46a604:	89 45 f8             	mov    %eax,-0x8(%ebp)
46a607:	8b c3                	mov    %ebx,%eax
46a609:	e8 be fe ff ff       	call   0x46a4cc
46a60e:	8b d7                	mov    %edi,%edx
46a610:	e8 eb 04 00 00       	call   0x46ab00
46a615:	8b d0                	mov    %eax,%edx
46a617:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a61a:	8b 08                	mov    (%eax),%ecx
46a61c:	ff 51 08             	call   *0x8(%ecx)
46a61f:	47                   	inc    %edi
46a620:	4e                   	dec    %esi
46a621:	75 d9                	jne    0x46a5fc
46a623:	33 c0                	xor    %eax,%eax
46a625:	5a                   	pop    %edx
46a626:	59                   	pop    %ecx
46a627:	59                   	pop    %ecx
46a628:	64 89 10             	mov    %edx,%fs:(%eax)
46a62b:	68 51 a6 46 00       	push   $0x46a651
46a630:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a633:	8b 40 04             	mov    0x4(%eax),%eax
46a636:	85 c0                	test   %eax,%eax
46a638:	74 05                	je     0x46a63f
46a63a:	8b 10                	mov    (%eax),%edx
46a63c:	ff 52 24             	call   *0x24(%edx)
46a63f:	c3                   	ret
46a640:	e9 23 95 f9 ff       	jmp    0x403b68
46a645:	eb e9                	jmp    0x46a630
46a647:	8b d6                	mov    %esi,%edx
46a649:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a64c:	e8 b3 1d fb ff       	call   0x41c404
46a651:	5f                   	pop    %edi
46a652:	5e                   	pop    %esi
46a653:	5b                   	pop    %ebx
46a654:	59                   	pop    %ecx
46a655:	59                   	pop    %ecx
46a656:	5d                   	pop    %ebp
46a657:	c3                   	ret
46a658:	55                   	push   %ebp
46a659:	8b ec                	mov    %esp,%ebp
46a65b:	83 c4 ec             	add    $0xffffffec,%esp
46a65e:	53                   	push   %ebx
46a65f:	56                   	push   %esi
46a660:	57                   	push   %edi
46a661:	33 db                	xor    %ebx,%ebx
46a663:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46a666:	8b f9                	mov    %ecx,%edi
46a668:	89 55 fc             	mov    %edx,-0x4(%ebp)
46a66b:	8b f0                	mov    %eax,%esi
46a66d:	8b 45 08             	mov    0x8(%ebp),%eax
46a670:	e8 9f 9f f9 ff       	call   0x404614
46a675:	33 c0                	xor    %eax,%eax
46a677:	55                   	push   %ebp
46a678:	68 2d a8 46 00       	push   $0x46a82d
46a67d:	64 ff 30             	push   %fs:(%eax)
46a680:	64 89 20             	mov    %esp,%fs:(%eax)
46a683:	8b c6                	mov    %esi,%eax
46a685:	e8 1a fd ff ff       	call   0x46a3a4
46a68a:	8b d8                	mov    %eax,%ebx
46a68c:	85 db                	test   %ebx,%ebx
46a68e:	75 28                	jne    0x46a6b8
46a690:	6a 00                	push   $0x0
46a692:	8d 55 f4             	lea    -0xc(%ebp),%edx
46a695:	a1 0c b4 49 00       	mov    0x49b40c,%eax
46a69a:	e8 99 bb f9 ff       	call   0x406238
46a69f:	8b 45 f4             	mov    -0xc(%ebp),%eax
46a6a2:	50                   	push   %eax
46a6a3:	8b 46 0c             	mov    0xc(%esi),%eax
46a6a6:	89 45 ec             	mov    %eax,-0x14(%ebp)
46a6a9:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
46a6ad:	8d 55 ec             	lea    -0x14(%ebp),%edx
46a6b0:	33 c9                	xor    %ecx,%ecx
46a6b2:	58                   	pop    %eax
46a6b3:	e8 74 f4 ff ff       	call   0x469b2c
46a6b8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46a6bb:	b2 01                	mov    $0x1,%dl
46a6bd:	8b c3                	mov    %ebx,%eax
46a6bf:	ff 50 2c             	call   *0x2c(%eax)
46a6c2:	89 45 f8             	mov    %eax,-0x8(%ebp)
46a6c5:	33 c0                	xor    %eax,%eax
46a6c7:	55                   	push   %ebp
46a6c8:	68 f8 a7 46 00       	push   $0x46a7f8
46a6cd:	64 ff 30             	push   %fs:(%eax)
46a6d0:	64 89 20             	mov    %esp,%fs:(%eax)
46a6d3:	8b c6                	mov    %esi,%eax
46a6d5:	e8 82 fd ff ff       	call   0x46a45c
46a6da:	8b d0                	mov    %eax,%edx
46a6dc:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a6df:	8b 08                	mov    (%eax),%ecx
46a6e1:	ff 91 c4 00 00 00    	call   *0xc4(%ecx)
46a6e7:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
46a6eb:	74 0d                	je     0x46a6fa
46a6ed:	8b 55 08             	mov    0x8(%ebp),%edx
46a6f0:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a6f3:	e8 fc 23 00 00       	call   0x46caf4
46a6f8:	eb 0b                	jmp    0x46a705
46a6fa:	8b 56 0c             	mov    0xc(%esi),%edx
46a6fd:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a700:	e8 ef 23 00 00       	call   0x46caf4
46a705:	f6 46 22 04          	testb  $0x4,0x22(%esi)
46a709:	0f 95 c0             	setne  %al
46a70c:	8b 55 f8             	mov    -0x8(%ebp),%edx
46a70f:	88 42 45             	mov    %al,0x45(%edx)
46a712:	f6 46 22 02          	testb  $0x2,0x22(%esi)
46a716:	0f 95 c2             	setne  %dl
46a719:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a71c:	e8 a7 25 00 00       	call   0x46ccc8
46a721:	8a 56 21             	mov    0x21(%esi),%dl
46a724:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a727:	8b 08                	mov    (%eax),%ecx
46a729:	ff 91 dc 00 00 00    	call   *0xdc(%ecx)
46a72f:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a732:	8b 15 4c 75 46 00    	mov    0x46754c,%edx
46a738:	e8 3b 8e f9 ff       	call   0x403578
46a73d:	84 c0                	test   %al,%al
46a73f:	74 0e                	je     0x46a74f
46a741:	8b 46 14             	mov    0x14(%esi),%eax
46a744:	8b 55 f8             	mov    -0x8(%ebp),%edx
46a747:	89 82 00 01 00 00    	mov    %eax,0x100(%edx)
46a74d:	eb 1e                	jmp    0x46a76d
46a74f:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a752:	8b 15 50 77 46 00    	mov    0x467750,%edx
46a758:	e8 1b 8e f9 ff       	call   0x403578
46a75d:	84 c0                	test   %al,%al
46a75f:	74 0c                	je     0x46a76d
46a761:	8b 46 14             	mov    0x14(%esi),%eax
46a764:	8b 55 f8             	mov    -0x8(%ebp),%edx
46a767:	89 82 f4 00 00 00    	mov    %eax,0xf4(%edx)
46a76d:	85 ff                	test   %edi,%edi
46a76f:	74 0f                	je     0x46a780
46a771:	8b d7                	mov    %edi,%edx
46a773:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a776:	8b 08                	mov    (%eax),%ecx
46a778:	ff 91 c0 00 00 00    	call   *0xc0(%ecx)
46a77e:	eb 11                	jmp    0x46a791
46a780:	8b 46 04             	mov    0x4(%esi),%eax
46a783:	8b 50 1c             	mov    0x1c(%eax),%edx
46a786:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a789:	8b 08                	mov    (%eax),%ecx
46a78b:	ff 91 b8 00 00 00    	call   *0xb8(%ecx)
46a791:	f6 46 22 20          	testb  $0x20,0x22(%esi)
46a795:	75 06                	jne    0x46a79d
46a797:	80 7e 21 17          	cmpb   $0x17,0x21(%esi)
46a79b:	75 1c                	jne    0x46a7b9
46a79d:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a7a0:	8b 15 1c 59 46 00    	mov    0x46591c,%edx
46a7a6:	e8 cd 8d f9 ff       	call   0x403578
46a7ab:	84 c0                	test   %al,%al
46a7ad:	74 0a                	je     0x46a7b9
46a7af:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a7b2:	c6 80 e0 00 00 00 01 	movb   $0x1,0xe0(%eax)
46a7b9:	80 7e 20 00          	cmpb   $0x0,0x20(%esi)
46a7bd:	74 0d                	je     0x46a7cc
46a7bf:	b2 03                	mov    $0x3,%dl
46a7c1:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a7c4:	8b 08                	mov    (%eax),%ecx
46a7c6:	ff 91 bc 00 00 00    	call   *0xbc(%ecx)
46a7cc:	f6 46 22 10          	testb  $0x10,0x22(%esi)
46a7d0:	74 1c                	je     0x46a7ee
46a7d2:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a7d5:	8b 15 44 7e 46 00    	mov    0x467e44,%edx
46a7db:	e8 98 8d f9 ff       	call   0x403578
46a7e0:	84 c0                	test   %al,%al
46a7e2:	74 0a                	je     0x46a7ee
46a7e4:	b2 01                	mov    $0x1,%dl
46a7e6:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a7e9:	e8 e6 6e 00 00       	call   0x4716d4
46a7ee:	33 c0                	xor    %eax,%eax
46a7f0:	5a                   	pop    %edx
46a7f1:	59                   	pop    %ecx
46a7f2:	59                   	pop    %ecx
46a7f3:	64 89 10             	mov    %edx,%fs:(%eax)
46a7f6:	eb 17                	jmp    0x46a80f
46a7f8:	e9 b7 90 f9 ff       	jmp    0x4038b4
46a7fd:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a800:	e8 e7 8b f9 ff       	call   0x4033ec
46a805:	e8 be 93 f9 ff       	call   0x403bc8
46a80a:	e8 0d 94 f9 ff       	call   0x403c1c
46a80f:	33 c0                	xor    %eax,%eax
46a811:	5a                   	pop    %edx
46a812:	59                   	pop    %ecx
46a813:	59                   	pop    %ecx
46a814:	64 89 10             	mov    %edx,%fs:(%eax)
46a817:	68 34 a8 46 00       	push   $0x46a834
46a81c:	8d 45 f4             	lea    -0xc(%ebp),%eax
46a81f:	e8 40 99 f9 ff       	call   0x404164
46a824:	8d 45 08             	lea    0x8(%ebp),%eax
46a827:	e8 38 99 f9 ff       	call   0x404164
46a82c:	c3                   	ret
46a82d:	e9 36 93 f9 ff       	jmp    0x403b68
46a832:	eb e8                	jmp    0x46a81c
46a834:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a837:	5f                   	pop    %edi
46a838:	5e                   	pop    %esi
46a839:	5b                   	pop    %ebx
46a83a:	8b e5                	mov    %ebp,%esp
46a83c:	5d                   	pop    %ebp
46a83d:	c2 04 00             	ret    $0x4
46a840:	55                   	push   %ebp
46a841:	8b ec                	mov    %esp,%ebp
46a843:	83 c4 e8             	add    $0xffffffe8,%esp
46a846:	53                   	push   %ebx
46a847:	56                   	push   %esi
46a848:	57                   	push   %edi
46a849:	33 db                	xor    %ebx,%ebx
46a84b:	89 5d f8             	mov    %ebx,-0x8(%ebp)
46a84e:	8b d8                	mov    %eax,%ebx
46a850:	33 c0                	xor    %eax,%eax
46a852:	55                   	push   %ebp
46a853:	68 50 a9 46 00       	push   $0x46a950
46a858:	64 ff 30             	push   %fs:(%eax)
46a85b:	64 89 20             	mov    %esp,%fs:(%eax)
46a85e:	8b 45 0c             	mov    0xc(%ebp),%eax
46a861:	50                   	push   %eax
46a862:	8b c3                	mov    %ebx,%eax
46a864:	e8 ef fd ff ff       	call   0x46a658
46a869:	89 45 fc             	mov    %eax,-0x4(%ebp)
46a86c:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
46a870:	0f 84 c4 00 00 00    	je     0x46a93a
46a876:	8b c3                	mov    %ebx,%eax
46a878:	e8 87 fc ff ff       	call   0x46a504
46a87d:	84 c0                	test   %al,%al
46a87f:	0f 84 b5 00 00 00    	je     0x46a93a
46a885:	80 7b 21 1b          	cmpb   $0x1b,0x21(%ebx)
46a889:	75 79                	jne    0x46a904
46a88b:	8b 43 04             	mov    0x4(%ebx),%eax
46a88e:	8b 40 1c             	mov    0x1c(%eax),%eax
46a891:	80 b8 aa 00 00 00 00 	cmpb   $0x0,0xaa(%eax)
46a898:	74 07                	je     0x46a8a1
46a89a:	b8 01 00 00 00       	mov    $0x1,%eax
46a89f:	eb 07                	jmp    0x46a8a8
46a8a1:	8b c3                	mov    %ebx,%eax
46a8a3:	e8 b4 fb ff ff       	call   0x46a45c
46a8a8:	8b f0                	mov    %eax,%esi
46a8aa:	4e                   	dec    %esi
46a8ab:	85 f6                	test   %esi,%esi
46a8ad:	0f 8c 87 00 00 00    	jl     0x46a93a
46a8b3:	46                   	inc    %esi
46a8b4:	33 ff                	xor    %edi,%edi
46a8b6:	8d 45 f8             	lea    -0x8(%ebp),%eax
46a8b9:	50                   	push   %eax
46a8ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a8bd:	8b 40 38             	mov    0x38(%eax),%eax
46a8c0:	89 45 e8             	mov    %eax,-0x18(%ebp)
46a8c3:	c6 45 ec 0b          	movb   $0xb,-0x14(%ebp)
46a8c7:	89 7d f0             	mov    %edi,-0x10(%ebp)
46a8ca:	c6 45 f4 00          	movb   $0x0,-0xc(%ebp)
46a8ce:	8d 55 e8             	lea    -0x18(%ebp),%edx
46a8d1:	b9 01 00 00 00       	mov    $0x1,%ecx
46a8d6:	b8 6c a9 46 00       	mov    $0x46a96c,%eax
46a8db:	e8 34 ec f9 ff       	call   0x409514
46a8e0:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a8e3:	50                   	push   %eax
46a8e4:	6a 01                	push   $0x1
46a8e6:	8b c3                	mov    %ebx,%eax
46a8e8:	e8 df fb ff ff       	call   0x46a4cc
46a8ed:	33 d2                	xor    %edx,%edx
46a8ef:	e8 0c 02 00 00       	call   0x46ab00
46a8f4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46a8f7:	33 d2                	xor    %edx,%edx
46a8f9:	e8 42 ff ff ff       	call   0x46a840
46a8fe:	47                   	inc    %edi
46a8ff:	4e                   	dec    %esi
46a900:	75 b4                	jne    0x46a8b6
46a902:	eb 36                	jmp    0x46a93a
46a904:	8b c3                	mov    %ebx,%eax
46a906:	e8 c1 fb ff ff       	call   0x46a4cc
46a90b:	e8 38 22 fb ff       	call   0x41cb48
46a910:	8b f0                	mov    %eax,%esi
46a912:	4e                   	dec    %esi
46a913:	85 f6                	test   %esi,%esi
46a915:	7c 23                	jl     0x46a93a
46a917:	46                   	inc    %esi
46a918:	33 ff                	xor    %edi,%edi
46a91a:	6a 00                	push   $0x0
46a91c:	6a 01                	push   $0x1
46a91e:	8b c3                	mov    %ebx,%eax