566f3a:	0b cb                	or     %ebx,%ecx
566f3c:	d1 e8                	shr    $1,%eax
566f3e:	8b 5c 24 24          	mov    0x24(%esp),%ebx
566f42:	89 0c 9e             	mov    %ecx,(%esi,%ebx,4)
566f45:	8b da                	mov    %edx,%ebx
566f47:	8b 4c 24 44          	mov    0x44(%esp),%ecx
566f4b:	8b 54 24 40          	mov    0x40(%esp),%edx
566f4f:	8b 74 24 3c          	mov    0x3c(%esp),%esi
566f53:	03 d7                	add    %edi,%edx
566f55:	8b 09                	mov    (%ecx),%ecx
566f57:	8b 54 0a 04          	mov    0x4(%edx,%ecx,1),%edx
566f5b:	23 d5                	and    %ebp,%edx
566f5d:	33 17                	xor    (%edi),%edx
566f5f:	8b ca                	mov    %edx,%ecx
566f61:	c1 e1 1f             	shl    $0x1f,%ecx
566f64:	0b c8                	or     %eax,%ecx
566f66:	8b c2                	mov    %edx,%eax
566f68:	8b 54 24 10          	mov    0x10(%esp),%edx
566f6c:	89 4f fc             	mov    %ecx,-0x4(%edi)
566f6f:	4a                   	dec    %edx
566f70:	8b 4c 24 24          	mov    0x24(%esp),%ecx
566f74:	83 c7 04             	add    $0x4,%edi
566f77:	41                   	inc    %ecx
566f78:	3b ca                	cmp    %edx,%ecx
566f7a:	89 4c 24 24          	mov    %ecx,0x24(%esp)
566f7e:	8b 54 24 28          	mov    0x28(%esp),%edx
566f82:	7c ac                	jl     0x566f30
566f84:	8b 7c 24 10          	mov    0x10(%esp),%edi
566f88:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
566f8c:	d1 eb                	shr    $1,%ebx
566f8e:	89 1c 8e             	mov    %ebx,(%esi,%ecx,4)
566f91:	8b 5c 24 20          	mov    0x20(%esp),%ebx
566f95:	d1 e8                	shr    $1,%eax
566f97:	83 eb 01             	sub    $0x1,%ebx
566f9a:	89 44 8d 00          	mov    %eax,0x0(%ebp,%ecx,4)
566f9e:	89 5c 24 20          	mov    %ebx,0x20(%esp)
566fa2:	0f 85 38 ff ff ff    	jne    0x566ee0
566fa8:	eb 04                	jmp    0x566fae
566faa:	8b 5c 24 20          	mov    0x20(%esp),%ebx
566fae:	8b 54 24 14          	mov    0x14(%esp),%edx
566fb2:	8b 4c 24 18          	mov    0x18(%esp),%ecx
566fb6:	83 fb 20             	cmp    $0x20,%ebx
566fb9:	7f 13                	jg     0x566fce
566fbb:	8b 06                	mov    (%esi),%eax
566fbd:	85 c0                	test   %eax,%eax
566fbf:	0f 84 3c 02 00 00    	je     0x567201
566fc5:	83 f8 01             	cmp    $0x1,%eax
566fc8:	0f 84 f3 01 00 00    	je     0x5671c1
566fce:	3b 5c 24 38          	cmp    0x38(%esp),%ebx
566fd2:	7d 47                	jge    0x56701b
566fd4:	8b 6c 24 48          	mov    0x48(%esp),%ebp
566fd8:	8b c3                	mov    %ebx,%eax
566fda:	8b 74 24 34          	mov    0x34(%esp),%esi
566fde:	8b 5c 24 38          	mov    0x38(%esp),%ebx
566fe2:	89 74 24 48          	mov    %esi,0x48(%esp)
566fe6:	8b 74 24 2c          	mov    0x2c(%esp),%esi
566fea:	89 44 24 38          	mov    %eax,0x38(%esp)
566fee:	8b 44 24 30          	mov    0x30(%esp),%eax
566ff2:	89 74 24 30          	mov    %esi,0x30(%esp)
566ff6:	8b f1                	mov    %ecx,%esi
566ff8:	8b 4d 00             	mov    0x0(%ebp),%ecx
566ffb:	89 6c 24 34          	mov    %ebp,0x34(%esp)
566fff:	8b ea                	mov    %edx,%ebp
567001:	8b 10                	mov    (%eax),%edx
567003:	89 5c 24 20          	mov    %ebx,0x20(%esp)
567007:	89 44 24 2c          	mov    %eax,0x2c(%esp)
56700b:	89 74 24 3c          	mov    %esi,0x3c(%esp)
56700f:	89 4c 24 18          	mov    %ecx,0x18(%esp)
567013:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
567017:	89 54 24 14          	mov    %edx,0x14(%esp)
56701b:	33 d2                	xor    %edx,%edx
56701d:	85 ff                	test   %edi,%edi
56701f:	0f 8e 46 01 00 00    	jle    0x56716b
567025:	83 ff 04             	cmp    $0x4,%edi
567028:	0f 82 fa 00 00 00    	jb     0x567128
56702e:	8b 4c 24 14          	mov    0x14(%esp),%ecx
567032:	8d 04 bd fc ff ff ff 	lea    -0x4(,%edi,4),%eax
567039:	03 c5                	add    %ebp,%eax
56703b:	8d 0c b9             	lea    (%ecx,%edi,4),%ecx
56703e:	83 c1 fc             	add    $0xfffffffc,%ecx
567041:	3b e9                	cmp    %ecx,%ebp
567043:	77 0a                	ja     0x56704f
567045:	3b 44 24 14          	cmp    0x14(%esp),%eax
567049:	0f 83 d9 00 00 00    	jae    0x567128
56704f:	8d 4f ff             	lea    -0x1(%edi),%ecx
567052:	8d 0c 8e             	lea    (%esi,%ecx,4),%ecx
567055:	3b e9                	cmp    %ecx,%ebp
567057:	77 08                	ja     0x567061
567059:	3b c6                	cmp    %esi,%eax
56705b:	0f 83 c7 00 00 00    	jae    0x567128
567061:	8b 74 24 18          	mov    0x18(%esp),%esi
567065:	83 ee 04             	sub    $0x4,%esi
567068:	8d 3c be             	lea    (%esi,%edi,4),%edi
56706b:	8b 74 24 3c          	mov    0x3c(%esp),%esi
56706f:	3b ef                	cmp    %edi,%ebp
567071:	77 0a                	ja     0x56707d
567073:	3b 44 24 18          	cmp    0x18(%esp),%eax
567077:	0f 83 a7 00 00 00    	jae    0x567124
56707d:	8b 6c 24 10          	mov    0x10(%esp),%ebp
567081:	8b 5c 24 14          	mov    0x14(%esp),%ebx
567085:	4d                   	dec    %ebp
567086:	8d 04 ab             	lea    (%ebx,%ebp,4),%eax
567089:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
56708d:	3b f0                	cmp    %eax,%esi
56708f:	77 08                	ja     0x567099
567091:	3b cb                	cmp    %ebx,%ecx
567093:	0f 83 8b 00 00 00    	jae    0x567124
567099:	3b f7                	cmp    %edi,%esi
56709b:	77 0a                	ja     0x5670a7
56709d:	3b 4c 24 18          	cmp    0x18(%esp),%ecx
5670a1:	0f 83 7d 00 00 00    	jae    0x567124
5670a7:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5670ab:	8b c1                	mov    %ecx,%eax
5670ad:	25 03 00 00 80       	and    $0x80000003,%eax
5670b2:	79 05                	jns    0x5670b9
5670b4:	48                   	dec    %eax
5670b5:	83 c8 fc             	or     $0xfffffffc,%eax
5670b8:	40                   	inc    %eax
5670b9:	8b 6c 24 14          	mov    0x14(%esp),%ebp
5670bd:	2b c8                	sub    %eax,%ecx
5670bf:	8b 7c 24 18          	mov    0x18(%esp),%edi
5670c3:	2b ee                	sub    %esi,%ebp
5670c5:	89 6c 24 28          	mov    %ebp,0x28(%esp)
5670c9:	2b fe                	sub    %esi,%edi
5670cb:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
5670cf:	8b c6                	mov    %esi,%eax
5670d1:	89 6c 24 24          	mov    %ebp,0x24(%esp)
5670d5:	29 74 24 24          	sub    %esi,0x24(%esp)
5670d9:	8b 6c 24 28          	mov    0x28(%esp),%ebp
5670dd:	8b 5c 24 24          	mov    0x24(%esp),%ebx
5670e1:	0f 10 00             	movups (%eax),%xmm0
5670e4:	83 c2 04             	add    $0x4,%edx
5670e7:	8d 40 10             	lea    0x10(%eax),%eax
5670ea:	0f 10 4c 07 f0       	movups -0x10(%edi,%eax,1),%xmm1
5670ef:	66 0f ef c8          	pxor   %xmm0,%xmm1
5670f3:	0f 10 44 03 f0       	movups -0x10(%ebx,%eax,1),%xmm0
5670f8:	0f 11 48 f0          	movups %xmm1,-0x10(%eax)
5670fc:	0f 10 4c 28 f0       	movups -0x10(%eax,%ebp,1),%xmm1
567101:	66 0f ef c8          	pxor   %xmm0,%xmm1
567105:	0f 11 4c 03 f0       	movups %xmm1,-0x10(%ebx,%eax,1)
56710a:	3b d1                	cmp    %ecx,%edx
56710c:	7c d3                	jl     0x5670e1
56710e:	8b 7c 24 10          	mov    0x10(%esp),%edi
567112:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
567116:	8b 5c 24 20          	mov    0x20(%esp),%ebx
56711a:	89 54 24 28          	mov    %edx,0x28(%esp)
56711e:	3b d7                	cmp    %edi,%edx
567120:	7d 45                	jge    0x567167
567122:	eb 04                	jmp    0x567128
567124:	8b 7c 24 10          	mov    0x10(%esp),%edi
567128:	8b 5c 24 18          	mov    0x18(%esp),%ebx
56712c:	8d 0c 96             	lea    (%esi,%edx,4),%ecx
56712f:	8b 44 24 14          	mov    0x14(%esp),%eax
567133:	2b ee                	sub    %esi,%ebp
567135:	2b c6                	sub    %esi,%eax
567137:	89 6c 24 40          	mov    %ebp,0x40(%esp)
56713b:	2b de                	sub    %esi,%ebx
56713d:	89 44 24 28          	mov    %eax,0x28(%esp)
567141:	2b fa                	sub    %edx,%edi
567143:	8b d0                	mov    %eax,%edx
567145:	8b 04 19             	mov    (%ecx,%ebx,1),%eax
567148:	8d 49 04             	lea    0x4(%ecx),%ecx
56714b:	31 41 fc             	xor    %eax,-0x4(%ecx)
56714e:	8b 44 11 fc          	mov    -0x4(%ecx,%edx,1),%eax
567152:	31 44 29 fc          	xor    %eax,-0x4(%ecx,%ebp,1)
567156:	83 ef 01             	sub    $0x1,%edi
567159:	75 ea                	jne    0x567145
56715b:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
56715f:	8b 5c 24 20          	mov    0x20(%esp),%ebx
567163:	8b 7c 24 10          	mov    0x10(%esp),%edi
567167:	8b 4c 24 18          	mov    0x18(%esp),%ecx
56716b:	8b 54 24 14          	mov    0x14(%esp),%edx
56716f:	3b 5c 24 38          	cmp    0x38(%esp),%ebx
567173:	0f 85 5f fd ff ff    	jne    0x566ed8
567179:	8d 43 ff             	lea    -0x1(%ebx),%eax
56717c:	99                   	cltd
56717d:	83 e2 1f             	and    $0x1f,%edx
567180:	8d 3c 02             	lea    (%edx,%eax,1),%edi
567183:	c1 ff 05             	sar    $0x5,%edi
567186:	8b 04 be             	mov    (%esi,%edi,4),%eax
567189:	85 c0                	test   %eax,%eax
56718b:	75 10                	jne    0x56719d
56718d:	0f 1f 00             	nopl   (%eax)
567190:	85 ff                	test   %edi,%edi
567192:	74 09                	je     0x56719d
567194:	8b 44 be fc          	mov    -0x4(%esi,%edi,4),%eax
567198:	4f                   	dec    %edi
567199:	85 c0                	test   %eax,%eax
56719b:	74 f3                	je     0x567190
56719d:	50                   	push   %eax
56719e:	e8 4d 2d f7 ff       	call   0x4d9ef0
5671a3:	8b 54 24 18          	mov    0x18(%esp),%edx
5671a7:	83 c4 04             	add    $0x4,%esp
5671aa:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5671ae:	c1 e7 05             	shl    $0x5,%edi
5671b1:	8d 1c 07             	lea    (%edi,%eax,1),%ebx
5671b4:	8b 7c 24 10          	mov    0x10(%esp),%edi
5671b8:	89 5c 24 20          	mov    %ebx,0x20(%esp)
5671bc:	e9 17 fd ff ff       	jmp    0x566ed8
5671c1:	8b 5c 24 30          	mov    0x30(%esp),%ebx
5671c5:	53                   	push   %ebx
5671c6:	e8 85 32 f7 ff       	call   0x4da450
5671cb:	53                   	push   %ebx
5671cc:	ff 74 24 58          	push   0x58(%esp)
5671d0:	e8 0b 29 f7 ff       	call   0x4d9ae0
5671d5:	83 c4 0c             	add    $0xc,%esp
5671d8:	85 c0                	test   %eax,%eax
5671da:	74 25                	je     0x567201
5671dc:	c7 44 24 4c 01 00 00 	movl   $0x1,0x4c(%esp)
5671e3:	00
5671e4:	eb 1b                	jmp    0x567201
5671e6:	68 8e 01 00 00       	push   $0x18e
5671eb:	68 e8 7e 65 00       	push   $0x657ee8
5671f0:	6a 6a                	push   $0x6a
5671f2:	68 83 00 00 00       	push   $0x83
5671f7:	6a 03                	push   $0x3
5671f9:	e8 82 1d f7 ff       	call   0x4d8f80
5671fe:	83 c4 14             	add    $0x14,%esp
567201:	ff 74 24 54          	push   0x54(%esp)
567205:	e8 c6 08 f8 ff       	call   0x4e7ad0
56720a:	8b 4c 24 74          	mov    0x74(%esp),%ecx
56720e:	83 c4 04             	add    $0x4,%esp
567211:	8b 44 24 4c          	mov    0x4c(%esp),%eax
567215:	5f                   	pop    %edi
567216:	5e                   	pop    %esi
567217:	5d                   	pop    %ebp
567218:	5b                   	pop    %ebx
567219:	33 cc                	xor    %esp,%ecx
56721b:	e8 06 a8 06 00       	call   0x5d1a26
567220:	83 c4 64             	add    $0x64,%esp
567223:	c3                   	ret
567224:	cc                   	int3
567225:	cc                   	int3
567226:	cc                   	int3
567227:	cc                   	int3
567228:	cc                   	int3
567229:	cc                   	int3
56722a:	cc                   	int3
56722b:	cc                   	int3
56722c:	cc                   	int3
56722d:	cc                   	int3
56722e:	cc                   	int3
56722f:	cc                   	int3
567230:	53                   	push   %ebx
567231:	56                   	push   %esi
567232:	57                   	push   %edi
567233:	ff 74 24 1c          	push   0x1c(%esp)
567237:	33 f6                	xor    %esi,%esi
567239:	e8 e2 2b f7 ff       	call   0x4d9e20
56723e:	68 da 01 00 00       	push   $0x1da
567243:	68 e8 7e 65 00       	push   $0x657ee8
567248:	8d 78 01             	lea    0x1(%eax),%edi
56724b:	8d 04 bd 00 00 00 00 	lea    0x0(,%edi,4),%eax
567252:	50                   	push   %eax
567253:	e8 f8 94 f7 ff       	call   0x4e0750
567258:	8b d8                	mov    %eax,%ebx
56725a:	83 c4 10             	add    $0x10,%esp
56725d:	85 db                	test   %ebx,%ebx
56725f:	74 4d                	je     0x5672ae
567261:	57                   	push   %edi
567262:	53                   	push   %ebx
567263:	ff 74 24 24          	push   0x24(%esp)
567267:	e8 74 08 00 00       	call   0x567ae0
56726c:	8b f0                	mov    %eax,%esi
56726e:	83 c4 0c             	add    $0xc,%esp
567271:	85 f6                	test   %esi,%esi
567273:	74 1e                	je     0x567293
567275:	3b f7                	cmp    %edi,%esi
567277:	7f 1a                	jg     0x567293
567279:	ff 74 24 20          	push   0x20(%esp)
56727d:	53                   	push   %ebx
56727e:	ff 74 24 20          	push   0x20(%esp)
567282:	ff 74 24 20          	push   0x20(%esp)
567286:	ff 74 24 20          	push   0x20(%esp)
56728a:	e8 41 00 00 00       	call   0x5672d0
56728f:	8b f0                	mov    %eax,%esi
567291:	eb 18                	jmp    0x5672ab
567293:	68 de 01 00 00       	push   $0x1de
567298:	68 e8 7e 65 00       	push   $0x657ee8
56729d:	6a 6a                	push   $0x6a
56729f:	68 85 00 00 00       	push   $0x85
5672a4:	6a 03                	push   $0x3
5672a6:	e8 d5 1c f7 ff       	call   0x4d8f80
5672ab:	83 c4 14             	add    $0x14,%esp
5672ae:	68 e4 01 00 00       	push   $0x1e4
5672b3:	68 e8 7e 65 00       	push   $0x657ee8
5672b8:	53                   	push   %ebx
5672b9:	e8 c2 94 f7 ff       	call   0x4e0780
5672be:	83 c4 0c             	add    $0xc,%esp
5672c1:	8b c6                	mov    %esi,%eax
5672c3:	5f                   	pop    %edi
5672c4:	5e                   	pop    %esi
5672c5:	5b                   	pop    %ebx
5672c6:	c3                   	ret
5672c7:	cc                   	int3
5672c8:	cc                   	int3
5672c9:	cc                   	int3
5672ca:	cc                   	int3
5672cb:	cc                   	int3
5672cc:	cc                   	int3
5672cd:	cc                   	int3
5672ce:	cc                   	int3
5672cf:	cc                   	int3
5672d0:	b8 34 00 00 00       	mov    $0x34,%eax
5672d5:	e8 d6 a4 06 00       	call   0x5d17b0
5672da:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5672df:	33 c4                	xor    %esp,%eax
5672e1:	89 44 24 30          	mov    %eax,0x30(%esp)
5672e5:	8b 44 24 38          	mov    0x38(%esp),%eax
5672e9:	8b 4c 24 44          	mov    0x44(%esp),%ecx
5672ed:	53                   	push   %ebx
5672ee:	8b 5c 24 4c          	mov    0x4c(%esp),%ebx
5672f2:	55                   	push   %ebp
5672f3:	8b 6c 24 44          	mov    0x44(%esp),%ebp
5672f7:	56                   	push   %esi
5672f8:	8b 74 24 4c          	mov    0x4c(%esp),%esi
5672fc:	89 44 24 24          	mov    %eax,0x24(%esp)
567300:	89 74 24 14          	mov    %esi,0x14(%esp)
567304:	89 4c 24 20          	mov    %ecx,0x20(%esp)
567308:	89 5c 24 28          	mov    %ebx,0x28(%esp)
56730c:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
567313:	00
567314:	53                   	push   %ebx
567315:	3b ee                	cmp    %esi,%ebp
567317:	75 1d                	jne    0x567336
567319:	51                   	push   %ecx
56731a:	55                   	push   %ebp
56731b:	50                   	push   %eax
56731c:	e8 4f 05 00 00       	call   0x567870
567321:	83 c4 10             	add    $0x10,%esp
567324:	5e                   	pop    %esi
567325:	5d                   	pop    %ebp
567326:	5b                   	pop    %ebx
567327:	8b 4c 24 30          	mov    0x30(%esp),%ecx
56732b:	33 cc                	xor    %esp,%ecx
56732d:	e8 f4 a6 06 00       	call   0x5d1a26
567332:	83 c4 34             	add    $0x34,%esp
567335:	c3                   	ret
567336:	e8 d5 0a f8 ff       	call   0x4e7e10
56733b:	53                   	push   %ebx
56733c:	e8 8f 08 f8 ff       	call   0x4e7bd0
567341:	8b d8                	mov    %eax,%ebx
567343:	83 c4 08             	add    $0x8,%esp
567346:	85 db                	test   %ebx,%ebx
567348:	0f 84 9b 01 00 00    	je     0x5674e9
56734e:	8b 4e 04             	mov    0x4(%esi),%ecx
567351:	57                   	push   %edi
567352:	8b 7d 04             	mov    0x4(%ebp),%edi
567355:	83 c1 04             	add    $0x4,%ecx
567358:	03 f9                	add    %ecx,%edi