480801:	8b f8                	mov    %eax,%edi
480803:	8b 0d 38 84 4b 00    	mov    0x4b8438,%ecx
480809:	85 8f 50 03 00 00    	test   %ecx,0x350(%edi)
48080f:	74 07                	je     0x480818
480811:	8b 77 4c             	mov    0x4c(%edi),%esi
480814:	85 f6                	test   %esi,%esi
480816:	75 43                	jne    0x48085b
480818:	6a 04                	push   $0x4
48081a:	e8 ed 76 fe ff       	call   0x467f0c
48081f:	59                   	pop    %ecx
480820:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
480824:	ff 35 14 bf 4b 00    	push   0x4bbf14
48082a:	8d 47 4c             	lea    0x4c(%edi),%eax
48082d:	50                   	push   %eax
48082e:	e8 30 00 00 00       	call   0x480863
480833:	59                   	pop    %ecx
480834:	59                   	pop    %ecx
480835:	8b f0                	mov    %eax,%esi
480837:	89 75 e4             	mov    %esi,-0x1c(%ebp)
48083a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
480841:	e8 0c 00 00 00       	call   0x480852
480846:	85 f6                	test   %esi,%esi
480848:	75 11                	jne    0x48085b
48084a:	e8 84 91 fe ff       	call   0x4699d3
48084f:	8b 75 e4             	mov    -0x1c(%ebp),%esi
480852:	6a 04                	push   $0x4
480854:	e8 fb 76 fe ff       	call   0x467f54
480859:	59                   	pop    %ecx
48085a:	c3                   	ret
48085b:	8b c6                	mov    %esi,%eax
48085d:	e8 44 01 fc ff       	call   0x4409a6
480862:	c3                   	ret
480863:	8b ff                	mov    %edi,%edi
480865:	55                   	push   %ebp
480866:	8b ec                	mov    %esp,%ebp
480868:	56                   	push   %esi
480869:	8b 75 0c             	mov    0xc(%ebp),%esi
48086c:	57                   	push   %edi
48086d:	85 f6                	test   %esi,%esi
48086f:	74 3c                	je     0x4808ad
480871:	8b 45 08             	mov    0x8(%ebp),%eax
480874:	85 c0                	test   %eax,%eax
480876:	74 35                	je     0x4808ad
480878:	8b 38                	mov    (%eax),%edi
48087a:	3b fe                	cmp    %esi,%edi
48087c:	75 04                	jne    0x480882
48087e:	8b c6                	mov    %esi,%eax
480880:	eb 2d                	jmp    0x4808af
480882:	56                   	push   %esi
480883:	89 30                	mov    %esi,(%eax)
480885:	e8 98 fc ff ff       	call   0x480522
48088a:	59                   	pop    %ecx
48088b:	85 ff                	test   %edi,%edi
48088d:	74 ef                	je     0x48087e
48088f:	57                   	push   %edi
480890:	e8 d6 fe ff ff       	call   0x48076b
480895:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
480899:	59                   	pop    %ecx
48089a:	75 e2                	jne    0x48087e
48089c:	81 ff 30 82 4b 00    	cmp    $0x4b8230,%edi
4808a2:	74 da                	je     0x48087e
4808a4:	57                   	push   %edi
4808a5:	e8 f5 fc ff ff       	call   0x48059f
4808aa:	59                   	pop    %ecx
4808ab:	eb d1                	jmp    0x48087e
4808ad:	33 c0                	xor    %eax,%eax
4808af:	5f                   	pop    %edi
4808b0:	5e                   	pop    %esi
4808b1:	5d                   	pop    %ebp
4808b2:	c3                   	ret
4808b3:	8b ff                	mov    %edi,%edi
4808b5:	55                   	push   %ebp
4808b6:	8b ec                	mov    %esp,%ebp
4808b8:	81 ec b0 00 00 00    	sub    $0xb0,%esp
4808be:	a1 94 80 4b 00       	mov    0x4b8094,%eax
4808c3:	33 c5                	xor    %ebp,%eax
4808c5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4808c8:	56                   	push   %esi
4808c9:	8b 75 08             	mov    0x8(%ebp),%esi
4808cc:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
4808d2:	6a 55                	push   $0x55
4808d4:	50                   	push   %eax
4808d5:	81 4e 08 04 01 00 00 	orl    $0x104,0x8(%esi)
4808dc:	e8 79 49 ff ff       	call   0x47525a
4808e1:	83 f8 01             	cmp    $0x1,%eax
4808e4:	7e 3c                	jle    0x480922
4808e6:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
4808ec:	57                   	push   %edi
4808ed:	8d 51 02             	lea    0x2(%ecx),%edx
4808f0:	33 ff                	xor    %edi,%edi
4808f2:	66 8b 01             	mov    (%ecx),%ax
4808f5:	83 c1 02             	add    $0x2,%ecx
4808f8:	66 3b c7             	cmp    %di,%ax
4808fb:	75 f5                	jne    0x4808f2
4808fd:	2b ca                	sub    %edx,%ecx
4808ff:	d1 f9                	sar    $1,%ecx
480901:	8d 41 01             	lea    0x1(%ecx),%eax
480904:	50                   	push   %eax
480905:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
48090b:	50                   	push   %eax
48090c:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
480912:	6a 55                	push   $0x55
480914:	50                   	push   %eax
480915:	e8 b8 e6 ff ff       	call   0x47efd2
48091a:	83 c4 10             	add    $0x10,%esp
48091d:	85 c0                	test   %eax,%eax
48091f:	75 10                	jne    0x480931
480921:	5f                   	pop    %edi
480922:	8b 4d fc             	mov    -0x4(%ebp),%ecx
480925:	33 cd                	xor    %ebp,%ecx
480927:	5e                   	pop    %esi
480928:	e8 d5 f0 fb ff       	call   0x43fa02
48092d:	8b e5                	mov    %ebp,%esp
48092f:	5d                   	pop    %ebp
480930:	c3                   	ret
480931:	57                   	push   %edi
480932:	57                   	push   %edi
480933:	57                   	push   %edi
480934:	57                   	push   %edi
480935:	57                   	push   %edi
480936:	e8 c8 c3 fc ff       	call   0x44cd03
48093b:	cc                   	int3
48093c:	8b ff                	mov    %edi,%edi
48093e:	55                   	push   %ebp
48093f:	8b ec                	mov    %esp,%ebp
480941:	51                   	push   %ecx
480942:	53                   	push   %ebx
480943:	56                   	push   %esi
480944:	8b 75 08             	mov    0x8(%ebp),%esi
480947:	33 db                	xor    %ebx,%ebx
480949:	57                   	push   %edi
48094a:	6a 02                	push   $0x2
48094c:	5a                   	pop    %edx
48094d:	8b 0e                	mov    (%esi),%ecx
48094f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
480952:	8d 79 02             	lea    0x2(%ecx),%edi
480955:	66 8b 01             	mov    (%ecx),%ax
480958:	03 ca                	add    %edx,%ecx
48095a:	66 3b c3             	cmp    %bx,%ax
48095d:	75 f6                	jne    0x480955
48095f:	2b cf                	sub    %edi,%ecx
480961:	33 db                	xor    %ebx,%ebx
480963:	d1 f9                	sar    $1,%ecx
480965:	83 f9 03             	cmp    $0x3,%ecx
480968:	8b 4e 04             	mov    0x4(%esi),%ecx
48096b:	0f 94 c3             	sete   %bl
48096e:	89 5e 10             	mov    %ebx,0x10(%esi)
480971:	8d 79 02             	lea    0x2(%ecx),%edi
480974:	66 8b 01             	mov    (%ecx),%ax
480977:	03 ca                	add    %edx,%ecx
480979:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
48097d:	75 f5                	jne    0x480974
48097f:	2b cf                	sub    %edi,%ecx
480981:	33 c0                	xor    %eax,%eax
480983:	d1 f9                	sar    $1,%ecx
480985:	83 f9 03             	cmp    $0x3,%ecx
480988:	0f 94 c0             	sete   %al
48098b:	89 46 14             	mov    %eax,0x14(%esi)
48098e:	85 db                	test   %ebx,%ebx
480990:	75 0a                	jne    0x48099c
480992:	ff 36                	push   (%esi)
480994:	e8 98 00 00 00       	call   0x480a31
480999:	59                   	pop    %ecx
48099a:	8b d0                	mov    %eax,%edx
48099c:	33 db                	xor    %ebx,%ebx
48099e:	89 56 0c             	mov    %edx,0xc(%esi)
4809a1:	53                   	push   %ebx
4809a2:	53                   	push   %ebx
4809a3:	6a 03                	push   $0x3
4809a5:	68 65 0a 48 00       	push   $0x480a65
4809aa:	e8 32 45 ff ff       	call   0x474ee1
4809af:	8b 4e 08             	mov    0x8(%esi),%ecx
4809b2:	f6 c1 07             	test   $0x7,%cl
4809b5:	0f 95 c2             	setne  %dl
4809b8:	0f ba e1 09          	bt     $0x9,%ecx
4809bc:	0f 92 c0             	setb   %al
4809bf:	22 d0                	and    %al,%dl
4809c1:	0f ba e1 08          	bt     $0x8,%ecx
4809c5:	0f 92 c0             	setb   %al
4809c8:	84 d0                	test   %dl,%al
4809ca:	75 03                	jne    0x4809cf
4809cc:	89 5e 08             	mov    %ebx,0x8(%esi)
4809cf:	5f                   	pop    %edi
4809d0:	5e                   	pop    %esi
4809d1:	5b                   	pop    %ebx
4809d2:	8b e5                	mov    %ebp,%esp
4809d4:	5d                   	pop    %ebp
4809d5:	c3                   	ret
4809d6:	8b ff                	mov    %edi,%edi
4809d8:	55                   	push   %ebp
4809d9:	8b ec                	mov    %esp,%ebp
4809db:	53                   	push   %ebx
4809dc:	56                   	push   %esi
4809dd:	8b 75 08             	mov    0x8(%ebp),%esi
4809e0:	33 db                	xor    %ebx,%ebx
4809e2:	57                   	push   %edi
4809e3:	6a 02                	push   $0x2
4809e5:	5a                   	pop    %edx
4809e6:	8b 0e                	mov    (%esi),%ecx
4809e8:	8d 79 02             	lea    0x2(%ecx),%edi
4809eb:	66 8b 01             	mov    (%ecx),%ax
4809ee:	03 ca                	add    %edx,%ecx
4809f0:	66 3b c3             	cmp    %bx,%ax
4809f3:	75 f6                	jne    0x4809eb
4809f5:	2b cf                	sub    %edi,%ecx
4809f7:	33 c0                	xor    %eax,%eax
4809f9:	d1 f9                	sar    $1,%ecx
4809fb:	83 f9 03             	cmp    $0x3,%ecx
4809fe:	0f 94 c0             	sete   %al
480a01:	89 46 10             	mov    %eax,0x10(%esi)
480a04:	85 c0                	test   %eax,%eax
480a06:	75 0a                	jne    0x480a12
480a08:	ff 36                	push   (%esi)
480a0a:	e8 22 00 00 00       	call   0x480a31
480a0f:	59                   	pop    %ecx
480a10:	8b d0                	mov    %eax,%edx
480a12:	53                   	push   %ebx
480a13:	53                   	push   %ebx
480a14:	6a 03                	push   $0x3
480a16:	68 4f 0d 48 00       	push   $0x480d4f
480a1b:	89 56 0c             	mov    %edx,0xc(%esi)
480a1e:	e8 be 44 ff ff       	call   0x474ee1
480a23:	f6 46 08 04          	testb  $0x4,0x8(%esi)
480a27:	75 03                	jne    0x480a2c
480a29:	89 5e 08             	mov    %ebx,0x8(%esi)
480a2c:	5f                   	pop    %edi
480a2d:	5e                   	pop    %esi
480a2e:	5b                   	pop    %ebx
480a2f:	5d                   	pop    %ebp
480a30:	c3                   	ret
480a31:	8b ff                	mov    %edi,%edi
480a33:	55                   	push   %ebp
480a34:	8b ec                	mov    %esp,%ebp
480a36:	8b 4d 08             	mov    0x8(%ebp),%ecx
480a39:	33 d2                	xor    %edx,%edx
480a3b:	85 c9                	test   %ecx,%ecx
480a3d:	75 04                	jne    0x480a43
480a3f:	33 c0                	xor    %eax,%eax
480a41:	5d                   	pop    %ebp
480a42:	c3                   	ret
480a43:	0f b7 01             	movzwl (%ecx),%eax
480a46:	83 c1 02             	add    $0x2,%ecx
480a49:	66 83 f8 41          	cmp    $0x41,%ax
480a4d:	72 06                	jb     0x480a55
480a4f:	66 83 f8 5a          	cmp    $0x5a,%ax
480a53:	76 09                	jbe    0x480a5e
480a55:	83 c0 9f             	add    $0xffffff9f,%eax
480a58:	66 83 f8 19          	cmp    $0x19,%ax
480a5c:	77 03                	ja     0x480a61
480a5e:	42                   	inc    %edx
480a5f:	eb e2                	jmp    0x480a43
480a61:	8b c2                	mov    %edx,%eax
480a63:	5d                   	pop    %ebp
480a64:	c3                   	ret
480a65:	8b ff                	mov    %edi,%edi
480a67:	55                   	push   %ebp
480a68:	8b ec                	mov    %esp,%ebp
480a6a:	81 ec 88 00 00 00    	sub    $0x88,%esp
480a70:	a1 94 80 4b 00       	mov    0x4b8094,%eax
480a75:	33 c5                	xor    %ebp,%eax
480a77:	89 45 fc             	mov    %eax,-0x4(%ebp)
480a7a:	56                   	push   %esi
480a7b:	57                   	push   %edi
480a7c:	8b 7d 08             	mov    0x8(%ebp),%edi
480a7f:	e8 7c 15 ff ff       	call   0x472000
480a84:	8b f0                	mov    %eax,%esi
480a86:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
480a8c:	6a 40                	push   $0x40
480a8e:	50                   	push   %eax
480a8f:	8b 4e 64             	mov    0x64(%esi),%ecx
480a92:	f7 d9                	neg    %ecx
480a94:	1b c9                	sbb    %ecx,%ecx
480a96:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
480a9c:	81 c1 02 10 00 00    	add    $0x1002,%ecx
480aa2:	51                   	push   %ecx
480aa3:	57                   	push   %edi
480aa4:	e8 a9 46 ff ff       	call   0x475152
480aa9:	85 c0                	test   %eax,%eax
480aab:	75 09                	jne    0x480ab6
480aad:	21 46 58             	and    %eax,0x58(%esi)
480ab0:	40                   	inc    %eax
480ab1:	e9 7c 02 00 00       	jmp    0x480d32
480ab6:	53                   	push   %ebx
480ab7:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
480abd:	50                   	push   %eax
480abe:	ff 76 54             	push   0x54(%esi)
480ac1:	e8 41 66 fe ff       	call   0x467107
480ac6:	33 db                	xor    %ebx,%ebx
480ac8:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
480ace:	59                   	pop    %ecx
480acf:	59                   	pop    %ecx
480ad0:	85 c0                	test   %eax,%eax
480ad2:	0f 85 e0 00 00 00    	jne    0x480bb8
480ad8:	6a 40                	push   $0x40
480ada:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
480ae0:	50                   	push   %eax
480ae1:	8b 46 60             	mov    0x60(%esi),%eax
480ae4:	f7 d8                	neg    %eax
480ae6:	1b c0                	sbb    %eax,%eax
480ae8:	25 02 f0 ff ff       	and    $0xfffff002,%eax
480aed:	05 01 10 00 00       	add    $0x1001,%eax
480af2:	50                   	push   %eax
480af3:	57                   	push   %edi
480af4:	e8 59 46 ff ff       	call   0x475152
480af9:	85 c0                	test   %eax,%eax
480afb:	75 08                	jne    0x480b05
480afd:	21 5e 58             	and    %ebx,0x58(%esi)
480b00:	e9 ef 00 00 00       	jmp    0x480bf4
480b05:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
480b0b:	50                   	push   %eax
480b0c:	ff 76 50             	push   0x50(%esi)
480b0f:	e8 f3 65 fe ff       	call   0x467107
480b14:	59                   	pop    %ecx
480b15:	59                   	pop    %ecx
480b16:	85 c0                	test   %eax,%eax
480b18:	75 3a                	jne    0x480b54
480b1a:	81 4e 58 04 03 00 00 	orl    $0x304,0x58(%esi)
480b21:	8b cf                	mov    %edi,%ecx
480b23:	8d 51 02             	lea    0x2(%ecx),%edx
480b26:	66 8b 01             	mov    (%ecx),%ax
480b29:	83 c1 02             	add    $0x2,%ecx
480b2c:	66 3b c3             	cmp    %bx,%ax
480b2f:	75 f5                	jne    0x480b26
480b31:	2b ca                	sub    %edx,%ecx
480b33:	d1 f9                	sar    $1,%ecx
480b35:	8d 41 01             	lea    0x1(%ecx),%eax
480b38:	50                   	push   %eax
480b39:	57                   	push   %edi
480b3a:	8d 86 a0 02 00 00    	lea    0x2a0(%esi),%eax
480b40:	6a 55                	push   $0x55
480b42:	50                   	push   %eax
480b43:	e8 8a e4 ff ff       	call   0x47efd2
480b48:	83 c4 10             	add    $0x10,%esp
480b4b:	85 c0                	test   %eax,%eax
480b4d:	74 69                	je     0x480bb8
480b4f:	e9 f0 01 00 00       	jmp    0x480d44
480b54:	f6 46 58 02          	testb  $0x2,0x58(%esi)
480b58:	75 5e                	jne    0x480bb8
480b5a:	39 5e 5c             	cmp    %ebx,0x5c(%esi)
480b5d:	74 2f                	je     0x480b8e
480b5f:	ff 76 5c             	push   0x5c(%esi)
480b62:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
480b68:	50                   	push   %eax
480b69:	ff 76 50             	push   0x50(%esi)
480b6c:	e8 db 25 00 00       	call   0x48314c
480b71:	83 c4 0c             	add    $0xc,%esp
480b74:	85 c0                	test   %eax,%eax
480b76:	75 16                	jne    0x480b8e
480b78:	83 4e 58 02          	orl    $0x2,0x58(%esi)
480b7c:	8b cf                	mov    %edi,%ecx