a6b16f:	d1 fa                	sar    $1,%edx
a6b171:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
a6b175:	57                   	push   %edi
a6b176:	72 04                	jb     0xa6b17c
a6b178:	8b 3e                	mov    (%esi),%edi
a6b17a:	eb 02                	jmp    0xa6b17e
a6b17c:	8b fe                	mov    %esi,%edi
a6b17e:	51                   	push   %ecx
a6b17f:	ff 75 10             	push   0x10(%ebp)
a6b182:	2b c7                	sub    %edi,%eax
a6b184:	8b ce                	mov    %esi,%ecx
a6b186:	52                   	push   %edx
a6b187:	d1 f8                	sar    $1,%eax
a6b189:	50                   	push   %eax
a6b18a:	e8 98 21 9b ff       	call   0x41d327
a6b18f:	5f                   	pop    %edi
a6b190:	8b c6                	mov    %esi,%eax
a6b192:	5e                   	pop    %esi
a6b193:	5d                   	pop    %ebp
a6b194:	c2 10 00             	ret    $0x10
a6b197:	cc                   	int3
a6b198:	cc                   	int3
a6b199:	cc                   	int3
a6b19a:	cc                   	int3
a6b19b:	cc                   	int3
a6b19c:	cc                   	int3
a6b19d:	cc                   	int3
a6b19e:	cc                   	int3
a6b19f:	cc                   	int3
a6b1a0:	cc                   	int3
a6b1a1:	cc                   	int3
a6b1a2:	cc                   	int3
a6b1a3:	cc                   	int3
a6b1a4:	cc                   	int3
a6b1a5:	cc                   	int3
a6b1a6:	cc                   	int3
a6b1a7:	cc                   	int3
a6b1a8:	cc                   	int3
a6b1a9:	cc                   	int3
a6b1aa:	cc                   	int3
a6b1ab:	cc                   	int3
a6b1ac:	cc                   	int3
a6b1ad:	cc                   	int3
a6b1ae:	cc                   	int3
a6b1af:	cc                   	int3
a6b1b0:	55                   	push   %ebp
a6b1b1:	8b ec                	mov    %esp,%ebp
a6b1b3:	6a 00                	push   $0x0
a6b1b5:	ff 75 08             	push   0x8(%ebp)
a6b1b8:	e8 e3 93 9b ff       	call   0x4245a0
a6b1bd:	5d                   	pop    %ebp
a6b1be:	c2 04 00             	ret    $0x4
a6b1c1:	cc                   	int3
a6b1c2:	cc                   	int3
a6b1c3:	cc                   	int3
a6b1c4:	cc                   	int3
a6b1c5:	55                   	push   %ebp
a6b1c6:	8b ec                	mov    %esp,%ebp
a6b1c8:	8b 45 08             	mov    0x8(%ebp),%eax
a6b1cb:	3b 41 10             	cmp    0x10(%ecx),%eax
a6b1ce:	77 13                	ja     0xa6b1e3
a6b1d0:	89 41 10             	mov    %eax,0x10(%ecx)
a6b1d3:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
a6b1d7:	72 02                	jb     0xa6b1db
a6b1d9:	8b 09                	mov    (%ecx),%ecx
a6b1db:	33 d2                	xor    %edx,%edx
a6b1dd:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
a6b1e1:	eb 0c                	jmp    0xa6b1ef
a6b1e3:	ff 75 0c             	push   0xc(%ebp)
a6b1e6:	2b 41 10             	sub    0x10(%ecx),%eax
a6b1e9:	50                   	push   %eax
a6b1ea:	e8 97 29 9d ff       	call   0x43db86
a6b1ef:	5d                   	pop    %ebp
a6b1f0:	c2 08 00             	ret    $0x8
a6b1f3:	cc                   	int3
a6b1f4:	cc                   	int3
a6b1f5:	cc                   	int3
a6b1f6:	cc                   	int3
a6b1f7:	cc                   	int3
a6b1f8:	cc                   	int3
a6b1f9:	cc                   	int3
a6b1fa:	cc                   	int3
a6b1fb:	cc                   	int3
a6b1fc:	cc                   	int3
a6b1fd:	cc                   	int3
a6b1fe:	57                   	push   %edi
a6b1ff:	8b f9                	mov    %ecx,%edi
a6b201:	33 c9                	xor    %ecx,%ecx
a6b203:	8b 47 1c             	mov    0x1c(%edi),%eax
a6b206:	39 08                	cmp    %ecx,(%eax)
a6b208:	74 05                	je     0xa6b20f
a6b20a:	8b 47 2c             	mov    0x2c(%edi),%eax
a6b20d:	8b 08                	mov    (%eax),%ecx
a6b20f:	85 c9                	test   %ecx,%ecx
a6b211:	7e 14                	jle    0xa6b227
a6b213:	8b 47 2c             	mov    0x2c(%edi),%eax
a6b216:	ff 08                	decl   (%eax)
a6b218:	8b 4f 1c             	mov    0x1c(%edi),%ecx
a6b21b:	5f                   	pop    %edi
a6b21c:	8b 11                	mov    (%ecx),%edx
a6b21e:	8d 42 02             	lea    0x2(%edx),%eax
a6b221:	89 01                	mov    %eax,(%ecx)
a6b223:	0f b7 02             	movzwl (%edx),%eax
a6b226:	c3                   	ret
a6b227:	8b 07                	mov    (%edi),%eax
a6b229:	56                   	push   %esi
a6b22a:	8b 70 1c             	mov    0x1c(%eax),%esi
a6b22d:	8b ce                	mov    %esi,%ecx
a6b22f:	e8 31 14 9c ff       	call   0x42c665
a6b234:	8b cf                	mov    %edi,%ecx
a6b236:	ff d6                	call   *%esi
a6b238:	5e                   	pop    %esi
a6b239:	0f b7 c0             	movzwl %ax,%eax
a6b23c:	5f                   	pop    %edi
a6b23d:	c3                   	ret
a6b23e:	cc                   	int3
a6b23f:	cc                   	int3
a6b240:	cc                   	int3
a6b241:	cc                   	int3
a6b242:	cc                   	int3
a6b243:	cc                   	int3
a6b244:	cc                   	int3
a6b245:	cc                   	int3
a6b246:	cc                   	int3
a6b247:	cc                   	int3
a6b248:	cc                   	int3
a6b249:	cc                   	int3
a6b24a:	cc                   	int3
a6b24b:	cc                   	int3
a6b24c:	cc                   	int3
a6b24d:	cc                   	int3
a6b24e:	57                   	push   %edi
a6b24f:	8b f9                	mov    %ecx,%edi
a6b251:	33 c9                	xor    %ecx,%ecx
a6b253:	8b 47 1c             	mov    0x1c(%edi),%eax
a6b256:	39 08                	cmp    %ecx,(%eax)
a6b258:	74 05                	je     0xa6b25f
a6b25a:	8b 47 2c             	mov    0x2c(%edi),%eax
a6b25d:	8b 08                	mov    (%eax),%ecx
a6b25f:	85 c9                	test   %ecx,%ecx
a6b261:	7e 14                	jle    0xa6b277
a6b263:	8b 47 2c             	mov    0x2c(%edi),%eax
a6b266:	ff 08                	decl   (%eax)
a6b268:	8b 4f 1c             	mov    0x1c(%edi),%ecx
a6b26b:	5f                   	pop    %edi
a6b26c:	8b 11                	mov    (%ecx),%edx
a6b26e:	8d 42 02             	lea    0x2(%edx),%eax
a6b271:	89 01                	mov    %eax,(%ecx)
a6b273:	0f b7 02             	movzwl (%edx),%eax
a6b276:	c3                   	ret
a6b277:	8b 07                	mov    (%edi),%eax
a6b279:	56                   	push   %esi
a6b27a:	8b 70 1c             	mov    0x1c(%eax),%esi
a6b27d:	8b ce                	mov    %esi,%ecx
a6b27f:	e8 e1 13 9c ff       	call   0x42c665
a6b284:	8b cf                	mov    %edi,%ecx
a6b286:	ff d6                	call   *%esi
a6b288:	5e                   	pop    %esi
a6b289:	0f b7 c0             	movzwl %ax,%eax
a6b28c:	5f                   	pop    %edi
a6b28d:	c3                   	ret
a6b28e:	cc                   	int3
a6b28f:	cc                   	int3
a6b290:	cc                   	int3
a6b291:	cc                   	int3
a6b292:	cc                   	int3
a6b293:	cc                   	int3
a6b294:	cc                   	int3
a6b295:	cc                   	int3
a6b296:	cc                   	int3
a6b297:	cc                   	int3
a6b298:	cc                   	int3
a6b299:	cc                   	int3
a6b29a:	cc                   	int3
a6b29b:	cc                   	int3
a6b29c:	cc                   	int3
a6b29d:	cc                   	int3
a6b29e:	55                   	push   %ebp
a6b29f:	8b ec                	mov    %esp,%ebp
a6b2a1:	8b 45 08             	mov    0x8(%ebp),%eax
a6b2a4:	5d                   	pop    %ebp
a6b2a5:	c2 08 00             	ret    $0x8
a6b2a8:	cc                   	int3
a6b2a9:	cc                   	int3
a6b2aa:	55                   	push   %ebp
a6b2ab:	8b ec                	mov    %esp,%ebp
a6b2ad:	8b 45 08             	mov    0x8(%ebp),%eax
a6b2b0:	5d                   	pop    %ebp
a6b2b1:	c3                   	ret
a6b2b2:	cc                   	int3
a6b2b3:	cc                   	int3
a6b2b4:	57                   	push   %edi
a6b2b5:	8b f9                	mov    %ecx,%edi
a6b2b7:	8b 47 1c             	mov    0x1c(%edi),%eax
a6b2ba:	8b 08                	mov    (%eax),%ecx
a6b2bc:	85 c9                	test   %ecx,%ecx
a6b2be:	74 07                	je     0xa6b2c7
a6b2c0:	8b 47 2c             	mov    0x2c(%edi),%eax
a6b2c3:	8b 00                	mov    (%eax),%eax
a6b2c5:	eb 02                	jmp    0xa6b2c9
a6b2c7:	33 c0                	xor    %eax,%eax
a6b2c9:	85 c0                	test   %eax,%eax
a6b2cb:	7e 05                	jle    0xa6b2d2
a6b2cd:	0f b7 01             	movzwl (%ecx),%eax
a6b2d0:	5f                   	pop    %edi
a6b2d1:	c3                   	ret
a6b2d2:	8b 07                	mov    (%edi),%eax
a6b2d4:	56                   	push   %esi
a6b2d5:	8b 70 18             	mov    0x18(%eax),%esi
a6b2d8:	8b ce                	mov    %esi,%ecx
a6b2da:	e8 86 13 9c ff       	call   0x42c665
a6b2df:	8b cf                	mov    %edi,%ecx
a6b2e1:	ff d6                	call   *%esi
a6b2e3:	5e                   	pop    %esi
a6b2e4:	0f b7 c0             	movzwl %ax,%eax
a6b2e7:	5f                   	pop    %edi
a6b2e8:	c3                   	ret
a6b2e9:	cc                   	int3
a6b2ea:	cc                   	int3
a6b2eb:	cc                   	int3
a6b2ec:	cc                   	int3
a6b2ed:	cc                   	int3
a6b2ee:	cc                   	int3
a6b2ef:	cc                   	int3
a6b2f0:	cc                   	int3
a6b2f1:	cc                   	int3
a6b2f2:	cc                   	int3
a6b2f3:	cc                   	int3
a6b2f4:	cc                   	int3
a6b2f5:	cc                   	int3
a6b2f6:	57                   	push   %edi
a6b2f7:	8b f9                	mov    %ecx,%edi
a6b2f9:	8b 47 1c             	mov    0x1c(%edi),%eax
a6b2fc:	8b 08                	mov    (%eax),%ecx
a6b2fe:	85 c9                	test   %ecx,%ecx
a6b300:	74 07                	je     0xa6b309
a6b302:	8b 47 2c             	mov    0x2c(%edi),%eax
a6b305:	8b 00                	mov    (%eax),%eax
a6b307:	eb 02                	jmp    0xa6b30b
a6b309:	33 c0                	xor    %eax,%eax
a6b30b:	85 c0                	test   %eax,%eax
a6b30d:	7e 05                	jle    0xa6b314
a6b30f:	0f b7 01             	movzwl (%ecx),%eax
a6b312:	5f                   	pop    %edi
a6b313:	c3                   	ret
a6b314:	8b 07                	mov    (%edi),%eax
a6b316:	56                   	push   %esi
a6b317:	8b 70 18             	mov    0x18(%eax),%esi
a6b31a:	8b ce                	mov    %esi,%ecx
a6b31c:	e8 44 13 9c ff       	call   0x42c665
a6b321:	8b cf                	mov    %edi,%ecx
a6b323:	ff d6                	call   *%esi
a6b325:	5e                   	pop    %esi
a6b326:	0f b7 c0             	movzwl %ax,%eax
a6b329:	5f                   	pop    %edi
a6b32a:	c3                   	ret
a6b32b:	cc                   	int3
a6b32c:	cc                   	int3
a6b32d:	cc                   	int3
a6b32e:	cc                   	int3
a6b32f:	cc                   	int3
a6b330:	cc                   	int3
a6b331:	cc                   	int3
a6b332:	cc                   	int3
a6b333:	cc                   	int3
a6b334:	cc                   	int3
a6b335:	cc                   	int3
a6b336:	cc                   	int3
a6b337:	cc                   	int3
a6b338:	8b 41 10             	mov    0x10(%ecx),%eax
a6b33b:	c3                   	ret
a6b33c:	55                   	push   %ebp
a6b33d:	8b ec                	mov    %esp,%ebp
a6b33f:	57                   	push   %edi
a6b340:	8b f9                	mov    %ecx,%edi
a6b342:	33 c9                	xor    %ecx,%ecx
a6b344:	8b 47 20             	mov    0x20(%edi),%eax
a6b347:	39 08                	cmp    %ecx,(%eax)
a6b349:	74 05                	je     0xa6b350
a6b34b:	8b 47 30             	mov    0x30(%edi),%eax
a6b34e:	8b 08                	mov    (%eax),%ecx
a6b350:	85 c9                	test   %ecx,%ecx
a6b352:	7e 17                	jle    0xa6b36b
a6b354:	8b 47 30             	mov    0x30(%edi),%eax
a6b357:	ff 08                	decl   (%eax)
a6b359:	8b 4f 20             	mov    0x20(%edi),%ecx
a6b35c:	8b 11                	mov    (%ecx),%edx
a6b35e:	8d 42 02             	lea    0x2(%edx),%eax
a6b361:	89 01                	mov    %eax,(%ecx)
a6b363:	8b 45 08             	mov    0x8(%ebp),%eax
a6b366:	66 89 02             	mov    %ax,(%edx)
a6b369:	eb 15                	jmp    0xa6b380
a6b36b:	8b 07                	mov    (%edi),%eax
a6b36d:	56                   	push   %esi
a6b36e:	ff 75 08             	push   0x8(%ebp)
a6b371:	8b 70 0c             	mov    0xc(%eax),%esi
a6b374:	8b ce                	mov    %esi,%ecx
a6b376:	e8 ea 12 9c ff       	call   0x42c665
a6b37b:	8b cf                	mov    %edi,%ecx
a6b37d:	ff d6                	call   *%esi
a6b37f:	5e                   	pop    %esi
a6b380:	0f b7 c0             	movzwl %ax,%eax
a6b383:	5f                   	pop    %edi
a6b384:	5d                   	pop    %ebp
a6b385:	c2 04 00             	ret    $0x4
a6b388:	cc                   	int3
a6b389:	cc                   	int3
a6b38a:	cc                   	int3
a6b38b:	cc                   	int3
a6b38c:	cc                   	int3
a6b38d:	cc                   	int3
a6b38e:	cc                   	int3
a6b38f:	cc                   	int3
a6b390:	cc                   	int3
a6b391:	cc                   	int3
a6b392:	cc                   	int3
a6b393:	cc                   	int3
a6b394:	cc                   	int3
a6b395:	cc                   	int3
a6b396:	cc                   	int3
a6b397:	cc                   	int3
a6b398:	cc                   	int3
a6b399:	cc                   	int3
a6b39a:	cc                   	int3
a6b39b:	56                   	push   %esi
a6b39c:	57                   	push   %edi
a6b39d:	8b f9                	mov    %ecx,%edi
a6b39f:	8b 07                	mov    (%edi),%eax
a6b3a1:	8b 70 10             	mov    0x10(%eax),%esi
a6b3a4:	8b ce                	mov    %esi,%ecx
a6b3a6:	e8 ba 12 9c ff       	call   0x42c665
a6b3ab:	8b cf                	mov    %edi,%ecx
a6b3ad:	ff d6                	call   *%esi
a6b3af:	5f                   	pop    %edi
a6b3b0:	5e                   	pop    %esi
a6b3b1:	c3                   	ret
a6b3b2:	cc                   	int3
a6b3b3:	cc                   	int3
a6b3b4:	cc                   	int3
a6b3b5:	cc                   	int3
a6b3b6:	cc                   	int3
a6b3b7:	56                   	push   %esi
a6b3b8:	57                   	push   %edi
a6b3b9:	8b f9                	mov    %ecx,%edi
a6b3bb:	8b 07                	mov    (%edi),%eax
a6b3bd:	8b 70 10             	mov    0x10(%eax),%esi
a6b3c0:	8b ce                	mov    %esi,%ecx
a6b3c2:	e8 9e 12 9c ff       	call   0x42c665
a6b3c7:	8b cf                	mov    %edi,%ecx
a6b3c9:	ff d6                	call   *%esi