556c08:	bb 08 00 00 00       	mov    $0x8,%ebx
556c0d:	2b da                	sub    %edx,%ebx
556c0f:	53                   	push   %ebx
556c10:	8d 4c 24 04          	lea    0x4(%esp),%ecx
556c14:	8b f2                	mov    %edx,%esi
556c16:	03 ce                	add    %esi,%ecx
556c18:	51                   	push   %ecx
556c19:	03 c6                	add    %esi,%eax
556c1b:	50                   	push   %eax
556c1c:	e8 1b f7 fc ff       	call   0x52633c
556c21:	83 c4 0c             	add    $0xc,%esp
556c24:	59                   	pop    %ecx
556c25:	5a                   	pop    %edx
556c26:	5e                   	pop    %esi
556c27:	5b                   	pop    %ebx
556c28:	c3                   	ret
556c29:	90                   	nop
556c2a:	90                   	nop
556c2b:	90                   	nop
556c2c:	53                   	push   %ebx
556c2d:	56                   	push   %esi
556c2e:	8b f2                	mov    %edx,%esi
556c30:	8b d8                	mov    %eax,%ebx
556c32:	8b ce                	mov    %esi,%ecx
556c34:	33 d2                	xor    %edx,%edx
556c36:	8b c3                	mov    %ebx,%eax
556c38:	e8 8b ff ff ff       	call   0x556bc8
556c3d:	83 f8 01             	cmp    $0x1,%eax
556c40:	1b c0                	sbb    %eax,%eax
556c42:	f7 d8                	neg    %eax
556c44:	5e                   	pop    %esi
556c45:	5b                   	pop    %ebx
556c46:	c3                   	ret
556c47:	90                   	nop
556c48:	53                   	push   %ebx
556c49:	56                   	push   %esi
556c4a:	8b f2                	mov    %edx,%esi
556c4c:	57                   	push   %edi
556c4d:	0f af f1             	imul   %ecx,%esi
556c50:	8b f8                	mov    %eax,%edi
556c52:	55                   	push   %ebp
556c53:	8b d6                	mov    %esi,%edx
556c55:	8b 6f 2c             	mov    0x2c(%edi),%ebp
556c58:	81 4f 2c 00 00 10 00 	orl    $0x100000,0x2c(%edi)
556c5f:	e8 90 ae ff ff       	call   0x551af4
556c64:	8b d8                	mov    %eax,%ebx
556c66:	89 6f 2c             	mov    %ebp,0x2c(%edi)
556c69:	85 db                	test   %ebx,%ebx
556c6b:	75 04                	jne    0x556c71
556c6d:	8b c3                	mov    %ebx,%eax
556c6f:	eb 40                	jmp    0x556cb1
556c71:	81 fe 00 80 00 00    	cmp    $0x8000,%esi
556c77:	76 2a                	jbe    0x556ca3
556c79:	68 00 80 00 00       	push   $0x8000
556c7e:	6a 00                	push   $0x0
556c80:	53                   	push   %ebx
556c81:	e8 9e f6 fc ff       	call   0x526324
556c86:	83 c4 0c             	add    $0xc,%esp
556c89:	81 ee 00 80 00 00    	sub    $0x8000,%esi
556c8f:	56                   	push   %esi
556c90:	6a 00                	push   $0x0
556c92:	8d 93 00 80 00 00    	lea    0x8000(%ebx),%edx
556c98:	52                   	push   %edx
556c99:	e8 86 f6 fc ff       	call   0x526324
556c9e:	83 c4 0c             	add    $0xc,%esp
556ca1:	eb 0c                	jmp    0x556caf
556ca3:	56                   	push   %esi
556ca4:	6a 00                	push   $0x0
556ca6:	53                   	push   %ebx
556ca7:	e8 78 f6 fc ff       	call   0x526324
556cac:	83 c4 0c             	add    $0xc,%esp
556caf:	8b c3                	mov    %ebx,%eax
556cb1:	5d                   	pop    %ebp
556cb2:	5f                   	pop    %edi
556cb3:	5e                   	pop    %esi
556cb4:	5b                   	pop    %ebx
556cb5:	c3                   	ret
556cb6:	90                   	nop
556cb7:	90                   	nop
556cb8:	e8 ab ae ff ff       	call   0x551b68
556cbd:	c3                   	ret
556cbe:	90                   	nop
556cbf:	90                   	nop
556cc0:	53                   	push   %ebx
556cc1:	8b d8                	mov    %eax,%ebx
556cc3:	33 c9                	xor    %ecx,%ecx
556cc5:	33 d2                	xor    %edx,%edx
556cc7:	33 c0                	xor    %eax,%eax
556cc9:	e8 12 5b fd ff       	call   0x52c7e0
556cce:	89 83 d0 00 00 00    	mov    %eax,0xd0(%ebx)
556cd4:	5b                   	pop    %ebx
556cd5:	c3                   	ret
556cd6:	90                   	nop
556cd7:	90                   	nop
556cd8:	53                   	push   %ebx
556cd9:	8b d8                	mov    %eax,%ebx
556cdb:	56                   	push   %esi
556cdc:	57                   	push   %edi
556cdd:	f6 83 dc 00 00 00 20 	testb  $0x20,0xdc(%ebx)
556ce4:	8b f9                	mov    %ecx,%edi
556ce6:	8b f2                	mov    %edx,%esi
556ce8:	b8 01 00 00 00       	mov    $0x1,%eax
556ced:	74 15                	je     0x556d04
556cef:	8b 53 2c             	mov    0x2c(%ebx),%edx
556cf2:	81 e2 00 03 00 00    	and    $0x300,%edx
556cf8:	81 fa 00 03 00 00    	cmp    $0x300,%edx
556cfe:	75 0c                	jne    0x556d0c
556d00:	33 c0                	xor    %eax,%eax
556d02:	eb 08                	jmp    0x556d0c
556d04:	f6 43 2d 08          	testb  $0x8,0x2d(%ebx)
556d08:	74 02                	je     0x556d0c
556d0a:	33 c0                	xor    %eax,%eax
556d0c:	85 c0                	test   %eax,%eax
556d0e:	74 15                	je     0x556d25
556d10:	8b cf                	mov    %edi,%ecx
556d12:	8b d6                	mov    %esi,%edx
556d14:	8b 83 d0 00 00 00    	mov    0xd0(%ebx),%eax
556d1a:	e8 c1 5a fd ff       	call   0x52c7e0
556d1f:	89 83 d0 00 00 00    	mov    %eax,0xd0(%ebx)
556d25:	5f                   	pop    %edi
556d26:	5e                   	pop    %esi
556d27:	5b                   	pop    %ebx
556d28:	c3                   	ret
556d29:	90                   	nop
556d2a:	90                   	nop
556d2b:	90                   	nop
556d2c:	53                   	push   %ebx
556d2d:	51                   	push   %ecx
556d2e:	8b d8                	mov    %eax,%ebx
556d30:	85 db                	test   %ebx,%ebx
556d32:	75 05                	jne    0x556d39
556d34:	33 c0                	xor    %eax,%eax
556d36:	5a                   	pop    %edx
556d37:	5b                   	pop    %ebx
556d38:	c3                   	ret
556d39:	8b 8b 00 02 00 00    	mov    0x200(%ebx),%ecx
556d3f:	8b 93 04 02 00 00    	mov    0x204(%ebx),%edx
556d45:	b8 02 00 00 00       	mov    $0x2,%eax
556d4a:	e8 f5 ac ff ff       	call   0x551a44
556d4f:	89 04 24             	mov    %eax,(%esp)
556d52:	8b 14 24             	mov    (%esp),%edx
556d55:	85 d2                	test   %edx,%edx
556d57:	74 0c                	je     0x556d65
556d59:	8b c4                	mov    %esp,%eax
556d5b:	ba 20 01 00 00       	mov    $0x120,%edx
556d60:	e8 4f 00 00 00       	call   0x556db4
556d65:	8b 04 24             	mov    (%esp),%eax
556d68:	5a                   	pop    %edx
556d69:	5b                   	pop    %ebx
556d6a:	c3                   	ret
556d6b:	90                   	nop
556d6c:	53                   	push   %ebx
556d6d:	56                   	push   %esi
556d6e:	57                   	push   %edi
556d6f:	8b f2                	mov    %edx,%esi
556d71:	8b f8                	mov    %eax,%edi
556d73:	33 db                	xor    %ebx,%ebx
556d75:	85 f6                	test   %esi,%esi
556d77:	74 02                	je     0x556d7b
556d79:	8b 1e                	mov    (%esi),%ebx
556d7b:	85 db                	test   %ebx,%ebx
556d7d:	74 20                	je     0x556d9f
556d7f:	8b d3                	mov    %ebx,%edx
556d81:	8b c7                	mov    %edi,%eax
556d83:	e8 34 04 00 00       	call   0x5571bc
556d88:	8b 8f 00 02 00 00    	mov    0x200(%edi),%ecx
556d8e:	8b 97 08 02 00 00    	mov    0x208(%edi),%edx
556d94:	8b c3                	mov    %ebx,%eax
556d96:	e8 25 ad ff ff       	call   0x551ac0
556d9b:	33 c9                	xor    %ecx,%ecx
556d9d:	89 0e                	mov    %ecx,(%esi)
556d9f:	5f                   	pop    %edi
556da0:	5e                   	pop    %esi
556da1:	5b                   	pop    %ebx
556da2:	c3                   	ret
556da3:	90                   	nop
556da4:	51                   	push   %ecx
556da5:	89 04 24             	mov    %eax,(%esp)
556da8:	8b c4                	mov    %esp,%eax
556daa:	33 d2                	xor    %edx,%edx
556dac:	e8 03 00 00 00       	call   0x556db4
556db1:	5a                   	pop    %edx
556db2:	c3                   	ret
556db3:	90                   	nop
556db4:	53                   	push   %ebx
556db5:	8b d8                	mov    %eax,%ebx
556db7:	8b 03                	mov    (%ebx),%eax
556db9:	81 fa 20 01 00 00    	cmp    $0x120,%edx
556dbf:	73 11                	jae    0x556dd2
556dc1:	e8 ee ac ff ff       	call   0x551ab4
556dc6:	b8 02 00 00 00       	mov    $0x2,%eax
556dcb:	e8 68 ac ff ff       	call   0x551a38
556dd0:	89 03                	mov    %eax,(%ebx)
556dd2:	68 20 01 00 00       	push   $0x120
556dd7:	6a 00                	push   $0x0
556dd9:	50                   	push   %eax
556dda:	e8 45 f5 fc ff       	call   0x526324
556ddf:	83 c4 0c             	add    $0xc,%esp
556de2:	5b                   	pop    %ebx
556de3:	c3                   	ret
556de4:	55                   	push   %ebp
556de5:	8b ec                	mov    %esp,%ebp
556de7:	53                   	push   %ebx
556de8:	85 c0                	test   %eax,%eax
556dea:	8b 5d 08             	mov    0x8(%ebp),%ebx
556ded:	74 2a                	je     0x556e19
556def:	85 d2                	test   %edx,%edx
556df1:	74 26                	je     0x556e19
556df3:	83 f9 01             	cmp    $0x1,%ecx
556df6:	75 08                	jne    0x556e00
556df8:	09 9a b8 00 00 00    	or     %ebx,0xb8(%edx)
556dfe:	eb 19                	jmp    0x556e19
556e00:	83 f9 02             	cmp    $0x2,%ecx
556e03:	75 0a                	jne    0x556e0f
556e05:	f7 d3                	not    %ebx
556e07:	21 9a b8 00 00 00    	and    %ebx,0xb8(%edx)
556e0d:	eb 0a                	jmp    0x556e19
556e0f:	ba 06 d5 69 00       	mov    $0x69d506,%edx
556e14:	e8 cf ae ff ff       	call   0x551ce8
556e19:	5b                   	pop    %ebx
556e1a:	5d                   	pop    %ebp
556e1b:	c2 04 00             	ret    $0x4
556e1e:	90                   	nop
556e1f:	90                   	nop
556e20:	55                   	push   %ebp
556e21:	8b ec                	mov    %esp,%ebp
556e23:	51                   	push   %ecx
556e24:	53                   	push   %ebx
556e25:	56                   	push   %esi
556e26:	57                   	push   %edi
556e27:	89 4d fc             	mov    %ecx,-0x4(%ebp)
556e2a:	8b da                	mov    %edx,%ebx
556e2c:	8b f0                	mov    %eax,%esi
556e2e:	85 f6                	test   %esi,%esi
556e30:	0f 84 7b 03 00 00    	je     0x5571b1
556e36:	85 db                	test   %ebx,%ebx
556e38:	0f 84 73 03 00 00    	je     0x5571b1
556e3e:	8b 45 fc             	mov    -0x4(%ebp),%eax
556e41:	8b 93 b8 00 00 00    	mov    0xb8(%ebx),%edx
556e47:	23 c2                	and    %edx,%eax
556e49:	f6 c4 40             	test   $0x40,%ah
556e4c:	74 66                	je     0x556eb4
556e4e:	8b 4d 08             	mov    0x8(%ebp),%ecx
556e51:	41                   	inc    %ecx
556e52:	74 31                	je     0x556e85
556e54:	8b 43 38             	mov    0x38(%ebx),%eax
556e57:	85 c0                	test   %eax,%eax
556e59:	74 59                	je     0x556eb4
556e5b:	8b 55 08             	mov    0x8(%ebp),%edx
556e5e:	c1 e2 04             	shl    $0x4,%edx
556e61:	8b 4c 10 04          	mov    0x4(%eax,%edx,1),%ecx
556e65:	85 c9                	test   %ecx,%ecx
556e67:	74 4b                	je     0x556eb4
556e69:	8b 7d 08             	mov    0x8(%ebp),%edi
556e6c:	c1 e7 04             	shl    $0x4,%edi
556e6f:	8b 54 38 04          	mov    0x4(%eax,%edi,1),%edx
556e73:	8b c6                	mov    %esi,%eax
556e75:	e8 ee ac ff ff       	call   0x551b68
556e7a:	8b 4b 38             	mov    0x38(%ebx),%ecx
556e7d:	33 c0                	xor    %eax,%eax
556e7f:	89 44 39 04          	mov    %eax,0x4(%ecx,%edi,1)
556e83:	eb 2f                	jmp    0x556eb4
556e85:	33 ff                	xor    %edi,%edi
556e87:	eb 10                	jmp    0x556e99
556e89:	57                   	push   %edi
556e8a:	b9 00 40 00 00       	mov    $0x4000,%ecx
556e8f:	8b d3                	mov    %ebx,%edx
556e91:	8b c6                	mov    %esi,%eax
556e93:	e8 88 ff ff ff       	call   0x556e20
556e98:	47                   	inc    %edi
556e99:	8b 43 30             	mov    0x30(%ebx),%eax
556e9c:	3b f8                	cmp    %eax,%edi
556e9e:	7c e9                	jl     0x556e89
556ea0:	8b 53 38             	mov    0x38(%ebx),%edx
556ea3:	8b c6                	mov    %esi,%eax
556ea5:	e8 be ac ff ff       	call   0x551b68
556eaa:	33 d2                	xor    %edx,%edx
556eac:	33 c9                	xor    %ecx,%ecx
556eae:	89 53 38             	mov    %edx,0x38(%ebx)
556eb1:	89 4b 30             	mov    %ecx,0x30(%ebx)
556eb4:	8b 45 fc             	mov    -0x4(%ebp),%eax
556eb7:	8b 93 b8 00 00 00    	mov    0xb8(%ebx),%edx
556ebd:	23 c2                	and    %edx,%eax
556ebf:	f6 c4 20             	test   $0x20,%ah
556ec2:	74 13                	je     0x556ed7
556ec4:	8b 53 4c             	mov    0x4c(%ebx),%edx
556ec7:	8b c6                	mov    %esi,%eax
556ec9:	e8 9a ac ff ff       	call   0x551b68
556ece:	83 63 08 ef          	andl   $0xffffffef,0x8(%ebx)
556ed2:	33 c9                	xor    %ecx,%ecx
556ed4:	89 4b 4c             	mov    %ecx,0x4c(%ebx)
556ed7:	8b 45 fc             	mov    -0x4(%ebp),%eax
556eda:	8b 93 b8 00 00 00    	mov    0xb8(%ebx),%edx
556ee0:	23 c2                	and    %edx,%eax
556ee2:	f6 c4 01             	test   $0x1,%ah
556ee5:	74 07                	je     0x556eee
556ee7:	81 63 08 ff bf ff ff 	andl   $0xffffbfff,0x8(%ebx)
556eee:	8b 4d fc             	mov    -0x4(%ebp),%ecx
556ef1:	8b 83 b8 00 00 00    	mov    0xb8(%ebx),%eax
556ef7:	23 c8                	and    %eax,%ecx
556ef9:	f6 c1 80             	test   $0x80,%cl
556efc:	74 7c                	je     0x556f7a
556efe:	8b 93 a0 00 00 00    	mov    0xa0(%ebx),%edx
556f04:	8b c6                	mov    %esi,%eax
556f06:	e8 5d ac ff ff       	call   0x551b68
556f0b:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
556f11:	8b c6                	mov    %esi,%eax
556f13:	e8 50 ac ff ff       	call   0x551b68
556f18:	33 d2                	xor    %edx,%edx
556f1a:	33 c9                	xor    %ecx,%ecx
556f1c:	89 93 a0 00 00 00    	mov    %edx,0xa0(%ebx)
556f22:	89 8b ac 00 00 00    	mov    %ecx,0xac(%ebx)
556f28:	8b 83 b0 00 00 00    	mov    0xb0(%ebx),%eax
556f2e:	85 c0                	test   %eax,%eax
556f30:	74 41                	je     0x556f73
556f32:	33 ff                	xor    %edi,%edi
556f34:	eb 1c                	jmp    0x556f52
556f36:	8b 83 b0 00 00 00    	mov    0xb0(%ebx),%eax
556f3c:	8b 14 b8             	mov    (%eax,%edi,4),%edx
556f3f:	8b c6                	mov    %esi,%eax
556f41:	e8 22 ac ff ff       	call   0x551b68
556f46:	8b 93 b0 00 00 00    	mov    0xb0(%ebx),%edx
556f4c:	33 c9                	xor    %ecx,%ecx
556f4e:	89 0c ba             	mov    %ecx,(%edx,%edi,4)
556f51:	47                   	inc    %edi
556f52:	33 c0                	xor    %eax,%eax
556f54:	8a 83 b5 00 00 00    	mov    0xb5(%ebx),%al
556f5a:	3b f8                	cmp    %eax,%edi
556f5c:	7c d8                	jl     0x556f36
556f5e:	8b 93 b0 00 00 00    	mov    0xb0(%ebx),%edx
556f64:	8b c6                	mov    %esi,%eax
556f66:	e8 fd ab ff ff       	call   0x551b68
556f6b:	33 d2                	xor    %edx,%edx
556f6d:	89 93 b0 00 00 00    	mov    %edx,0xb0(%ebx)
556f73:	81 63 08 ff fb ff ff 	andl   $0xfffffbff,0x8(%ebx)
556f7a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
556f7d:	8b 83 b8 00 00 00    	mov    0xb8(%ebx),%eax
556f83:	23 c8                	and    %eax,%ecx
556f85:	f6 c1 10             	test   $0x10,%cl
556f88:	74 31                	je     0x556fbb
556f8a:	8b 93 c4 00 00 00    	mov    0xc4(%ebx),%edx
556f90:	8b c6                	mov    %esi,%eax
556f92:	e8 d1 ab ff ff       	call   0x551b68
556f97:	8b 93 c8 00 00 00    	mov    0xc8(%ebx),%edx
556f9d:	8b c6                	mov    %esi,%eax
556f9f:	e8 c4 ab ff ff       	call   0x551b68
556fa4:	33 d2                	xor    %edx,%edx
556fa6:	33 c9                	xor    %ecx,%ecx
556fa8:	89 93 c4 00 00 00    	mov    %edx,0xc4(%ebx)
556fae:	89 8b c8 00 00 00    	mov    %ecx,0xc8(%ebx)