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
480b7e:	8d 51 02             	lea    0x2(%ecx),%edx
480b81:	66 8b 01             	mov    (%ecx),%ax
480b84:	83 c1 02             	add    $0x2,%ecx
480b87:	66 3b c3             	cmp    %bx,%ax
480b8a:	75 f5                	jne    0x480b81
480b8c:	eb a3                	jmp    0x480b31
480b8e:	f6 46 58 01          	testb  $0x1,0x58(%esi)
480b92:	75 24                	jne    0x480bb8
480b94:	57                   	push   %edi
480b95:	e8 5d 03 00 00       	call   0x480ef7
480b9a:	59                   	pop    %ecx
480b9b:	85 c0                	test   %eax,%eax
480b9d:	74 19                	je     0x480bb8
480b9f:	83 4e 58 01          	orl    $0x1,0x58(%esi)
480ba3:	8b cf                	mov    %edi,%ecx
480ba5:	8d 51 02             	lea    0x2(%ecx),%edx
480ba8:	66 8b 01             	mov    (%ecx),%ax
480bab:	83 c1 02             	add    $0x2,%ecx
480bae:	66 3b c3             	cmp    %bx,%ax
480bb1:	75 f5                	jne    0x480ba8
480bb3:	e9 79 ff ff ff       	jmp    0x480b31
480bb8:	8b 46 58             	mov    0x58(%esi),%eax
480bbb:	b9 00 03 00 00       	mov    $0x300,%ecx
480bc0:	23 c1                	and    %ecx,%eax
480bc2:	3b c1                	cmp    %ecx,%eax
480bc4:	0f 84 5c 01 00 00    	je     0x480d26
480bca:	8b 4e 60             	mov    0x60(%esi),%ecx
480bcd:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
480bd3:	f7 d9                	neg    %ecx
480bd5:	6a 40                	push   $0x40
480bd7:	1b c9                	sbb    %ecx,%ecx
480bd9:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
480bdf:	50                   	push   %eax
480be0:	81 c1 01 10 00 00    	add    $0x1001,%ecx
480be6:	51                   	push   %ecx
480be7:	57                   	push   %edi
480be8:	e8 65 45 ff ff       	call   0x475152
480bed:	85 c0                	test   %eax,%eax
480bef:	75 0b                	jne    0x480bfc
480bf1:	89 5e 58             	mov    %ebx,0x58(%esi)
480bf4:	33 c0                	xor    %eax,%eax
480bf6:	40                   	inc    %eax
480bf7:	e9 35 01 00 00       	jmp    0x480d31
480bfc:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
480c02:	50                   	push   %eax
480c03:	ff 76 50             	push   0x50(%esi)
480c06:	e8 fc 64 fe ff       	call   0x467107
480c0b:	59                   	pop    %ecx
480c0c:	59                   	pop    %ecx
480c0d:	85 c0                	test   %eax,%eax
480c0f:	0f 85 11 01 00 00    	jne    0x480d26
480c15:	81 4e 58 00 02 00 00 	orl    $0x200,0x58(%esi)
480c1c:	8b 56 58             	mov    0x58(%esi),%edx
480c1f:	39 5e 60             	cmp    %ebx,0x60(%esi)
480c22:	74 54                	je     0x480c78
480c24:	81 ca 00 01 00 00    	or     $0x100,%edx
480c2a:	89 56 58             	mov    %edx,0x58(%esi)
480c2d:	8d 96 a0 02 00 00    	lea    0x2a0(%esi),%edx
480c33:	66 39 1a             	cmp    %bx,(%edx)
480c36:	0f 85 ea 00 00 00    	jne    0x480d26
480c3c:	8b cf                	mov    %edi,%ecx
480c3e:	8d 59 02             	lea    0x2(%ecx),%ebx
480c41:	66 8b 01             	mov    (%ecx),%ax
480c44:	83 c1 02             	add    $0x2,%ecx
480c47:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
480c4e:	75 f1                	jne    0x480c41
480c50:	2b cb                	sub    %ebx,%ecx
480c52:	d1 f9                	sar    $1,%ecx
480c54:	8d 41 01             	lea    0x1(%ecx),%eax
480c57:	50                   	push   %eax
480c58:	57                   	push   %edi
480c59:	6a 55                	push   $0x55
480c5b:	52                   	push   %edx
480c5c:	e8 71 e3 ff ff       	call   0x47efd2
480c61:	83 c4 10             	add    $0x10,%esp
480c64:	85 c0                	test   %eax,%eax
480c66:	0f 84 ba 00 00 00    	je     0x480d26
480c6c:	33 c0                	xor    %eax,%eax
480c6e:	50                   	push   %eax
480c6f:	50                   	push   %eax
480c70:	50                   	push   %eax
480c71:	50                   	push   %eax
480c72:	50                   	push   %eax
480c73:	e9 d1 00 00 00       	jmp    0x480d49
480c78:	39 5e 5c             	cmp    %ebx,0x5c(%esi)
480c7b:	74 7c                	je     0x480cf9
480c7d:	8b 4e 50             	mov    0x50(%esi),%ecx
480c80:	8d 59 02             	lea    0x2(%ecx),%ebx
480c83:	66 8b 01             	mov    (%ecx),%ax
480c86:	83 c1 02             	add    $0x2,%ecx
480c89:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
480c90:	75 f1                	jne    0x480c83
480c92:	2b cb                	sub    %ebx,%ecx
480c94:	d1 f9                	sar    $1,%ecx
480c96:	3b 4e 5c             	cmp    0x5c(%esi),%ecx
480c99:	75 5c                	jne    0x480cf7
480c9b:	57                   	push   %edi
480c9c:	e8 56 02 00 00       	call   0x480ef7
480ca1:	59                   	pop    %ecx
480ca2:	85 c0                	test   %eax,%eax
480ca4:	75 24                	jne    0x480cca
480ca6:	8b 5e 50             	mov    0x50(%esi),%ebx
480ca9:	33 d2                	xor    %edx,%edx
480cab:	8d 4b 02             	lea    0x2(%ebx),%ecx
480cae:	66 8b 03             	mov    (%ebx),%ax
480cb1:	83 c3 02             	add    $0x2,%ebx
480cb4:	66 3b c2             	cmp    %dx,%ax
480cb7:	75 f5                	jne    0x480cae
480cb9:	ff 76 50             	push   0x50(%esi)
480cbc:	2b d9                	sub    %ecx,%ebx
480cbe:	d1 fb                	sar    $1,%ebx
480cc0:	e8 6c fd ff ff       	call   0x480a31
480cc5:	59                   	pop    %ecx
480cc6:	3b c3                	cmp    %ebx,%eax
480cc8:	74 5c                	je     0x480d26
480cca:	81 4e 58 00 01 00 00 	orl    $0x100,0x58(%esi)
480cd1:	8d 96 a0 02 00 00    	lea    0x2a0(%esi),%edx
480cd7:	33 c0                	xor    %eax,%eax
480cd9:	66 39 02             	cmp    %ax,(%edx)
480cdc:	75 48                	jne    0x480d26
480cde:	8b cf                	mov    %edi,%ecx
480ce0:	8d 59 02             	lea    0x2(%ecx),%ebx
480ce3:	66 8b 01             	mov    (%ecx),%ax
480ce6:	83 c1 02             	add    $0x2,%ecx
480ce9:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
480cf0:	75 f1                	jne    0x480ce3
480cf2:	e9 59 ff ff ff       	jmp    0x480c50
480cf7:	33 db                	xor    %ebx,%ebx
480cf9:	81 ca 00 01 00 00    	or     $0x100,%edx
480cff:	89 56 58             	mov    %edx,0x58(%esi)
480d02:	8d 96 a0 02 00 00    	lea    0x2a0(%esi),%edx
480d08:	66 39 1a             	cmp    %bx,(%edx)
480d0b:	75 19                	jne    0x480d26
480d0d:	8b cf                	mov    %edi,%ecx
480d0f:	8d 59 02             	lea    0x2(%ecx),%ebx
480d12:	66 8b 01             	mov    (%ecx),%ax
480d15:	83 c1 02             	add    $0x2,%ecx
480d18:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
480d1f:	75 f1                	jne    0x480d12
480d21:	e9 2a ff ff ff       	jmp    0x480c50
480d26:	8b 46 58             	mov    0x58(%esi),%eax
480d29:	c1 e8 02             	shr    $0x2,%eax
480d2c:	f7 d0                	not    %eax
480d2e:	83 e0 01             	and    $0x1,%eax
480d31:	5b                   	pop    %ebx
480d32:	8b 4d fc             	mov    -0x4(%ebp),%ecx
480d35:	5f                   	pop    %edi
480d36:	33 cd                	xor    %ebp,%ecx
480d38:	5e                   	pop    %esi
480d39:	e8 c4 ec fb ff       	call   0x43fa02
480d3e:	8b e5                	mov    %ebp,%esp
480d40:	5d                   	pop    %ebp
480d41:	c2 0c 00             	ret    $0xc
480d44:	53                   	push   %ebx
480d45:	53                   	push   %ebx
480d46:	53                   	push   %ebx
480d47:	53                   	push   %ebx
480d48:	53                   	push   %ebx
480d49:	e8 b5 bf fc ff       	call   0x44cd03
480d4e:	cc                   	int3
480d4f:	8b ff                	mov    %edi,%edi
480d51:	55                   	push   %ebp
480d52:	8b ec                	mov    %esp,%ebp
480d54:	81 ec f4 00 00 00    	sub    $0xf4,%esp
480d5a:	a1 94 80 4b 00       	mov    0x4b8094,%eax
480d5f:	33 c5                	xor    %ebp,%eax
480d61:	89 45 fc             	mov    %eax,-0x4(%ebp)
480d64:	56                   	push   %esi
480d65:	57                   	push   %edi
480d66:	8b 7d 08             	mov    0x8(%ebp),%edi
480d69:	e8 92 12 ff ff       	call   0x472000
480d6e:	8b f0                	mov    %eax,%esi
480d70:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
480d76:	6a 78                	push   $0x78
480d78:	50                   	push   %eax