46765b:	53                   	push   %ebx
46765c:	8b 5d 08             	mov    0x8(%ebp),%ebx
46765f:	33 c0                	xor    %eax,%eax
467661:	56                   	push   %esi
467662:	8b 73 08             	mov    0x8(%ebx),%esi
467665:	57                   	push   %edi
467666:	8b f9                	mov    %ecx,%edi
467668:	89 74 24 14          	mov    %esi,0x14(%esp)
46766c:	89 44 24 20          	mov    %eax,0x20(%esp)
467670:	89 44 24 2c          	mov    %eax,0x2c(%esp)
467674:	88 44 24 24          	mov    %al,0x24(%esp)
467678:	88 44 24 28          	mov    %al,0x28(%esp)
46767c:	88 44 24 1c          	mov    %al,0x1c(%esp)
467680:	83 fe 04             	cmp    $0x4,%esi
467683:	72 2d                	jb     0x4676b2
467685:	8b 43 04             	mov    0x4(%ebx),%eax
467688:	6a 29                	push   $0x29
46768a:	8b 40 0c             	mov    0xc(%eax),%eax
46768d:	8b c8                	mov    %eax,%ecx
46768f:	89 44 24 1c          	mov    %eax,0x1c(%esp)
467693:	e8 54 a5 f9 ff       	call   0x401bec
467698:	84 c0                	test   %al,%al
46769a:	75 16                	jne    0x4676b2
46769c:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4676a0:	e8 c7 1c fa ff       	call   0x40936c
4676a5:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4676a9:	8b 41 08             	mov    0x8(%ecx),%eax
4676ac:	8b 00                	mov    (%eax),%eax
4676ae:	89 44 24 20          	mov    %eax,0x20(%esp)
4676b2:	83 fe 05             	cmp    $0x5,%esi
4676b5:	72 24                	jb     0x4676db
4676b7:	8b 43 04             	mov    0x4(%ebx),%eax
4676ba:	6a 29                	push   $0x29
4676bc:	8b 40 10             	mov    0x10(%eax),%eax
4676bf:	8b c8                	mov    %eax,%ecx
4676c1:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4676c5:	e8 22 a5 f9 ff       	call   0x401bec
4676ca:	84 c0                	test   %al,%al
4676cc:	75 0d                	jne    0x4676db
4676ce:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4676d2:	e8 af 5b fa ff       	call   0x40d286
4676d7:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4676db:	83 fe 06             	cmp    $0x6,%esi
4676de:	72 50                	jb     0x467730
4676e0:	8b 4b 04             	mov    0x4(%ebx),%ecx
4676e3:	6a 29                	push   $0x29
4676e5:	8b 71 14             	mov    0x14(%ecx),%esi
4676e8:	8b ce                	mov    %esi,%ecx
4676ea:	e8 fd a4 f9 ff       	call   0x401bec
4676ef:	84 c0                	test   %al,%al
4676f1:	75 3d                	jne    0x467730
4676f3:	8b ce                	mov    %esi,%ecx
4676f5:	e8 8c 5b fa ff       	call   0x40d286
4676fa:	8b 4b 04             	mov    0x4(%ebx),%ecx
4676fd:	25 01 ff ff ff       	and    $0xffffff01,%eax
467702:	8b 49 14             	mov    0x14(%ecx),%ecx
467705:	89 44 24 24          	mov    %eax,0x24(%esp)
467709:	e8 78 5b fa ff       	call   0x40d286
46770e:	8b 4b 04             	mov    0x4(%ebx),%ecx
467711:	d0 e8                	shr    $1,%al
467713:	8b 49 14             	mov    0x14(%ecx),%ecx
467716:	25 01 ff ff ff       	and    $0xffffff01,%eax
46771b:	89 44 24 28          	mov    %eax,0x28(%esp)
46771f:	e8 62 5b fa ff       	call   0x40d286
467724:	c0 e8 02             	shr    $0x2,%al
467727:	25 01 ff ff ff       	and    $0xffffff01,%eax
46772c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
467730:	80 7c 24 28 00       	cmpb   $0x0,0x28(%esp)
467735:	c7 44 24 50 30 00 00 	movl   $0x30,0x50(%esp)
46773c:	00
46773d:	c7 44 24 54 a0 01 00 	movl   $0x1a0,0x54(%esp)
467744:	00
467745:	74 08                	je     0x46774f
467747:	c7 44 24 54 a2 01 00 	movl   $0x1a2,0x54(%esp)
46774e:	00
46774f:	8b 43 04             	mov    0x4(%ebx),%eax
467752:	83 64 24 58 00       	andl   $0x0,0x58(%esp)
467757:	83 64 24 70 00       	andl   $0x0,0x70(%esp)
46775c:	83 64 24 5c 00       	andl   $0x0,0x5c(%esp)
467761:	8b 30                	mov    (%eax),%esi
467763:	8b ce                	mov    %esi,%ecx
467765:	e8 02 1c fa ff       	call   0x40936c
46776a:	8b 46 08             	mov    0x8(%esi),%eax
46776d:	8b 00                	mov    (%eax),%eax
46776f:	89 44 24 74          	mov    %eax,0x74(%esp)
467773:	33 c0                	xor    %eax,%eax
467775:	89 44 24 6c          	mov    %eax,0x6c(%esp)
467779:	89 44 24 68          	mov    %eax,0x68(%esp)
46777d:	89 44 24 64          	mov    %eax,0x64(%esp)
467781:	89 44 24 60          	mov    %eax,0x60(%esp)
467785:	8d 44 24 0c          	lea    0xc(%esp),%eax
467789:	50                   	push   %eax
46778a:	ff 15 a4 d5 48 00    	call   *0x48d5a4
467790:	83 44 24 0c 10       	addl   $0x10,0xc(%esp)
467795:	83 44 24 10 10       	addl   $0x10,0x10(%esp)
46779a:	8d 44 24 30          	lea    0x30(%esp),%eax
46779e:	50                   	push   %eax
46779f:	ff 15 2c d6 48 00    	call   *0x48d62c
4677a5:	50                   	push   %eax
4677a6:	ff 15 7c d6 48 00    	call   *0x48d67c
4677ac:	8b 74 24 14          	mov    0x14(%esp),%esi
4677b0:	83 fe 02             	cmp    $0x2,%esi
4677b3:	72 24                	jb     0x4677d9
4677b5:	8b 43 04             	mov    0x4(%ebx),%eax
4677b8:	6a 29                	push   $0x29
4677ba:	8b 40 04             	mov    0x4(%eax),%eax
4677bd:	8b c8                	mov    %eax,%ecx
4677bf:	89 44 24 18          	mov    %eax,0x18(%esp)
4677c3:	e8 24 a4 f9 ff       	call   0x401bec
4677c8:	84 c0                	test   %al,%al
4677ca:	75 0d                	jne    0x4677d9
4677cc:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4677d0:	e8 b1 5a fa ff       	call   0x40d286
4677d5:	89 44 24 0c          	mov    %eax,0xc(%esp)
4677d9:	83 fe 03             	cmp    $0x3,%esi
4677dc:	72 1e                	jb     0x4677fc
4677de:	8b 43 04             	mov    0x4(%ebx),%eax
4677e1:	6a 29                	push   $0x29
4677e3:	8b 70 08             	mov    0x8(%eax),%esi
4677e6:	8b ce                	mov    %esi,%ecx
4677e8:	e8 ff a3 f9 ff       	call   0x401bec
4677ed:	84 c0                	test   %al,%al
4677ef:	75 0b                	jne    0x4677fc
4677f1:	8b ce                	mov    %esi,%ecx
4677f3:	e8 8e 5a fa ff       	call   0x40d286
4677f8:	89 44 24 10          	mov    %eax,0x10(%esp)
4677fc:	8b 5c 24 24          	mov    0x24(%esp),%ebx
467800:	6a f0                	push   $0xfffffff0
467802:	ff b7 e8 00 00 00    	push   0xe8(%edi)
467808:	ff 15 44 d6 48 00    	call   *0x48d644
46780e:	84 db                	test   %bl,%bl
467810:	74 18                	je     0x46782a
467812:	a8 40                	test   $0x40,%al
467814:	74 18                	je     0x46782e
467816:	33 f6                	xor    %esi,%esi
467818:	8b 87 e8 00 00 00    	mov    0xe8(%edi),%eax
46781e:	85 c0                	test   %eax,%eax
467820:	75 6d                	jne    0x46788f
467822:	84 db                	test   %bl,%bl
467824:	74 1e                	je     0x467844
467826:	6a 43                	push   $0x43
467828:	eb 1c                	jmp    0x467846
46782a:	a8 40                	test   $0x40,%al
46782c:	74 e8                	je     0x467816
46782e:	ff b7 e8 00 00 00    	push   0xe8(%edi)
467834:	ff 15 24 d6 48 00    	call   *0x48d624
46783a:	33 f6                	xor    %esi,%esi
46783c:	89 b7 e8 00 00 00    	mov    %esi,0xe8(%edi)
467842:	eb d4                	jmp    0x467818
467844:	6a 03                	push   $0x3
467846:	58                   	pop    %eax
467847:	56                   	push   %esi
467848:	56                   	push   %esi
467849:	56                   	push   %esi
46784a:	56                   	push   %esi
46784b:	b9 00 00 00 80       	mov    $0x80000000,%ecx
467850:	51                   	push   %ecx
467851:	51                   	push   %ecx
467852:	51                   	push   %ecx
467853:	51                   	push   %ecx
467854:	50                   	push   %eax
467855:	56                   	push   %esi
467856:	68 94 4a 4b 00       	push   $0x4b4a94
46785b:	6a 08                	push   $0x8
46785d:	ff 15 08 d7 48 00    	call   *0x48d708
467863:	8b 1d 70 d6 48 00    	mov    0x48d670,%ebx
467869:	8d 4c 24 50          	lea    0x50(%esp),%ecx
46786d:	51                   	push   %ecx
46786e:	56                   	push   %esi
46786f:	68 32 04 00 00       	push   $0x432
467874:	50                   	push   %eax
467875:	89 87 e8 00 00 00    	mov    %eax,0xe8(%edi)
46787b:	ff d3                	call   *%ebx
46787d:	ff 74 24 38          	push   0x38(%esp)
467881:	56                   	push   %esi
467882:	68 18 04 00 00       	push   $0x418
467887:	ff b7 e8 00 00 00    	push   0xe8(%edi)
46788d:	eb 12                	jmp    0x4678a1
46788f:	8b 1d 70 d6 48 00    	mov    0x48d670,%ebx
467895:	8d 4c 24 50          	lea    0x50(%esp),%ecx
467899:	51                   	push   %ecx
46789a:	56                   	push   %esi
46789b:	68 39 04 00 00       	push   $0x439
4678a0:	50                   	push   %eax
4678a1:	ff d3                	call   *%ebx
4678a3:	ff 74 24 20          	push   0x20(%esp)
4678a7:	ff 74 24 30          	push   0x30(%esp)
4678ab:	68 21 04 00 00       	push   $0x421
4678b0:	ff b7 e8 00 00 00    	push   0xe8(%edi)
4678b6:	ff d3                	call   *%ebx
4678b8:	85 c0                	test   %eax,%eax
4678ba:	74 11                	je     0x4678cd
4678bc:	56                   	push   %esi
4678bd:	56                   	push   %esi
4678be:	68 1d 04 00 00       	push   $0x41d
4678c3:	ff b7 e8 00 00 00    	push   0xe8(%edi)
4678c9:	ff d3                	call   *%ebx
4678cb:	eb 16                	jmp    0x4678e3
4678cd:	8b 75 0c             	mov    0xc(%ebp),%esi
4678d0:	8b ce                	mov    %esi,%ecx
4678d2:	e8 49 b3 fa ff       	call   0x412c20
4678d7:	83 26 00             	andl   $0x0,(%esi)
4678da:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4678e1:	33 f6                	xor    %esi,%esi
4678e3:	ff b7 e8 00 00 00    	push   0xe8(%edi)
4678e9:	ff 15 38 d6 48 00    	call   *0x48d638
4678ef:	85 c0                	test   %eax,%eax
4678f1:	75 27                	jne    0x46791a
4678f3:	68 f0 d8 f0 d8       	push   $0xd8f0d8f0
4678f8:	56                   	push   %esi
4678f9:	68 12 04 00 00       	push   $0x412
4678fe:	ff b7 e8 00 00 00    	push   0xe8(%edi)
467904:	ff d3                	call   *%ebx
467906:	8d 44 24 50          	lea    0x50(%esp),%eax
46790a:	50                   	push   %eax
46790b:	6a 01                	push   $0x1
46790d:	68 11 04 00 00       	push   $0x411
467912:	ff b7 e8 00 00 00    	push   0xe8(%edi)
467918:	ff d3                	call   *%ebx
46791a:	80 7c 24 1c 00       	cmpb   $0x0,0x1c(%esp)
46791f:	0f 84 ac 00 00 00    	je     0x4679d1
467925:	8d 44 24 40          	lea    0x40(%esp),%eax
467929:	50                   	push   %eax
46792a:	ff b7 e8 00 00 00    	push   0xe8(%edi)
467930:	ff 15 7c d6 48 00    	call   *0x48d67c
467936:	8b 74 24 48          	mov    0x48(%esp),%esi
46793a:	2b 74 24 40          	sub    0x40(%esp),%esi
46793e:	8b 44 24 4c          	mov    0x4c(%esp),%eax
467942:	2b 44 24 44          	sub    0x44(%esp),%eax
467946:	6a 02                	push   $0x2
467948:	ff 74 24 14          	push   0x14(%esp)
46794c:	46                   	inc    %esi
46794d:	ff 74 24 14          	push   0x14(%esp)
467951:	40                   	inc    %eax
467952:	89 44 24 20          	mov    %eax,0x20(%esp)
467956:	ff 15 e8 d4 48 00    	call   *0x48d4e8
46795c:	8d 8c 24 80 00 00 00 	lea    0x80(%esp),%ecx
467963:	51                   	push   %ecx
467964:	50                   	push   %eax
467965:	c7 84 24 88 00 00 00 	movl   $0x28,0x88(%esp)
46796c:	28 00 00 00
467970:	ff 15 ec d4 48 00    	call   *0x48d4ec
467976:	85 c0                	test   %eax,%eax
467978:	74 13                	je     0x46798d
46797a:	8d 84 24 84 00 00 00 	lea    0x84(%esp),%eax
467981:	50                   	push   %eax
467982:	8d 44 24 34          	lea    0x34(%esp),%eax
467986:	50                   	push   %eax
467987:	ff 15 08 d6 48 00    	call   *0x48d608
46798d:	8b 54 24 0c          	mov    0xc(%esp),%edx
467991:	3b 54 24 30          	cmp    0x30(%esp),%edx
467995:	7d 06                	jge    0x46799d
467997:	8b 54 24 30          	mov    0x30(%esp),%edx
46799b:	eb 0c                	jmp    0x4679a9
46799d:	8b 44 24 38          	mov    0x38(%esp),%eax
4679a1:	2b c6                	sub    %esi,%eax
4679a3:	3b d0                	cmp    %eax,%edx
4679a5:	7e 06                	jle    0x4679ad
4679a7:	8b d0                	mov    %eax,%edx
4679a9:	89 54 24 0c          	mov    %edx,0xc(%esp)
4679ad:	8b 44 24 10          	mov    0x10(%esp),%eax
4679b1:	3b 44 24 34          	cmp    0x34(%esp),%eax
4679b5:	7d 0a                	jge    0x4679c1
4679b7:	8b 44 24 34          	mov    0x34(%esp),%eax
4679bb:	89 44 24 10          	mov    %eax,0x10(%esp)
4679bf:	eb 18                	jmp    0x4679d9
4679c1:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4679c5:	2b 4c 24 14          	sub    0x14(%esp),%ecx
4679c9:	3b c1                	cmp    %ecx,%eax
4679cb:	7e 0c                	jle    0x4679d9
4679cd:	8b c1                	mov    %ecx,%eax
4679cf:	eb ea                	jmp    0x4679bb
4679d1:	8b 44 24 10          	mov    0x10(%esp),%eax
4679d5:	8b 54 24 0c          	mov    0xc(%esp),%edx
4679d9:	0f b7 c8             	movzwl %ax,%ecx
4679dc:	0f b7 c2             	movzwl %dx,%eax
4679df:	c1 e1 10             	shl    $0x10,%ecx
4679e2:	0b c8                	or     %eax,%ecx
4679e4:	51                   	push   %ecx
4679e5:	6a 00                	push   $0x0
4679e7:	68 12 04 00 00       	push   $0x412
4679ec:	ff b7 e8 00 00 00    	push   0xe8(%edi)
4679f2:	ff d3                	call   *%ebx
4679f4:	5f                   	pop    %edi
4679f5:	5e                   	pop    %esi
4679f6:	33 c0                	xor    %eax,%eax
4679f8:	5b                   	pop    %ebx
4679f9:	8b e5                	mov    %ebp,%esp
4679fb:	5d                   	pop    %ebp
4679fc:	c2 08 00             	ret    $0x8
4679ff:	55                   	push   %ebp
467a00:	8b ec                	mov    %esp,%ebp
467a02:	83 e4 f8             	and    $0xfffffff8,%esp
467a05:	51                   	push   %ecx
467a06:	53                   	push   %ebx
467a07:	56                   	push   %esi
467a08:	57                   	push   %edi
467a09:	ff 75 08             	push   0x8(%ebp)
467a0c:	8b d9                	mov    %ecx,%ebx
467a0e:	e8 41 b0 f9 ff       	call   0x402a54
467a13:	33 ff                	xor    %edi,%edi
467a15:	47                   	inc    %edi
467a16:	57                   	push   %edi
467a17:	8b cb                	mov    %ebx,%ecx
467a19:	e8 5b b2 f9 ff       	call   0x402c79
467a1e:	85 c0                	test   %eax,%eax
467a20:	7f 25                	jg     0x467a47
467a22:	79 11                	jns    0x467a35
467a24:	f7 d8                	neg    %eax
467a26:	6a 00                	push   $0x0
467a28:	50                   	push   %eax
467a29:	8b 03                	mov    (%ebx),%eax
467a2b:	8b 48 04             	mov    0x4(%eax),%ecx
467a2e:	03 cb                	add    %ebx,%ecx
467a30:	e8 17 55 fe ff       	call   0x44cf4c
467a35:	8b 75 0c             	mov    0xc(%ebp),%esi
467a38:	8b ce                	mov    %esi,%ecx
467a3a:	e8 e1 b1 fa ff       	call   0x412c20
467a3f:	83 26 00             	andl   $0x0,(%esi)
467a42:	89 7e 0c             	mov    %edi,0xc(%esi)
467a45:	eb 77                	jmp    0x467abe
467a47:	8b 83 f8 01 00 00    	mov    0x1f8(%ebx),%eax
467a4d:	8b 30                	mov    (%eax),%esi
467a4f:	ff 15 1c d7 48 00    	call   *0x48d71c
467a55:	3b f0                	cmp    %eax,%esi
467a57:	75 0b                	jne    0x467a64
467a59:	8b 8b 14 03 00 00    	mov    0x314(%ebx),%ecx
467a5f:	e8 f4 ff fd ff       	call   0x447a58
467a64:	8b 83 f8 01 00 00    	mov    0x1f8(%ebx),%eax
467a6a:	ff 30                	push   (%eax)
467a6c:	e8 d1 70 fb ff       	call   0x41eb42
467a71:	8b 75 0c             	mov    0xc(%ebp),%esi
467a74:	89 44 24 0c          	mov    %eax,0xc(%esp)
467a78:	8b ce                	mov    %esi,%ecx
467a7a:	85 c0                	test   %eax,%eax
467a7c:	75 0d                	jne    0x467a8b
467a7e:	e8 9d b1 fa ff       	call   0x412c20
467a83:	83 26 00             	andl   $0x0,(%esi)
467a86:	89 7e 0c             	mov    %edi,0xc(%esi)
467a89:	eb 28                	jmp    0x467ab3
467a8b:	8b 83 f8 01 00 00    	mov    0x1f8(%ebx),%eax
467a91:	8b 38                	mov    (%eax),%edi
467a93:	e8 88 b1 fa ff       	call   0x412c20
467a98:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
467a9f:	89 3e                	mov    %edi,(%esi)
467aa1:	8b 03                	mov    (%ebx),%eax
467aa3:	6a 00                	push   $0x0
467aa5:	8b 48 04             	mov    0x4(%eax),%ecx
467aa8:	ff 74 24 10          	push   0x10(%esp)
467aac:	03 cb                	add    %ebx,%ecx