484d4e:	83 c4 0c             	add    $0xc,%esp
484d51:	89 4d c8             	mov    %ecx,-0x38(%ebp)
484d54:	8b fb                	mov    %ebx,%edi
484d56:	8b c3                	mov    %ebx,%eax
484d58:	89 45 c0             	mov    %eax,-0x40(%ebp)
484d5b:	83 ff 04             	cmp    $0x4,%edi
484d5e:	0f 83 7e 01 00 00    	jae    0x484ee2
484d64:	83 f8 02             	cmp    $0x2,%eax
484d67:	74 14                	je     0x484d7d
484d69:	68 88 32 4a 00       	push   $0x4a3288
484d6e:	52                   	push   %edx
484d6f:	e8 aa c1 00 00       	call   0x490f1e
484d74:	8b 55 c4             	mov    -0x3c(%ebp),%edx
484d77:	59                   	pop    %ecx
484d78:	59                   	pop    %ecx
484d79:	8b c8                	mov    %eax,%ecx
484d7b:	eb 14                	jmp    0x484d91
484d7d:	8b ca                	mov    %edx,%ecx
484d7f:	8d 71 02             	lea    0x2(%ecx),%esi
484d82:	66 8b 01             	mov    (%ecx),%ax
484d85:	83 c1 02             	add    $0x2,%ecx
484d88:	66 3b c3             	cmp    %bx,%ax
484d8b:	75 f5                	jne    0x484d82
484d8d:	2b ce                	sub    %esi,%ecx
484d8f:	d1 f9                	sar    $1,%ecx
484d91:	8b 45 c8             	mov    -0x38(%ebp),%eax
484d94:	47                   	inc    %edi
484d95:	8b 75 c8             	mov    -0x38(%ebp),%esi
484d98:	83 45 c8 0c          	addl   $0xc,-0x38(%ebp)
484d9c:	89 50 fc             	mov    %edx,-0x4(%eax)
484d9f:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
484da2:	89 08                	mov    %ecx,(%eax)
484da4:	8b 45 c0             	mov    -0x40(%ebp),%eax
484da7:	89 46 04             	mov    %eax,0x4(%esi)
484daa:	0f b7 02             	movzwl (%edx),%eax
484dad:	83 c2 02             	add    $0x2,%edx
484db0:	8b 75 bc             	mov    -0x44(%ebp),%esi
484db3:	89 55 c4             	mov    %edx,-0x3c(%ebp)
484db6:	2b c3                	sub    %ebx,%eax
484db8:	74 0f                	je     0x484dc9
484dba:	83 e8 2d             	sub    $0x2d,%eax
484dbd:	74 97                	je     0x484d56
484dbf:	83 e8 01             	sub    $0x1,%eax
484dc2:	74 69                	je     0x484e2d
484dc4:	83 e8 31             	sub    $0x31,%eax
484dc7:	74 8d                	je     0x484d56
484dc9:	83 ef 01             	sub    $0x1,%edi
484dcc:	0f 84 02 01 00 00    	je     0x484ed4
484dd2:	83 ef 01             	sub    $0x1,%edi
484dd5:	0f 84 b3 00 00 00    	je     0x484e8e
484ddb:	83 ef 01             	sub    $0x1,%edi
484dde:	74 55                	je     0x484e35
484de0:	83 ef 01             	sub    $0x1,%edi
484de3:	0f 85 f9 00 00 00    	jne    0x484ee2
484de9:	8d 45 cc             	lea    -0x34(%ebp),%eax
484dec:	50                   	push   %eax
484ded:	56                   	push   %esi
484dee:	e8 3f 01 00 00       	call   0x484f32
484df3:	59                   	pop    %ecx
484df4:	59                   	pop    %ecx
484df5:	84 c0                	test   %al,%al
484df7:	0f 84 d3 00 00 00    	je     0x484ed0
484dfd:	8d 45 d8             	lea    -0x28(%ebp),%eax
484e00:	50                   	push   %eax
484e01:	56                   	push   %esi
484e02:	e8 5b 02 00 00       	call   0x485062
484e07:	59                   	pop    %ecx
484e08:	59                   	pop    %ecx
484e09:	84 c0                	test   %al,%al
484e0b:	0f 84 bf 00 00 00    	je     0x484ed0
484e11:	8d 45 e4             	lea    -0x1c(%ebp),%eax
484e14:	50                   	push   %eax
484e15:	56                   	push   %esi
484e16:	e8 89 01 00 00       	call   0x484fa4
484e1b:	59                   	pop    %ecx
484e1c:	59                   	pop    %ecx
484e1d:	84 c0                	test   %al,%al
484e1f:	0f 84 ab 00 00 00    	je     0x484ed0
484e25:	8d 45 f0             	lea    -0x10(%ebp),%eax
484e28:	e9 94 00 00 00       	jmp    0x484ec1
484e2d:	6a 02                	push   $0x2
484e2f:	58                   	pop    %eax
484e30:	e9 23 ff ff ff       	jmp    0x484d58
484e35:	8d 45 cc             	lea    -0x34(%ebp),%eax
484e38:	50                   	push   %eax
484e39:	56                   	push   %esi
484e3a:	e8 f3 00 00 00       	call   0x484f32
484e3f:	59                   	pop    %ecx
484e40:	59                   	pop    %ecx
484e41:	84 c0                	test   %al,%al
484e43:	0f 84 87 00 00 00    	je     0x484ed0
484e49:	8d 45 d8             	lea    -0x28(%ebp),%eax
484e4c:	50                   	push   %eax
484e4d:	56                   	push   %esi
484e4e:	e8 0f 02 00 00       	call   0x485062
484e53:	59                   	pop    %ecx
484e54:	59                   	pop    %ecx
484e55:	84 c0                	test   %al,%al
484e57:	74 20                	je     0x484e79
484e59:	8d 45 e4             	lea    -0x1c(%ebp),%eax
484e5c:	50                   	push   %eax
484e5d:	56                   	push   %esi
484e5e:	e8 41 01 00 00       	call   0x484fa4
484e63:	59                   	pop    %ecx
484e64:	59                   	pop    %ecx
484e65:	84 c0                	test   %al,%al
484e67:	75 65                	jne    0x484ece
484e69:	8d 45 e4             	lea    -0x1c(%ebp),%eax
484e6c:	50                   	push   %eax
484e6d:	56                   	push   %esi
484e6e:	e8 80 00 00 00       	call   0x484ef3
484e73:	59                   	pop    %ecx
484e74:	59                   	pop    %ecx
484e75:	84 c0                	test   %al,%al
484e77:	75 55                	jne    0x484ece
484e79:	8d 45 d8             	lea    -0x28(%ebp),%eax
484e7c:	50                   	push   %eax
484e7d:	56                   	push   %esi
484e7e:	e8 21 01 00 00       	call   0x484fa4
484e83:	59                   	pop    %ecx
484e84:	59                   	pop    %ecx
484e85:	84 c0                	test   %al,%al
484e87:	74 47                	je     0x484ed0
484e89:	8d 45 e4             	lea    -0x1c(%ebp),%eax
484e8c:	eb 33                	jmp    0x484ec1
484e8e:	8d 45 cc             	lea    -0x34(%ebp),%eax
484e91:	50                   	push   %eax
484e92:	56                   	push   %esi
484e93:	e8 9a 00 00 00       	call   0x484f32
484e98:	59                   	pop    %ecx
484e99:	59                   	pop    %ecx
484e9a:	84 c0                	test   %al,%al
484e9c:	74 32                	je     0x484ed0
484e9e:	8d 45 d8             	lea    -0x28(%ebp),%eax
484ea1:	50                   	push   %eax
484ea2:	56                   	push   %esi
484ea3:	e8 ba 01 00 00       	call   0x485062
484ea8:	59                   	pop    %ecx
484ea9:	59                   	pop    %ecx
484eaa:	84 c0                	test   %al,%al
484eac:	75 20                	jne    0x484ece
484eae:	8d 45 d8             	lea    -0x28(%ebp),%eax
484eb1:	50                   	push   %eax
484eb2:	56                   	push   %esi
484eb3:	e8 ec 00 00 00       	call   0x484fa4
484eb8:	59                   	pop    %ecx
484eb9:	59                   	pop    %ecx
484eba:	84 c0                	test   %al,%al
484ebc:	75 10                	jne    0x484ece
484ebe:	8d 45 d8             	lea    -0x28(%ebp),%eax
484ec1:	50                   	push   %eax
484ec2:	56                   	push   %esi
484ec3:	e8 2b 00 00 00       	call   0x484ef3
484ec8:	59                   	pop    %ecx
484ec9:	59                   	pop    %ecx
484eca:	84 c0                	test   %al,%al
484ecc:	74 02                	je     0x484ed0
484ece:	b3 01                	mov    $0x1,%bl
484ed0:	8a c3                	mov    %bl,%al
484ed2:	eb 10                	jmp    0x484ee4
484ed4:	8d 45 cc             	lea    -0x34(%ebp),%eax
484ed7:	50                   	push   %eax
484ed8:	56                   	push   %esi
484ed9:	e8 54 00 00 00       	call   0x484f32
484ede:	59                   	pop    %ecx
484edf:	59                   	pop    %ecx
484ee0:	eb 02                	jmp    0x484ee4
484ee2:	32 c0                	xor    %al,%al
484ee4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
484ee7:	5f                   	pop    %edi
484ee8:	5e                   	pop    %esi
484ee9:	33 cd                	xor    %ebp,%ecx
484eeb:	5b                   	pop    %ebx
484eec:	e8 d9 4a fe ff       	call   0x4699ca
484ef1:	c9                   	leave
484ef2:	c3                   	ret
484ef3:	8b ff                	mov    %edi,%edi
484ef5:	55                   	push   %ebp
484ef6:	8b ec                	mov    %esp,%ebp
484ef8:	8b 45 0c             	mov    0xc(%ebp),%eax
484efb:	83 78 08 02          	cmpl   $0x2,0x8(%eax)
484eff:	74 04                	je     0x484f05
484f01:	32 c0                	xor    %al,%al
484f03:	5d                   	pop    %ebp
484f04:	c3                   	ret
484f05:	ff 70 04             	push   0x4(%eax)
484f08:	ff 30                	push   (%eax)
484f0a:	8b 45 08             	mov    0x8(%ebp),%eax
484f0d:	05 00 01 00 00       	add    $0x100,%eax
484f12:	6a 10                	push   $0x10
484f14:	50                   	push   %eax
484f15:	e8 f4 af ff ff       	call   0x47ff0e
484f1a:	83 c4 10             	add    $0x10,%esp
484f1d:	85 c0                	test   %eax,%eax
484f1f:	75 04                	jne    0x484f25
484f21:	b0 01                	mov    $0x1,%al
484f23:	5d                   	pop    %ebp
484f24:	c3                   	ret
484f25:	33 c0                	xor    %eax,%eax
484f27:	50                   	push   %eax
484f28:	50                   	push   %eax
484f29:	50                   	push   %eax
484f2a:	50                   	push   %eax
484f2b:	50                   	push   %eax
484f2c:	e8 1d 47 ff ff       	call   0x47964e
484f31:	cc                   	int3
484f32:	8b ff                	mov    %edi,%edi
484f34:	55                   	push   %ebp
484f35:	8b ec                	mov    %esp,%ebp
484f37:	53                   	push   %ebx
484f38:	56                   	push   %esi
484f39:	8b 75 0c             	mov    0xc(%ebp),%esi
484f3c:	33 db                	xor    %ebx,%ebx
484f3e:	39 5e 08             	cmp    %ebx,0x8(%esi)
484f41:	75 50                	jne    0x484f93
484f43:	8b 4e 04             	mov    0x4(%esi),%ecx
484f46:	8d 41 fe             	lea    -0x2(%ecx),%eax
484f49:	83 f8 01             	cmp    $0x1,%eax
484f4c:	77 45                	ja     0x484f93
484f4e:	51                   	push   %ecx
484f4f:	ff 36                	push   (%esi)
484f51:	e8 7c 01 00 00       	call   0x4850d2
484f56:	59                   	pop    %ecx
484f57:	59                   	pop    %ecx
484f58:	84 c0                	test   %al,%al
484f5a:	74 37                	je     0x484f93
484f5c:	57                   	push   %edi
484f5d:	ff 76 04             	push   0x4(%esi)
484f60:	8b 7d 08             	mov    0x8(%ebp),%edi
484f63:	ff 36                	push   (%esi)
484f65:	6a 40                	push   $0x40
484f67:	57                   	push   %edi
484f68:	e8 a1 af ff ff       	call   0x47ff0e
484f6d:	83 c4 10             	add    $0x10,%esp
484f70:	85 c0                	test   %eax,%eax
484f72:	75 25                	jne    0x484f99
484f74:	ff 76 04             	push   0x4(%esi)
484f77:	8d 8f 20 01 00 00    	lea    0x120(%edi),%ecx
484f7d:	ff 36                	push   (%esi)
484f7f:	6a 55                	push   $0x55
484f81:	51                   	push   %ecx
484f82:	e8 87 af ff ff       	call   0x47ff0e
484f87:	83 c4 10             	add    $0x10,%esp
484f8a:	5f                   	pop    %edi
484f8b:	85 c0                	test   %eax,%eax
484f8d:	75 0a                	jne    0x484f99
484f8f:	b0 01                	mov    $0x1,%al
484f91:	eb 02                	jmp    0x484f95
484f93:	32 c0                	xor    %al,%al
484f95:	5e                   	pop    %esi
484f96:	5b                   	pop    %ebx
484f97:	5d                   	pop    %ebp
484f98:	c3                   	ret
484f99:	53                   	push   %ebx
484f9a:	53                   	push   %ebx
484f9b:	53                   	push   %ebx
484f9c:	53                   	push   %ebx
484f9d:	53                   	push   %ebx
484f9e:	e8 ab 46 ff ff       	call   0x47964e
484fa3:	cc                   	int3
484fa4:	8b ff                	mov    %edi,%edi
484fa6:	55                   	push   %ebp
484fa7:	8b ec                	mov    %esp,%ebp
484fa9:	51                   	push   %ecx
484faa:	53                   	push   %ebx
484fab:	56                   	push   %esi
484fac:	57                   	push   %edi
484fad:	8b 7d 0c             	mov    0xc(%ebp),%edi
484fb0:	33 db                	xor    %ebx,%ebx
484fb2:	39 5f 08             	cmp    %ebx,0x8(%edi)
484fb5:	0f 85 95 00 00 00    	jne    0x485050
484fbb:	83 7f 04 02          	cmpl   $0x2,0x4(%edi)
484fbf:	75 0f                	jne    0x484fd0
484fc1:	6a 02                	push   $0x2
484fc3:	ff 37                	push   (%edi)
484fc5:	e8 08 01 00 00       	call   0x4850d2
484fca:	59                   	pop    %ecx
484fcb:	59                   	pop    %ecx
484fcc:	84 c0                	test   %al,%al
484fce:	75 2f                	jne    0x484fff
484fd0:	83 7f 04 03          	cmpl   $0x3,0x4(%edi)
484fd4:	75 7a                	jne    0x485050
484fd6:	8b 07                	mov    (%edi),%eax
484fd8:	89 45 fc             	mov    %eax,-0x4(%ebp)
484fdb:	0f b7 34 58          	movzwl (%eax,%ebx,2),%esi
484fdf:	e8 88 d1 ff ff       	call   0x48216c
484fe4:	6a 04                	push   $0x4
484fe6:	56                   	push   %esi
484fe7:	50                   	push   %eax
484fe8:	e8 a2 42 ff ff       	call   0x47928f
484fed:	83 c4 0c             	add    $0xc,%esp
484ff0:	85 c0                	test   %eax,%eax
484ff2:	74 5c                	je     0x485050
484ff4:	8b 45 fc             	mov    -0x4(%ebp),%eax
484ff7:	43                   	inc    %ebx
484ff8:	83 fb 03             	cmp    $0x3,%ebx
484ffb:	72 de                	jb     0x484fdb
484ffd:	33 db                	xor    %ebx,%ebx
484fff:	ff 77 04             	push   0x4(%edi)
485002:	8b 75 08             	mov    0x8(%ebp),%esi
485005:	ff 37                	push   (%edi)
485007:	6a 40                	push   $0x40
485009:	8d 86 80 00 00 00    	lea    0x80(%esi),%eax
48500f:	50                   	push   %eax
485010:	e8 f9 ae ff ff       	call   0x47ff0e
485015:	83 c4 10             	add    $0x10,%esp
485018:	85 c0                	test   %eax,%eax
48501a:	75 3b                	jne    0x485057
48501c:	6a 01                	push   $0x1
48501e:	68 58 32 4b 00       	push   $0x4b3258
485023:	81 c6 20 01 00 00    	add    $0x120,%esi
485029:	6a 55                	push   $0x55
48502b:	56                   	push   %esi
48502c:	e8 e2 be 00 00       	call   0x490f13
485031:	83 c4 10             	add    $0x10,%esp
485034:	85 c0                	test   %eax,%eax
485036:	75 1f                	jne    0x485057
485038:	ff 77 04             	push   0x4(%edi)
48503b:	ff 37                	push   (%edi)
48503d:	6a 55                	push   $0x55
48503f:	56                   	push   %esi
485040:	e8 ce be 00 00       	call   0x490f13
485045:	83 c4 10             	add    $0x10,%esp
485048:	85 c0                	test   %eax,%eax
48504a:	75 0b                	jne    0x485057
48504c:	b0 01                	mov    $0x1,%al
48504e:	eb 02                	jmp    0x485052
485050:	32 c0                	xor    %al,%al
485052:	5f                   	pop    %edi
485053:	5e                   	pop    %esi
485054:	5b                   	pop    %ebx
485055:	c9                   	leave
485056:	c3                   	ret
485057:	53                   	push   %ebx
485058:	53                   	push   %ebx
485059:	53                   	push   %ebx
48505a:	53                   	push   %ebx
48505b:	53                   	push   %ebx
48505c:	e8 ed 45 ff ff       	call   0x47964e
485061:	cc                   	int3
485062:	8b ff                	mov    %edi,%edi
485064:	55                   	push   %ebp
485065:	8b ec                	mov    %esp,%ebp
485067:	53                   	push   %ebx
485068:	56                   	push   %esi
485069:	8b 75 0c             	mov    0xc(%ebp),%esi
48506c:	33 db                	xor    %ebx,%ebx
48506e:	39 5e 08             	cmp    %ebx,0x8(%esi)
485071:	75 4e                	jne    0x4850c1
485073:	83 7e 04 04          	cmpl   $0x4,0x4(%esi)