53d150:	8b 47 30             	mov    0x30(%edi),%eax
53d153:	83 c7 48             	add    $0x48,%edi
53d156:	89 46 38             	mov    %eax,0x38(%esi)
53d159:	83 c6 48             	add    $0x48,%esi
53d15c:	8b 45 0c             	mov    0xc(%ebp),%eax
53d15f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
53d162:	3b 08                	cmp    (%eax),%ecx
53d164:	0f 8c 27 fe ff ff    	jl     0x53cf91
53d16a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
53d16d:	5f                   	pop    %edi
53d16e:	5b                   	pop    %ebx
53d16f:	8b c1                	mov    %ecx,%eax
53d171:	5e                   	pop    %esi
53d172:	8b e5                	mov    %ebp,%esp
53d174:	5d                   	pop    %ebp
53d175:	c3                   	ret
53d176:	cc                   	int3
53d177:	cc                   	int3
53d178:	cc                   	int3
53d179:	cc                   	int3
53d17a:	cc                   	int3
53d17b:	cc                   	int3
53d17c:	cc                   	int3
53d17d:	cc                   	int3
53d17e:	cc                   	int3
53d17f:	cc                   	int3
53d180:	55                   	push   %ebp
53d181:	8b ec                	mov    %esp,%ebp
53d183:	51                   	push   %ecx
53d184:	53                   	push   %ebx
53d185:	8b 5d 10             	mov    0x10(%ebp),%ebx
53d188:	56                   	push   %esi
53d189:	8b 75 0c             	mov    0xc(%ebp),%esi
53d18c:	57                   	push   %edi
53d18d:	8b 06                	mov    (%esi),%eax
53d18f:	8d 0c 18             	lea    (%eax,%ebx,1),%ecx
53d192:	89 4d 10             	mov    %ecx,0x10(%ebp)
53d195:	3b 4e 04             	cmp    0x4(%esi),%ecx
53d198:	0f 86 98 00 00 00    	jbe    0x53d236
53d19e:	b9 02 00 00 00       	mov    $0x2,%ecx
53d1a3:	f7 e9                	imul   %ecx
53d1a5:	8b c8                	mov    %eax,%ecx
53d1a7:	8b fa                	mov    %edx,%edi
53d1a9:	8b c3                	mov    %ebx,%eax
53d1ab:	99                   	cltd
53d1ac:	03 c8                	add    %eax,%ecx
53d1ae:	8b 45 08             	mov    0x8(%ebp),%eax
53d1b1:	89 4d 0c             	mov    %ecx,0xc(%ebp)
53d1b4:	13 fa                	adc    %edx,%edi
53d1b6:	81 7d 10 c8 00 00 00 	cmpl   $0xc8,0x10(%ebp)
53d1bd:	8b 10                	mov    (%eax),%edx
53d1bf:	89 55 fc             	mov    %edx,-0x4(%ebp)
53d1c2:	7c 1c                	jl     0x53d1e0
53d1c4:	68 c8 00 00 00       	push   $0xc8
53d1c9:	68 50 a6 6b 00       	push   $0x6ba650
53d1ce:	50                   	push   %eax
53d1cf:	e8 8c 60 fe ff       	call   0x523260
53d1d4:	83 c4 0c             	add    $0xc,%esp
53d1d7:	5f                   	pop    %edi
53d1d8:	5e                   	pop    %esi
53d1d9:	33 c0                	xor    %eax,%eax
53d1db:	5b                   	pop    %ebx
53d1dc:	8b e5                	mov    %ebp,%esp
53d1de:	5d                   	pop    %ebp
53d1df:	c3                   	ret
53d1e0:	85 ff                	test   %edi,%edi
53d1e2:	7c 14                	jl     0x53d1f8
53d1e4:	7f 08                	jg     0x53d1ee
53d1e6:	81 f9 c8 00 00 00    	cmp    $0xc8,%ecx
53d1ec:	76 0a                	jbe    0x53d1f8
53d1ee:	b9 c8 00 00 00       	mov    $0xc8,%ecx
53d1f3:	33 ff                	xor    %edi,%edi
53d1f5:	89 4d 0c             	mov    %ecx,0xc(%ebp)
53d1f8:	8b d1                	mov    %ecx,%edx
53d1fa:	83 c2 ff             	add    $0xffffffff,%edx
53d1fd:	8b c2                	mov    %edx,%eax
53d1ff:	83 d7 ff             	adc    $0xffffffff,%edi
53d202:	8b cf                	mov    %edi,%ecx
53d204:	0f a4 c1 03          	shld   $0x3,%eax,%ecx
53d208:	c1 e0 03             	shl    $0x3,%eax
53d20b:	03 d0                	add    %eax,%edx
53d20d:	13 f9                	adc    %ecx,%edi
53d20f:	0f a4 d7 03          	shld   $0x3,%edx,%edi
53d213:	c1 e2 03             	shl    $0x3,%edx
53d216:	83 c2 50             	add    $0x50,%edx
53d219:	83 d7 00             	adc    $0x0,%edi
53d21c:	57                   	push   %edi
53d21d:	52                   	push   %edx
53d21e:	56                   	push   %esi
53d21f:	ff 75 fc             	push   -0x4(%ebp)
53d222:	e8 39 43 fe ff       	call   0x521560
53d227:	8b f0                	mov    %eax,%esi
53d229:	83 c4 10             	add    $0x10,%esp
53d22c:	85 f6                	test   %esi,%esi
53d22e:	74 a7                	je     0x53d1d7
53d230:	8b 45 0c             	mov    0xc(%ebp),%eax
53d233:	89 46 04             	mov    %eax,0x4(%esi)
53d236:	8b 16                	mov    (%esi),%edx
53d238:	8b 7d 14             	mov    0x14(%ebp),%edi
53d23b:	4a                   	dec    %edx
53d23c:	3b d7                	cmp    %edi,%edx
53d23e:	7c 5b                	jl     0x53d29b
53d240:	8d 04 d5 01 00 00 00 	lea    0x1(,%edx,8),%eax
53d247:	03 c2                	add    %edx,%eax
53d249:	8d 0c c6             	lea    (%esi,%eax,8),%ecx
53d24c:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
53d24f:	2b d7                	sub    %edi,%edx
53d251:	8d 04 c0             	lea    (%eax,%eax,8),%eax
53d254:	42                   	inc    %edx
53d255:	8d 40 01             	lea    0x1(%eax),%eax
53d258:	8d 04 c6             	lea    (%esi,%eax,8),%eax
53d25b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
53d260:	8d 49 b8             	lea    -0x48(%ecx),%ecx
53d263:	8d 40 b8             	lea    -0x48(%eax),%eax
53d266:	0f 10 41 48          	movups 0x48(%ecx),%xmm0
53d26a:	0f 11 40 48          	movups %xmm0,0x48(%eax)
53d26e:	0f 10 41 58          	movups 0x58(%ecx),%xmm0
53d272:	0f 11 40 58          	movups %xmm0,0x58(%eax)
53d276:	0f 10 41 68          	movups 0x68(%ecx),%xmm0
53d27a:	0f 11 40 68          	movups %xmm0,0x68(%eax)
53d27e:	0f 10 41 78          	movups 0x78(%ecx),%xmm0
53d282:	0f 11 40 78          	movups %xmm0,0x78(%eax)
53d286:	f3 0f 7e 81 88 00 00 	movq   0x88(%ecx),%xmm0
53d28d:	00
53d28e:	66 0f d6 80 88 00 00 	movq   %xmm0,0x88(%eax)
53d295:	00
53d296:	83 ea 01             	sub    $0x1,%edx
53d299:	75 c5                	jne    0x53d260
53d29b:	01 1e                	add    %ebx,(%esi)
53d29d:	8d 04 ff             	lea    (%edi,%edi,8),%eax
53d2a0:	8d 0c c6             	lea    (%esi,%eax,8),%ecx
53d2a3:	8d 04 db             	lea    (%ebx,%ebx,8),%eax
53d2a6:	89 4d 0c             	mov    %ecx,0xc(%ebp)
53d2a9:	c1 e0 03             	shl    $0x3,%eax
53d2ac:	50                   	push   %eax
53d2ad:	8d 41 08             	lea    0x8(%ecx),%eax
53d2b0:	6a 00                	push   $0x0
53d2b2:	50                   	push   %eax
53d2b3:	e8 48 67 0a 00       	call   0x5e3a00
53d2b8:	8d 14 3b             	lea    (%ebx,%edi,1),%edx
53d2bb:	83 c4 0c             	add    $0xc,%esp
53d2be:	3b fa                	cmp    %edx,%edi
53d2c0:	7d 1c                	jge    0x53d2de
53d2c2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53d2c5:	83 c1 34             	add    $0x34,%ecx
53d2c8:	2b d7                	sub    %edi,%edx
53d2ca:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
53d2d0:	c7 01 ff ff ff ff    	movl   $0xffffffff,(%ecx)
53d2d6:	8d 49 48             	lea    0x48(%ecx),%ecx
53d2d9:	83 ea 01             	sub    $0x1,%edx
53d2dc:	75 f2                	jne    0x53d2d0
53d2de:	5f                   	pop    %edi
53d2df:	8b c6                	mov    %esi,%eax
53d2e1:	5e                   	pop    %esi
53d2e2:	5b                   	pop    %ebx
53d2e3:	8b e5                	mov    %ebp,%esp
53d2e5:	5d                   	pop    %ebp
53d2e6:	c3                   	ret
53d2e7:	cc                   	int3
53d2e8:	cc                   	int3
53d2e9:	cc                   	int3
53d2ea:	cc                   	int3
53d2eb:	cc                   	int3
53d2ec:	cc                   	int3
53d2ed:	cc                   	int3
53d2ee:	cc                   	int3
53d2ef:	cc                   	int3
53d2f0:	55                   	push   %ebp
53d2f1:	8b ec                	mov    %esp,%ebp
53d2f3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53d2f6:	85 c9                	test   %ecx,%ecx
53d2f8:	74 14                	je     0x53d30e
53d2fa:	8b 01                	mov    (%ecx),%eax
53d2fc:	8d 04 c0             	lea    (%eax,%eax,8),%eax
53d2ff:	83 4c c1 e8 04       	orl    $0x4,-0x18(%ecx,%eax,8)
53d304:	8d 0c c1             	lea    (%ecx,%eax,8),%ecx
53d307:	8b 45 10             	mov    0x10(%ebp),%eax
53d30a:	89 01                	mov    %eax,(%ecx)
53d30c:	5d                   	pop    %ebp
53d30d:	c3                   	ret
53d30e:	8b 45 10             	mov    0x10(%ebp),%eax
53d311:	85 c0                	test   %eax,%eax
53d313:	74 0e                	je     0x53d323
53d315:	50                   	push   %eax
53d316:	8b 45 08             	mov    0x8(%ebp),%eax
53d319:	ff 30                	push   (%eax)
53d31b:	e8 e0 3c fc ff       	call   0x501000
53d320:	83 c4 08             	add    $0x8,%esp
53d323:	5d                   	pop    %ebp
53d324:	c3                   	ret
53d325:	cc                   	int3
53d326:	cc                   	int3
53d327:	cc                   	int3
53d328:	cc                   	int3
53d329:	cc                   	int3
53d32a:	cc                   	int3
53d32b:	cc                   	int3
53d32c:	cc                   	int3
53d32d:	cc                   	int3
53d32e:	cc                   	int3
53d32f:	cc                   	int3
53d330:	55                   	push   %ebp
53d331:	8b ec                	mov    %esp,%ebp
53d333:	8b 55 0c             	mov    0xc(%ebp),%edx
53d336:	85 d2                	test   %edx,%edx
53d338:	74 39                	je     0x53d373
53d33a:	8b 4d 10             	mov    0x10(%ebp),%ecx
53d33d:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
53d341:	76 30                	jbe    0x53d373
53d343:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
53d347:	8b 02                	mov    (%edx),%eax
53d349:	56                   	push   %esi
53d34a:	8d 04 c0             	lea    (%eax,%eax,8),%eax
53d34d:	8d 34 c2             	lea    (%edx,%eax,8),%esi
53d350:	75 0c                	jne    0x53d35e
53d352:	83 39 00             	cmpl   $0x0,(%ecx)
53d355:	75 07                	jne    0x53d35e
53d357:	83 4e e8 01          	orl    $0x1,-0x18(%esi)
53d35b:	5e                   	pop    %esi
53d35c:	5d                   	pop    %ebp
53d35d:	c3                   	ret
53d35e:	8b 45 08             	mov    0x8(%ebp),%eax
53d361:	51                   	push   %ecx
53d362:	ff 30                	push   (%eax)
53d364:	e8 c7 42 ff ff       	call   0x531630
53d369:	83 c4 08             	add    $0x8,%esp
53d36c:	89 06                	mov    %eax,(%esi)
53d36e:	83 4e e8 02          	orl    $0x2,-0x18(%esi)
53d372:	5e                   	pop    %esi
53d373:	5d                   	pop    %ebp
53d374:	c3                   	ret
53d375:	cc                   	int3
53d376:	cc                   	int3
53d377:	cc                   	int3
53d378:	cc                   	int3
53d379:	cc                   	int3
53d37a:	cc                   	int3
53d37b:	cc                   	int3
53d37c:	cc                   	int3
53d37d:	cc                   	int3
53d37e:	cc                   	int3
53d37f:	cc                   	int3
53d380:	55                   	push   %ebp
53d381:	8b ec                	mov    %esp,%ebp
53d383:	53                   	push   %ebx
53d384:	8b 5d 08             	mov    0x8(%ebp),%ebx
53d387:	56                   	push   %esi
53d388:	57                   	push   %edi
53d389:	8b 7d 0c             	mov    0xc(%ebp),%edi
53d38c:	83 c7 08             	add    $0x8,%edi
53d38f:	57                   	push   %edi
53d390:	6a 00                	push   $0x0
53d392:	53                   	push   %ebx
53d393:	e8 98 38 ff ff       	call   0x530c30
53d398:	8b 0b                	mov    (%ebx),%ecx
53d39a:	8b f0                	mov    %eax,%esi
53d39c:	8b 47 10             	mov    0x10(%edi),%eax
53d39f:	83 c4 0c             	add    $0xc,%esp
53d3a2:	85 c0                	test   %eax,%eax
53d3a4:	74 1d                	je     0x53d3c3
53d3a6:	85 c9                	test   %ecx,%ecx
53d3a8:	74 09                	je     0x53d3b3
53d3aa:	83 b9 f8 01 00 00 00 	cmpl   $0x0,0x1f8(%ecx)
53d3b1:	75 06                	jne    0x53d3b9
53d3b3:	83 40 20 ff          	addl   $0xffffffff,0x20(%eax)
53d3b7:	75 0a                	jne    0x53d3c3
53d3b9:	50                   	push   %eax
53d3ba:	51                   	push   %ecx
53d3bb:	e8 40 05 fc ff       	call   0x4fd900
53d3c0:	83 c4 08             	add    $0x8,%esp
53d3c3:	89 77 10             	mov    %esi,0x10(%edi)
53d3c6:	85 f6                	test   %esi,%esi
53d3c8:	74 03                	je     0x53d3cd
53d3ca:	ff 46 20             	incl   0x20(%esi)
53d3cd:	57                   	push   %edi
53d3ce:	53                   	push   %ebx
53d3cf:	e8 ec 0c ff ff       	call   0x52e0c0
53d3d4:	83 c4 08             	add    $0x8,%esp
53d3d7:	33 c9                	xor    %ecx,%ecx
53d3d9:	85 c0                	test   %eax,%eax
53d3db:	0f 45 f1             	cmovne %ecx,%esi
53d3de:	5f                   	pop    %edi
53d3df:	8b c6                	mov    %esi,%eax
53d3e1:	5e                   	pop    %esi
53d3e2:	5b                   	pop    %ebx
53d3e3:	5d                   	pop    %ebp
53d3e4:	c3                   	ret
53d3e5:	cc                   	int3
53d3e6:	cc                   	int3
53d3e7:	cc                   	int3
53d3e8:	cc                   	int3
53d3e9:	cc                   	int3
53d3ea:	cc                   	int3
53d3eb:	cc                   	int3
53d3ec:	cc                   	int3
53d3ed:	cc                   	int3
53d3ee:	cc                   	int3
53d3ef:	cc                   	int3
53d3f0:	55                   	push   %ebp
53d3f1:	8b ec                	mov    %esp,%ebp
53d3f3:	56                   	push   %esi
53d3f4:	8b 75 08             	mov    0x8(%ebp),%esi
53d3f7:	85 f6                	test   %esi,%esi
53d3f9:	74 27                	je     0x53d422
53d3fb:	8b 06                	mov    (%esi),%eax
53d3fd:	48                   	dec    %eax
53d3fe:	85 c0                	test   %eax,%eax
53d400:	7e 1c                	jle    0x53d41e
53d402:	8d 0c c0             	lea    (%eax,%eax,8),%ecx
53d405:	8d 56 2c             	lea    0x2c(%esi),%edx
53d408:	8d 14 ca             	lea    (%edx,%ecx,8),%edx
53d40b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
53d410:	8a 4a b8             	mov    -0x48(%edx),%cl
53d413:	8d 52 b8             	lea    -0x48(%edx),%edx
53d416:	48                   	dec    %eax
53d417:	88 4a 48             	mov    %cl,0x48(%edx)
53d41a:	85 c0                	test   %eax,%eax
53d41c:	7f f2                	jg     0x53d410
53d41e:	c6 46 2c 00          	movb   $0x0,0x2c(%esi)
53d422:	5e                   	pop    %esi
53d423:	5d                   	pop    %ebp
53d424:	c3                   	ret
53d425:	cc                   	int3
53d426:	cc                   	int3
53d427:	cc                   	int3
53d428:	cc                   	int3
53d429:	cc                   	int3
53d42a:	cc                   	int3
53d42b:	cc                   	int3
53d42c:	cc                   	int3
53d42d:	cc                   	int3
53d42e:	cc                   	int3
53d42f:	cc                   	int3
53d430:	55                   	push   %ebp
53d431:	8b ec                	mov    %esp,%ebp
53d433:	83 ec 10             	sub    $0x10,%esp
53d436:	ba 60 9d 6b 00       	mov    $0x6b9d60,%edx
53d43b:	53                   	push   %ebx
53d43c:	56                   	push   %esi
53d43d:	8b 75 08             	mov    0x8(%ebp),%esi
53d440:	57                   	push   %edi
53d441:	8b 1e                	mov    (%esi),%ebx
53d443:	80 bb a5 00 00 00 00 	cmpb   $0x0,0xa5(%ebx)
53d44a:	74 32                	je     0x53d47e
53d44c:	83 bb a0 00 00 00 01 	cmpl   $0x1,0xa0(%ebx)
53d453:	75 29                	jne    0x53d47e
53d455:	0f b6 8b a4 00 00 00 	movzbl 0xa4(%ebx),%ecx
53d45c:	b8 24 8a 6b 00       	mov    $0x6b8a24,%eax
53d461:	83 f9 01             	cmp    $0x1,%ecx
53d464:	89 4d 08             	mov    %ecx,0x8(%ebp)