5b9efc:	0f b6 03             	movzbl (%ebx),%eax
5b9eff:	03 d1                	add    %ecx,%edx
5b9f01:	0f b6 0e             	movzbl (%esi),%ecx
5b9f04:	41                   	inc    %ecx
5b9f05:	d1 ea                	shr    $1,%edx
5b9f07:	03 c1                	add    %ecx,%eax
5b9f09:	42                   	inc    %edx
5b9f0a:	0f b6 4e 05          	movzbl 0x5(%esi),%ecx
5b9f0e:	d1 e8                	shr    $1,%eax
5b9f10:	41                   	inc    %ecx
5b9f11:	03 c2                	add    %edx,%eax
5b9f13:	0f b6 53 05          	movzbl 0x5(%ebx),%edx
5b9f17:	03 d1                	add    %ecx,%edx
5b9f19:	d1 e8                	shr    $1,%eax
5b9f1b:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
5b9f1f:	0f b6 f8             	movzbl %al,%edi
5b9f22:	41                   	inc    %ecx
5b9f23:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
5b9f27:	03 c1                	add    %ecx,%eax
5b9f29:	d1 ea                	shr    $1,%edx
5b9f2b:	d1 e8                	shr    $1,%eax
5b9f2d:	42                   	inc    %edx
5b9f2e:	03 c2                	add    %edx,%eax
5b9f30:	0f b6 53 06          	movzbl 0x6(%ebx),%edx
5b9f34:	d1 e8                	shr    $1,%eax
5b9f36:	0f b6 f0             	movzbl %al,%esi
5b9f39:	8b 45 08             	mov    0x8(%ebp),%eax
5b9f3c:	0f b6 48 06          	movzbl 0x6(%eax),%ecx
5b9f40:	41                   	inc    %ecx
5b9f41:	03 d1                	add    %ecx,%edx
5b9f43:	0f b6 48 02          	movzbl 0x2(%eax),%ecx
5b9f47:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
5b9f4b:	41                   	inc    %ecx
5b9f4c:	03 c1                	add    %ecx,%eax
5b9f4e:	d1 ea                	shr    $1,%edx
5b9f50:	d1 e8                	shr    $1,%eax
5b9f52:	42                   	inc    %edx
5b9f53:	03 c2                	add    %edx,%eax
5b9f55:	6b ce b6             	imul   $0xffffffb6,%esi,%ecx
5b9f58:	d1 e8                	shr    $1,%eax
5b9f5a:	83 c3 08             	add    $0x8,%ebx
5b9f5d:	0f b6 d0             	movzbl %al,%edx
5b9f60:	6b c2 26             	imul   $0x26,%edx,%eax
5b9f63:	2b c8                	sub    %eax,%ecx
5b9f65:	6b c7 70             	imul   $0x70,%edi,%eax
5b9f68:	81 c1 00 80 00 00    	add    $0x8000,%ecx
5b9f6e:	03 c1                	add    %ecx,%eax
5b9f70:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5b9f73:	ff 45 0c             	incl   0xc(%ebp)
5b9f76:	c1 f8 08             	sar    $0x8,%eax
5b9f79:	88 01                	mov    %al,(%ecx)
5b9f7b:	6b c6 5e             	imul   $0x5e,%esi,%eax
5b9f7e:	8b 75 08             	mov    0x8(%ebp),%esi
5b9f81:	6b ca 70             	imul   $0x70,%edx,%ecx
5b9f84:	83 c6 08             	add    $0x8,%esi
5b9f87:	89 75 08             	mov    %esi,0x8(%ebp)
5b9f8a:	2b c8                	sub    %eax,%ecx
5b9f8c:	8d 04 ff             	lea    (%edi,%edi,8),%eax
5b9f8f:	03 c0                	add    %eax,%eax
5b9f91:	2b c8                	sub    %eax,%ecx
5b9f93:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b9f96:	81 c1 00 80 00 00    	add    $0x8000,%ecx
5b9f9c:	c1 f9 08             	sar    $0x8,%ecx
5b9f9f:	88 08                	mov    %cl,(%eax)
5b9fa1:	40                   	inc    %eax
5b9fa2:	83 6d f8 01          	subl   $0x1,-0x8(%ebp)
5b9fa6:	89 45 fc             	mov    %eax,-0x4(%ebp)
5b9fa9:	0f 85 44 ff ff ff    	jne    0x5b9ef3
5b9faf:	eb 0c                	jmp    0x5b9fbd
5b9fb1:	8b 45 14             	mov    0x14(%ebp),%eax
5b9fb4:	89 45 fc             	mov    %eax,-0x4(%ebp)
5b9fb7:	8b 45 10             	mov    0x10(%ebp),%eax
5b9fba:	89 45 0c             	mov    %eax,0xc(%ebp)
5b9fbd:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
5b9fc1:	74 69                	je     0x5ba02c
5b9fc3:	0f b6 0e             	movzbl (%esi),%ecx
5b9fc6:	0f b6 03             	movzbl (%ebx),%eax
5b9fc9:	41                   	inc    %ecx
5b9fca:	03 c1                	add    %ecx,%eax
5b9fcc:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
5b9fd0:	d1 e8                	shr    $1,%eax
5b9fd2:	41                   	inc    %ecx
5b9fd3:	0f b6 f8             	movzbl %al,%edi
5b9fd6:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
5b9fda:	03 c1                	add    %ecx,%eax
5b9fdc:	d1 e8                	shr    $1,%eax
5b9fde:	0f b6 f0             	movzbl %al,%esi
5b9fe1:	8b 45 08             	mov    0x8(%ebp),%eax
5b9fe4:	0f b6 48 02          	movzbl 0x2(%eax),%ecx
5b9fe8:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
5b9fec:	41                   	inc    %ecx
5b9fed:	03 c1                	add    %ecx,%eax
5b9fef:	6b ce b6             	imul   $0xffffffb6,%esi,%ecx
5b9ff2:	d1 e8                	shr    $1,%eax
5b9ff4:	0f b6 d0             	movzbl %al,%edx
5b9ff7:	6b c2 26             	imul   $0x26,%edx,%eax
5b9ffa:	2b c8                	sub    %eax,%ecx
5b9ffc:	6b c7 70             	imul   $0x70,%edi,%eax
5b9fff:	81 c1 00 80 00 00    	add    $0x8000,%ecx
5ba005:	03 c1                	add    %ecx,%eax
5ba007:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5ba00a:	c1 f8 08             	sar    $0x8,%eax
5ba00d:	88 01                	mov    %al,(%ecx)
5ba00f:	6b c6 5e             	imul   $0x5e,%esi,%eax
5ba012:	6b ca 70             	imul   $0x70,%edx,%ecx
5ba015:	2b c8                	sub    %eax,%ecx
5ba017:	8d 04 ff             	lea    (%edi,%edi,8),%eax
5ba01a:	03 c0                	add    %eax,%eax
5ba01c:	2b c8                	sub    %eax,%ecx
5ba01e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba021:	81 c1 00 80 00 00    	add    $0x8000,%ecx
5ba027:	c1 f9 08             	sar    $0x8,%ecx
5ba02a:	88 08                	mov    %cl,(%eax)
5ba02c:	5f                   	pop    %edi
5ba02d:	5e                   	pop    %esi
5ba02e:	5b                   	pop    %ebx
5ba02f:	8b e5                	mov    %ebp,%esp
5ba031:	5d                   	pop    %ebp
5ba032:	c3                   	ret
5ba033:	cc                   	int3
5ba034:	cc                   	int3
5ba035:	cc                   	int3
5ba036:	cc                   	int3
5ba037:	cc                   	int3
5ba038:	cc                   	int3
5ba039:	cc                   	int3
5ba03a:	cc                   	int3
5ba03b:	cc                   	int3
5ba03c:	cc                   	int3
5ba03d:	cc                   	int3
5ba03e:	cc                   	int3
5ba03f:	cc                   	int3
5ba040:	55                   	push   %ebp
5ba041:	8b ec                	mov    %esp,%ebp
5ba043:	53                   	push   %ebx
5ba044:	8b 5d 14             	mov    0x14(%ebp),%ebx
5ba047:	85 db                	test   %ebx,%ebx
5ba049:	7e 55                	jle    0x5ba0a0
5ba04b:	56                   	push   %esi
5ba04c:	8b 75 08             	mov    0x8(%ebp),%esi
5ba04f:	57                   	push   %edi
5ba050:	8b 7d 10             	mov    0x10(%ebp),%edi
5ba053:	83 c6 02             	add    $0x2,%esi
5ba056:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
5ba05d:	00 00 00
5ba060:	0f b6 56 fe          	movzbl -0x2(%esi),%edx
5ba064:	8d 76 04             	lea    0x4(%esi),%esi
5ba067:	0f b6 47 02          	movzbl 0x2(%edi),%eax
5ba06b:	0f b6 4e fb          	movzbl -0x5(%esi),%ecx
5ba06f:	0f af d0             	imul   %eax,%edx
5ba072:	0f b6 47 01          	movzbl 0x1(%edi),%eax
5ba076:	0f af c8             	imul   %eax,%ecx
5ba079:	0f b6 46 fc          	movzbl -0x4(%esi),%eax
5ba07d:	03 d1                	add    %ecx,%edx
5ba07f:	0f b6 0f             	movzbl (%edi),%ecx
5ba082:	0f af c8             	imul   %eax,%ecx
5ba085:	0f b7 47 0c          	movzwl 0xc(%edi),%eax
5ba089:	03 d1                	add    %ecx,%edx
5ba08b:	03 d0                	add    %eax,%edx
5ba08d:	8b 45 0c             	mov    0xc(%ebp),%eax
5ba090:	c1 ea 08             	shr    $0x8,%edx
5ba093:	88 10                	mov    %dl,(%eax)
5ba095:	40                   	inc    %eax
5ba096:	89 45 0c             	mov    %eax,0xc(%ebp)
5ba099:	83 eb 01             	sub    $0x1,%ebx
5ba09c:	75 c2                	jne    0x5ba060
5ba09e:	5f                   	pop    %edi
5ba09f:	5e                   	pop    %esi
5ba0a0:	5b                   	pop    %ebx
5ba0a1:	5d                   	pop    %ebp
5ba0a2:	c3                   	ret
5ba0a3:	cc                   	int3
5ba0a4:	cc                   	int3
5ba0a5:	cc                   	int3
5ba0a6:	cc                   	int3
5ba0a7:	cc                   	int3
5ba0a8:	cc                   	int3
5ba0a9:	cc                   	int3
5ba0aa:	cc                   	int3
5ba0ab:	cc                   	int3
5ba0ac:	cc                   	int3
5ba0ad:	cc                   	int3
5ba0ae:	cc                   	int3
5ba0af:	cc                   	int3
5ba0b0:	55                   	push   %ebp
5ba0b1:	8b ec                	mov    %esp,%ebp
5ba0b3:	56                   	push   %esi
5ba0b4:	8b 75 10             	mov    0x10(%ebp),%esi
5ba0b7:	85 f6                	test   %esi,%esi
5ba0b9:	7e 3e                	jle    0x5ba0f9
5ba0bb:	8b 45 08             	mov    0x8(%ebp),%eax
5ba0be:	53                   	push   %ebx
5ba0bf:	57                   	push   %edi
5ba0c0:	8b 7d 0c             	mov    0xc(%ebp),%edi
5ba0c3:	83 c0 02             	add    $0x2,%eax
5ba0c6:	0f b6 48 ff          	movzbl -0x1(%eax),%ecx
5ba0ca:	8d 40 04             	lea    0x4(%eax),%eax
5ba0cd:	8d 7f 01             	lea    0x1(%edi),%edi
5ba0d0:	8d 14 89             	lea    (%ecx,%ecx,4),%edx
5ba0d3:	0f b6 48 fa          	movzbl -0x6(%eax),%ecx
5ba0d7:	03 d1                	add    %ecx,%edx
5ba0d9:	6b da 0d             	imul   $0xd,%edx,%ebx
5ba0dc:	0f b6 50 fc          	movzbl -0x4(%eax),%edx
5ba0e0:	8b ca                	mov    %edx,%ecx
5ba0e2:	c1 e1 05             	shl    $0x5,%ecx
5ba0e5:	03 ca                	add    %edx,%ecx
5ba0e7:	03 d9                	add    %ecx,%ebx
5ba0e9:	c1 eb 07             	shr    $0x7,%ebx
5ba0ec:	80 c3 10             	add    $0x10,%bl
5ba0ef:	88 5f ff             	mov    %bl,-0x1(%edi)
5ba0f2:	83 ee 01             	sub    $0x1,%esi
5ba0f5:	75 cf                	jne    0x5ba0c6
5ba0f7:	5f                   	pop    %edi
5ba0f8:	5b                   	pop    %ebx
5ba0f9:	5e                   	pop    %esi
5ba0fa:	5d                   	pop    %ebp
5ba0fb:	c3                   	ret
5ba0fc:	cc                   	int3
5ba0fd:	cc                   	int3
5ba0fe:	cc                   	int3
5ba0ff:	cc                   	int3
5ba100:	55                   	push   %ebp
5ba101:	8b ec                	mov    %esp,%ebp
5ba103:	51                   	push   %ecx
5ba104:	53                   	push   %ebx
5ba105:	8b 5d 14             	mov    0x14(%ebp),%ebx
5ba108:	56                   	push   %esi
5ba109:	8d 73 ff             	lea    -0x1(%ebx),%esi
5ba10c:	85 f6                	test   %esi,%esi
5ba10e:	7e 4f                	jle    0x5ba15f
5ba110:	8b 45 08             	mov    0x8(%ebp),%eax
5ba113:	4e                   	dec    %esi
5ba114:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5ba117:	57                   	push   %edi
5ba118:	8b f8                	mov    %eax,%edi
5ba11a:	d1 ee                	shr    $1,%esi
5ba11c:	2b c1                	sub    %ecx,%eax
5ba11e:	46                   	inc    %esi
5ba11f:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ba122:	8d 51 01             	lea    0x1(%ecx),%edx
5ba125:	8b 45 10             	mov    0x10(%ebp),%eax
5ba128:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5ba12b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5ba130:	0f b6 0f             	movzbl (%edi),%ecx
5ba133:	8d 7f 02             	lea    0x2(%edi),%edi
5ba136:	88 08                	mov    %cl,(%eax)
5ba138:	8d 52 02             	lea    0x2(%edx),%edx
5ba13b:	0f b6 4a fd          	movzbl -0x3(%edx),%ecx
5ba13f:	88 48 01             	mov    %cl,0x1(%eax)
5ba142:	0f b6 4c 13 fe       	movzbl -0x2(%ebx,%edx,1),%ecx
5ba147:	88 48 02             	mov    %cl,0x2(%eax)
5ba14a:	0f b6 4a fe          	movzbl -0x2(%edx),%ecx
5ba14e:	88 48 03             	mov    %cl,0x3(%eax)
5ba151:	83 c0 04             	add    $0x4,%eax
5ba154:	83 ee 01             	sub    $0x1,%esi
5ba157:	75 d7                	jne    0x5ba130
5ba159:	8b 5d 14             	mov    0x14(%ebp),%ebx
5ba15c:	5f                   	pop    %edi
5ba15d:	eb 03                	jmp    0x5ba162
5ba15f:	8b 45 10             	mov    0x10(%ebp),%eax
5ba162:	f6 c3 01             	test   $0x1,%bl
5ba165:	74 15                	je     0x5ba17c
5ba167:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ba16a:	0f b6 4c 19 ff       	movzbl -0x1(%ecx,%ebx,1),%ecx
5ba16f:	88 08                	mov    %cl,(%eax)
5ba171:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5ba174:	0f b6 4c 19 ff       	movzbl -0x1(%ecx,%ebx,1),%ecx
5ba179:	88 48 01             	mov    %cl,0x1(%eax)
5ba17c:	5e                   	pop    %esi
5ba17d:	5b                   	pop    %ebx
5ba17e:	8b e5                	mov    %ebp,%esp
5ba180:	5d                   	pop    %ebp
5ba181:	c3                   	ret
5ba182:	cc                   	int3
5ba183:	cc                   	int3
5ba184:	cc                   	int3
5ba185:	cc                   	int3
5ba186:	cc                   	int3
5ba187:	cc                   	int3
5ba188:	cc                   	int3
5ba189:	cc                   	int3
5ba18a:	cc                   	int3
5ba18b:	cc                   	int3
5ba18c:	cc                   	int3
5ba18d:	cc                   	int3
5ba18e:	cc                   	int3
5ba18f:	cc                   	int3
5ba190:	55                   	push   %ebp
5ba191:	8b ec                	mov    %esp,%ebp
5ba193:	8b 45 08             	mov    0x8(%ebp),%eax
5ba196:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5ba199:	53                   	push   %ebx
5ba19a:	56                   	push   %esi
5ba19b:	57                   	push   %edi
5ba19c:	53                   	push   %ebx
5ba19d:	0f a2                	cpuid
5ba19f:	8b fb                	mov    %ebx,%edi
5ba1a1:	5b                   	pop    %ebx
5ba1a2:	90                   	nop
5ba1a3:	8b 75 10             	mov    0x10(%ebp),%esi
5ba1a6:	89 06                	mov    %eax,(%esi)
5ba1a8:	89 7e 04             	mov    %edi,0x4(%esi)
5ba1ab:	89 4e 08             	mov    %ecx,0x8(%esi)
5ba1ae:	5f                   	pop    %edi
5ba1af:	89 56 0c             	mov    %edx,0xc(%esi)
5ba1b2:	5e                   	pop    %esi
5ba1b3:	5b                   	pop    %ebx
5ba1b4:	5d                   	pop    %ebp
5ba1b5:	c3                   	ret
5ba1b6:	cc                   	int3
5ba1b7:	cc                   	int3
5ba1b8:	cc                   	int3
5ba1b9:	cc                   	int3
5ba1ba:	cc                   	int3
5ba1bb:	cc                   	int3
5ba1bc:	cc                   	int3
5ba1bd:	cc                   	int3
5ba1be:	cc                   	int3
5ba1bf:	cc                   	int3
5ba1c0:	55                   	push   %ebp
5ba1c1:	8b ec                	mov    %esp,%ebp
5ba1c3:	83 ec 30             	sub    $0x30,%esp
5ba1c6:	8d 45 d0             	lea    -0x30(%ebp),%eax
5ba1c9:	0f 57 c0             	xorps  %xmm0,%xmm0
5ba1cc:	50                   	push   %eax
5ba1cd:	6a 00                	push   $0x0
5ba1cf:	6a 00                	push   $0x0
5ba1d1:	0f 11 45 d0          	movups %xmm0,-0x30(%ebp)
5ba1d5:	0f 11 45 f0          	movups %xmm0,-0x10(%ebp)
5ba1d9:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
5ba1dd:	e8 ae ff ff ff       	call   0x5ba190
5ba1e2:	8d 45 f0             	lea    -0x10(%ebp),%eax
5ba1e5:	50                   	push   %eax
5ba1e6:	6a 00                	push   $0x0
5ba1e8:	6a 01                	push   $0x1
5ba1ea:	e8 a1 ff ff ff       	call   0x5ba190
5ba1ef:	83 c4 18             	add    $0x18,%esp
5ba1f2:	83 7d d0 07          	cmpl   $0x7,-0x30(%ebp)
5ba1f6:	7c 10                	jl     0x5ba208
5ba1f8:	8d 45 e0             	lea    -0x20(%ebp),%eax
5ba1fb:	50                   	push   %eax
5ba1fc:	6a 00                	push   $0x0
5ba1fe:	6a 07                	push   $0x7
5ba200:	e8 8b ff ff ff       	call   0x5ba190
5ba205:	83 c4 0c             	add    $0xc,%esp
5ba208:	53                   	push   %ebx
5ba209:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
5ba20c:	56                   	push   %esi
5ba20d:	8b 75 fc             	mov    -0x4(%ebp),%esi
5ba210:	81 e6 00 00 00 04    	and    $0x4000000,%esi