46671c:	80 bb a4 00 00 00 00 	cmpb   $0x0,0xa4(%ebx)
466723:	75 1a                	jne    0x46673f
466725:	8b 43 30             	mov    0x30(%ebx),%eax
466728:	85 c0                	test   %eax,%eax
46672a:	74 5d                	je     0x466789
46672c:	8d 55 08             	lea    0x8(%ebp),%edx
46672f:	52                   	push   %edx
466730:	6a 01                	push   $0x1
466732:	68 20 b0 00 00       	push   $0xb020
466737:	50                   	push   %eax
466738:	e8 7f 03 fa ff       	call   0x406abc
46673d:	eb 4a                	jmp    0x466789
46673f:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
466745:	8b 78 08             	mov    0x8(%eax),%edi
466748:	4f                   	dec    %edi
466749:	85 ff                	test   %edi,%edi
46674b:	7c 3c                	jl     0x466789
46674d:	47                   	inc    %edi
46674e:	33 f6                	xor    %esi,%esi
466750:	8b d6                	mov    %esi,%edx
466752:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
466758:	e8 27 20 fb ff       	call   0x418784
46675d:	8b 10                	mov    (%eax),%edx
46675f:	3b 55 08             	cmp    0x8(%ebp),%edx
466762:	75 21                	jne    0x466785
466764:	8b 55 0c             	mov    0xc(%ebp),%edx
466767:	3b 50 04             	cmp    0x4(%eax),%edx
46676a:	75 19                	jne    0x466785
46676c:	ba 08 00 00 00       	mov    $0x8,%edx
466771:	e8 9e bf f9 ff       	call   0x402714
466776:	8b d6                	mov    %esi,%edx
466778:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
46677e:	e8 f1 1e fb ff       	call   0x418674
466783:	eb 04                	jmp    0x466789
466785:	46                   	inc    %esi
466786:	4f                   	dec    %edi
466787:	75 c7                	jne    0x466750
466789:	5f                   	pop    %edi
46678a:	5e                   	pop    %esi
46678b:	5b                   	pop    %ebx
46678c:	5d                   	pop    %ebp
46678d:	c2 08 00             	ret    $0x8
466790:	53                   	push   %ebx
466791:	a1 c0 46 47 00       	mov    0x4746c0,%eax
466796:	83 38 00             	cmpl   $0x0,(%eax)
466799:	74 0a                	je     0x4667a5
46679b:	8b 1d c0 46 47 00    	mov    0x4746c0,%ebx
4667a1:	8b 1b                	mov    (%ebx),%ebx
4667a3:	ff d3                	call   *%ebx
4667a5:	5b                   	pop    %ebx
4667a6:	c3                   	ret
4667a7:	90                   	nop
4667a8:	55                   	push   %ebp
4667a9:	8b ec                	mov    %esp,%ebp
4667ab:	51                   	push   %ecx
4667ac:	53                   	push   %ebx
4667ad:	56                   	push   %esi
4667ae:	57                   	push   %edi
4667af:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4667b2:	8b da                	mov    %edx,%ebx
4667b4:	8b f0                	mov    %eax,%esi
4667b6:	8b c3                	mov    %ebx,%eax
4667b8:	ff 50 f4             	call   *-0xc(%eax)
4667bb:	8b d8                	mov    %eax,%ebx
4667bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4667c0:	89 18                	mov    %ebx,(%eax)
4667c2:	33 c0                	xor    %eax,%eax
4667c4:	55                   	push   %ebp
4667c5:	68 e6 67 46 00       	push   $0x4667e6
4667ca:	64 ff 30             	push   %fs:(%eax)
4667cd:	64 89 20             	mov    %esp,%fs:(%eax)
4667d0:	8b ce                	mov    %esi,%ecx
4667d2:	83 ca ff             	or     $0xffffffff,%edx
4667d5:	8b c3                	mov    %ebx,%eax
4667d7:	8b 38                	mov    (%eax),%edi
4667d9:	ff 57 2c             	call   *0x2c(%edi)
4667dc:	33 c0                	xor    %eax,%eax
4667de:	5a                   	pop    %edx
4667df:	59                   	pop    %ecx
4667e0:	59                   	pop    %ecx
4667e1:	64 89 10             	mov    %edx,%fs:(%eax)
4667e4:	eb 16                	jmp    0x4667fc
4667e6:	e9 b5 cf f9 ff       	jmp    0x4037a0
4667eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4667ee:	33 d2                	xor    %edx,%edx
4667f0:	89 10                	mov    %edx,(%eax)
4667f2:	e8 bd d2 f9 ff       	call   0x403ab4
4667f7:	e8 0c d3 f9 ff       	call   0x403b08
4667fc:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
466800:	75 1d                	jne    0x46681f
466802:	8b c3                	mov    %ebx,%eax
466804:	8b 15 4c c5 45 00    	mov    0x45c54c,%edx
46680a:	e8 3d cc f9 ff       	call   0x40344c
46680f:	84 c0                	test   %al,%al
466811:	74 0c                	je     0x46681f
466813:	8b fb                	mov    %ebx,%edi
466815:	8b c7                	mov    %edi,%eax
466817:	e8 9c 6b fe ff       	call   0x44d3b8
46681c:	89 7e 44             	mov    %edi,0x44(%esi)
46681f:	5f                   	pop    %edi
466820:	5e                   	pop    %esi
466821:	5b                   	pop    %ebx
466822:	59                   	pop    %ecx
466823:	5d                   	pop    %ebp
466824:	c3                   	ret
466825:	8d 40 00             	lea    0x0(%eax),%eax
466828:	55                   	push   %ebp
466829:	8b ec                	mov    %esp,%ebp
46682b:	51                   	push   %ecx
46682c:	53                   	push   %ebx
46682d:	56                   	push   %esi
46682e:	57                   	push   %edi
46682f:	89 45 fc             	mov    %eax,-0x4(%ebp)
466832:	8b 45 fc             	mov    -0x4(%ebp),%eax
466835:	c6 80 a5 00 00 00 01 	movb   $0x1,0xa5(%eax)
46683c:	33 d2                	xor    %edx,%edx
46683e:	55                   	push   %ebp
46683f:	68 06 69 46 00       	push   $0x466906
466844:	64 ff 32             	push   %fs:(%edx)
466847:	64 89 22             	mov    %esp,%fs:(%edx)
46684a:	b8 38 d7 45 00       	mov    $0x45d738,%eax
46684f:	e8 cc 15 fa ff       	call   0x407e20
466854:	8b 45 fc             	mov    -0x4(%ebp),%eax
466857:	8b 40 44             	mov    0x44(%eax),%eax
46685a:	85 c0                	test   %eax,%eax
46685c:	0f 84 8c 00 00 00    	je     0x4668ee
466862:	8b 15 30 47 47 00    	mov    0x474730,%edx
466868:	8b 12                	mov    (%edx),%edx
46686a:	83 ea 03             	sub    $0x3,%edx
46686d:	74 0e                	je     0x46687d
46686f:	83 ea 04             	sub    $0x4,%edx
466872:	75 10                	jne    0x466884
466874:	c6 80 2b 02 00 00 01 	movb   $0x1,0x22b(%eax)
46687b:	eb 07                	jmp    0x466884
46687d:	b2 02                	mov    $0x2,%dl
46687f:	e8 98 a6 ff ff       	call   0x460f1c
466884:	8b 45 fc             	mov    -0x4(%ebp),%eax
466887:	80 78 5b 00          	cmpb   $0x0,0x5b(%eax)
46688b:	74 20                	je     0x4668ad
46688d:	8b 45 fc             	mov    -0x4(%ebp),%eax
466890:	8b 40 44             	mov    0x44(%eax),%eax
466893:	80 b8 2b 02 00 00 01 	cmpb   $0x1,0x22b(%eax)
46689a:	75 0a                	jne    0x4668a6
46689c:	8b 45 fc             	mov    -0x4(%ebp),%eax
46689f:	e8 54 f9 ff ff       	call   0x4661f8
4668a4:	eb 07                	jmp    0x4668ad
4668a6:	b2 01                	mov    $0x1,%dl
4668a8:	e8 77 95 ff ff       	call   0x45fe24
4668ad:	33 c0                	xor    %eax,%eax
4668af:	55                   	push   %ebp
4668b0:	68 cd 68 46 00       	push   $0x4668cd
4668b5:	64 ff 30             	push   %fs:(%eax)
4668b8:	64 89 20             	mov    %esp,%fs:(%eax)
4668bb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4668be:	e8 d1 fd ff ff       	call   0x466694
4668c3:	33 c0                	xor    %eax,%eax
4668c5:	5a                   	pop    %edx
4668c6:	59                   	pop    %ecx
4668c7:	59                   	pop    %ecx
4668c8:	64 89 10             	mov    %edx,%fs:(%eax)
4668cb:	eb 15                	jmp    0x4668e2
4668cd:	e9 ce ce f9 ff       	jmp    0x4037a0
4668d2:	8b 55 fc             	mov    -0x4(%ebp),%edx
4668d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4668d8:	e8 4b 00 00 00       	call   0x466928
4668dd:	e8 26 d2 f9 ff       	call   0x403b08
4668e2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4668e5:	80 b8 9c 00 00 00 00 	cmpb   $0x0,0x9c(%eax)
4668ec:	74 bf                	je     0x4668ad
4668ee:	33 c0                	xor    %eax,%eax
4668f0:	5a                   	pop    %edx
4668f1:	59                   	pop    %ecx
4668f2:	59                   	pop    %ecx
4668f3:	64 89 10             	mov    %edx,%fs:(%eax)
4668f6:	68 0d 69 46 00       	push   $0x46690d
4668fb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4668fe:	c6 80 a5 00 00 00 00 	movb   $0x0,0xa5(%eax)
466905:	c3                   	ret
466906:	e9 49 d1 f9 ff       	jmp    0x403a54
46690b:	eb ee                	jmp    0x4668fb
46690d:	5f                   	pop    %edi
46690e:	5e                   	pop    %esi
46690f:	5b                   	pop    %ebx
466910:	59                   	pop    %ecx
466911:	5d                   	pop    %ebp
466912:	c3                   	ret
466913:	90                   	nop
466914:	e8 0f 67 fa ff       	call   0x40d028
466919:	84 c0                	test   %al,%al
46691b:	74 07                	je     0x466924
46691d:	6a 00                	push   $0x0
46691f:	e8 38 01 fa ff       	call   0x406a5c
466924:	c3                   	ret
466925:	8d 40 00             	lea    0x0(%eax),%eax
466928:	53                   	push   %ebx
466929:	56                   	push   %esi
46692a:	8b f2                	mov    %edx,%esi
46692c:	8b d8                	mov    %eax,%ebx
46692e:	e8 e1 fe f9 ff       	call   0x406814
466933:	85 c0                	test   %eax,%eax
466935:	74 11                	je     0x466948
466937:	6a 00                	push   $0x0
466939:	6a 00                	push   $0x0
46693b:	6a 1f                	push   $0x1f
46693d:	e8 d2 fe f9 ff       	call   0x406814
466942:	50                   	push   %eax
466943:	e8 74 01 fa ff       	call   0x406abc
466948:	e8 37 be f9 ff       	call   0x402784
46694d:	8b 15 e0 71 40 00    	mov    0x4071e0,%edx
466953:	e8 f4 ca f9 ff       	call   0x40344c
466958:	84 c0                	test   %al,%al
46695a:	74 46                	je     0x4669a2
46695c:	e8 23 be f9 ff       	call   0x402784
466961:	8b 15 a0 90 46 00    	mov    0x4690a0,%edx
466967:	e8 e0 ca f9 ff       	call   0x40344c
46696c:	84 c0                	test   %al,%al
46696e:	75 43                	jne    0x4669b3
466970:	66 83 bb d2 00 00 00 	cmpw   $0x0,0xd2(%ebx)
466977:	00
466978:	74 17                	je     0x466991
46697a:	e8 05 be f9 ff       	call   0x402784
46697f:	8b c8                	mov    %eax,%ecx
466981:	8b d6                	mov    %esi,%edx
466983:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
466989:	ff 93 d0 00 00 00    	call   *0xd0(%ebx)
46698f:	eb 22                	jmp    0x4669b3
466991:	e8 ee bd f9 ff       	call   0x402784
466996:	8b d0                	mov    %eax,%edx
466998:	8b c3                	mov    %ebx,%eax
46699a:	e8 81 01 00 00       	call   0x466b20
46699f:	5e                   	pop    %esi
4669a0:	5b                   	pop    %ebx
4669a1:	c3                   	ret
4669a2:	e8 fd bd f9 ff       	call   0x4027a4
4669a7:	50                   	push   %eax
4669a8:	e8 d7 bd f9 ff       	call   0x402784
4669ad:	5a                   	pop    %edx
4669ae:	e8 79 50 fa ff       	call   0x40ba2c
4669b3:	5e                   	pop    %esi
4669b4:	5b                   	pop    %ebx
4669b5:	c3                   	ret
4669b6:	8b c0                	mov    %eax,%eax
4669b8:	55                   	push   %ebp
4669b9:	8b ec                	mov    %esp,%ebp
4669bb:	83 c4 ac             	add    $0xffffffac,%esp
4669be:	53                   	push   %ebx
4669bf:	56                   	push   %esi
4669c0:	57                   	push   %edi
4669c1:	8b f9                	mov    %ecx,%edi
4669c3:	8b f2                	mov    %edx,%esi
4669c5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4669c8:	8b 5d 08             	mov    0x8(%ebp),%ebx
4669cb:	e8 3c fe f9 ff       	call   0x40680c
4669d0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4669d3:	6a 02                	push   $0x2
4669d5:	8b 45 f4             	mov    -0xc(%ebp),%eax
4669d8:	50                   	push   %eax
4669d9:	a1 9c 46 47 00       	mov    0x47469c,%eax
4669de:	8b 00                	mov    (%eax),%eax
4669e0:	ff d0                	call   *%eax
4669e2:	89 45 ec             	mov    %eax,-0x14(%ebp)
4669e5:	6a 02                	push   $0x2
4669e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4669ea:	8b 40 30             	mov    0x30(%eax),%eax
4669ed:	50                   	push   %eax
4669ee:	a1 9c 46 47 00       	mov    0x47469c,%eax
4669f3:	8b 00                	mov    (%eax),%eax
4669f5:	ff d0                	call   *%eax
4669f7:	89 45 e8             	mov    %eax,-0x18(%ebp)
4669fa:	8b 45 ec             	mov    -0x14(%ebp),%eax
4669fd:	3b 45 e8             	cmp    -0x18(%ebp),%eax
466a00:	74 60                	je     0x466a62
466a02:	c7 45 bc 28 00 00 00 	movl   $0x28,-0x44(%ebp)
466a09:	8d 45 bc             	lea    -0x44(%ebp),%eax
466a0c:	50                   	push   %eax
466a0d:	8b 45 ec             	mov    -0x14(%ebp),%eax
466a10:	50                   	push   %eax
466a11:	a1 e8 45 47 00       	mov    0x4745e8,%eax
466a16:	8b 00                	mov    (%eax),%eax
466a18:	ff d0                	call   *%eax
466a1a:	8d 45 ac             	lea    -0x54(%ebp),%eax
466a1d:	50                   	push   %eax
466a1e:	8b 45 fc             	mov    -0x4(%ebp),%eax
466a21:	8b 40 30             	mov    0x30(%eax),%eax
466a24:	50                   	push   %eax
466a25:	e8 42 ff f9 ff       	call   0x40696c
466a2a:	6a 1d                	push   $0x1d
466a2c:	6a 00                	push   $0x0
466a2e:	6a 00                	push   $0x0
466a30:	8b 4d cc             	mov    -0x34(%ebp),%ecx
466a33:	8b 55 c4             	mov    -0x3c(%ebp),%edx
466a36:	2b ca                	sub    %edx,%ecx
466a38:	d1 f9                	sar    $1,%ecx
466a3a:	79 03                	jns    0x466a3f
466a3c:	83 d1 00             	adc    $0x0,%ecx
466a3f:	03 ca                	add    %edx,%ecx
466a41:	51                   	push   %ecx
466a42:	8b 55 c8             	mov    -0x38(%ebp),%edx
466a45:	8b 45 c0             	mov    -0x40(%ebp),%eax
466a48:	2b d0                	sub    %eax,%edx
466a4a:	d1 fa                	sar    $1,%edx
466a4c:	79 03                	jns    0x466a51
466a4e:	83 d2 00             	adc    $0x0,%edx
466a51:	03 d0                	add    %eax,%edx
466a53:	52                   	push   %edx
466a54:	6a 00                	push   $0x0
466a56:	8b 45 fc             	mov    -0x4(%ebp),%eax
466a59:	8b 40 30             	mov    0x30(%eax),%eax
466a5c:	50                   	push   %eax
466a5d:	e8 ea 00 fa ff       	call   0x406b4c
466a62:	33 c0                	xor    %eax,%eax
466a64:	e8 57 6d ff ff       	call   0x45d7c0
466a69:	89 45 f0             	mov    %eax,-0x10(%ebp)
466a6c:	e8 6b 6c ff ff       	call   0x45d6dc
466a71:	89 45 e4             	mov    %eax,-0x1c(%ebp)
466a74:	8b 45 fc             	mov    -0x4(%ebp),%eax
466a77:	e8 e0 ee ff ff       	call   0x46595c
466a7c:	84 c0                	test   %al,%al
466a7e:	74 06                	je     0x466a86
466a80:	81 cb 00 00 10 00    	or     $0x100000,%ebx
466a86:	33 c9                	xor    %ecx,%ecx
466a88:	55                   	push   %ebp
466a89:	68 0d 6b 46 00       	push   $0x466b0d
466a8e:	64 ff 31             	push   %fs:(%ecx)
466a91:	64 89 21             	mov    %esp,%fs:(%ecx)
466a94:	53                   	push   %ebx
466a95:	57                   	push   %edi
466a96:	56                   	push   %esi
466a97:	8b 45 fc             	mov    -0x4(%ebp),%eax
466a9a:	8b 40 30             	mov    0x30(%eax),%eax
466a9d:	50                   	push   %eax
466a9e:	e8 91 ff f9 ff       	call   0x406a34
466aa3:	89 45 f8             	mov    %eax,-0x8(%ebp)
466aa6:	33 c0                	xor    %eax,%eax
466aa8:	5a                   	pop    %edx
466aa9:	59                   	pop    %ecx
466aaa:	59                   	pop    %ecx
466aab:	64 89 10             	mov    %edx,%fs:(%eax)
466aae:	68 14 6b 46 00       	push   $0x466b14
466ab3:	8b 45 ec             	mov    -0x14(%ebp),%eax
466ab6:	3b 45 e8             	cmp    -0x18(%ebp),%eax
466ab9:	74 38                	je     0x466af3
466abb:	6a 1d                	push   $0x1d
466abd:	6a 00                	push   $0x0
466abf:	6a 00                	push   $0x0
466ac1:	8b 4d b8             	mov    -0x48(%ebp),%ecx
466ac4:	8b 55 b0             	mov    -0x50(%ebp),%edx
466ac7:	2b ca                	sub    %edx,%ecx
466ac9:	d1 f9                	sar    $1,%ecx
466acb:	79 03                	jns    0x466ad0