40e2bf:	b1 08                	mov    $0x8,%cl
40e2c1:	e8 9a ce ff ff       	call   0x40b160
40e2c6:	0b f0                	or     %eax,%esi
40e2c8:	0b fa                	or     %edx,%edi
40e2ca:	b9 01 00 00 00       	mov    $0x1,%ecx
40e2cf:	6b d1 12             	imul   $0x12,%ecx,%edx
40e2d2:	8b 45 0c             	mov    0xc(%ebp),%eax
40e2d5:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
40e2d9:	99                   	cltd
40e2da:	b1 10                	mov    $0x10,%cl
40e2dc:	e8 7f ce ff ff       	call   0x40b160
40e2e1:	0b f0                	or     %eax,%esi
40e2e3:	0b fa                	or     %edx,%edi
40e2e5:	b9 01 00 00 00       	mov    $0x1,%ecx
40e2ea:	6b d1 13             	imul   $0x13,%ecx,%edx
40e2ed:	8b 45 0c             	mov    0xc(%ebp),%eax
40e2f0:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
40e2f4:	99                   	cltd
40e2f5:	b1 18                	mov    $0x18,%cl
40e2f7:	e8 64 ce ff ff       	call   0x40b160
40e2fc:	0b f0                	or     %eax,%esi
40e2fe:	0b fa                	or     %edx,%edi
40e300:	81 e6 ff ff ff 01    	and    $0x1ffffff,%esi
40e306:	83 e7 00             	and    $0x0,%edi
40e309:	b9 08 00 00 00       	mov    $0x8,%ecx
40e30e:	6b d1 05             	imul   $0x5,%ecx,%edx
40e311:	8b 45 08             	mov    0x8(%ebp),%eax
40e314:	89 34 10             	mov    %esi,(%eax,%edx,1)
40e317:	89 7c 10 04          	mov    %edi,0x4(%eax,%edx,1)
40e31b:	b9 01 00 00 00       	mov    $0x1,%ecx
40e320:	6b d1 13             	imul   $0x13,%ecx,%edx
40e323:	8b 45 0c             	mov    0xc(%ebp),%eax
40e326:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
40e32a:	99                   	cltd
40e32b:	8b f0                	mov    %eax,%esi
40e32d:	8b fa                	mov    %edx,%edi
40e32f:	b9 01 00 00 00       	mov    $0x1,%ecx
40e334:	6b d1 14             	imul   $0x14,%ecx,%edx
40e337:	8b 45 0c             	mov    0xc(%ebp),%eax
40e33a:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
40e33e:	99                   	cltd
40e33f:	b1 08                	mov    $0x8,%cl
40e341:	e8 1a ce ff ff       	call   0x40b160
40e346:	0b f0                	or     %eax,%esi
40e348:	0b fa                	or     %edx,%edi
40e34a:	b9 01 00 00 00       	mov    $0x1,%ecx
40e34f:	6b d1 15             	imul   $0x15,%ecx,%edx
40e352:	8b 45 0c             	mov    0xc(%ebp),%eax
40e355:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
40e359:	99                   	cltd
40e35a:	b1 10                	mov    $0x10,%cl
40e35c:	e8 ff cd ff ff       	call   0x40b160
40e361:	0b f0                	or     %eax,%esi
40e363:	0b fa                	or     %edx,%edi
40e365:	b9 01 00 00 00       	mov    $0x1,%ecx
40e36a:	6b d1 16             	imul   $0x16,%ecx,%edx
40e36d:	8b 45 0c             	mov    0xc(%ebp),%eax
40e370:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
40e374:	99                   	cltd
40e375:	b1 18                	mov    $0x18,%cl
40e377:	e8 e4 cd ff ff       	call   0x40b160
40e37c:	0b f0                	or     %eax,%esi
40e37e:	0b fa                	or     %edx,%edi
40e380:	8b c6                	mov    %esi,%eax
40e382:	8b d7                	mov    %edi,%edx
40e384:	b1 01                	mov    $0x1,%cl
40e386:	e8 f5 cd ff ff       	call   0x40b180
40e38b:	25 ff ff ff 03       	and    $0x3ffffff,%eax
40e390:	83 e2 00             	and    $0x0,%edx
40e393:	b9 08 00 00 00       	mov    $0x8,%ecx
40e398:	6b c9 06             	imul   $0x6,%ecx,%ecx
40e39b:	8b 75 08             	mov    0x8(%ebp),%esi
40e39e:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
40e3a1:	89 54 0e 04          	mov    %edx,0x4(%esi,%ecx,1)
40e3a5:	ba 01 00 00 00       	mov    $0x1,%edx
40e3aa:	6b c2 16             	imul   $0x16,%edx,%eax
40e3ad:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e3b0:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
40e3b4:	99                   	cltd
40e3b5:	8b f0                	mov    %eax,%esi
40e3b7:	8b fa                	mov    %edx,%edi
40e3b9:	ba 01 00 00 00       	mov    $0x1,%edx
40e3be:	6b c2 17             	imul   $0x17,%edx,%eax
40e3c1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e3c4:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
40e3c8:	99                   	cltd
40e3c9:	b1 08                	mov    $0x8,%cl
40e3cb:	e8 90 cd ff ff       	call   0x40b160
40e3d0:	0b f0                	or     %eax,%esi
40e3d2:	0b fa                	or     %edx,%edi
40e3d4:	ba 01 00 00 00       	mov    $0x1,%edx
40e3d9:	6b c2 18             	imul   $0x18,%edx,%eax
40e3dc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e3df:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
40e3e3:	99                   	cltd
40e3e4:	b1 10                	mov    $0x10,%cl
40e3e6:	e8 75 cd ff ff       	call   0x40b160
40e3eb:	0b f0                	or     %eax,%esi
40e3ed:	0b fa                	or     %edx,%edi
40e3ef:	ba 01 00 00 00       	mov    $0x1,%edx
40e3f4:	6b c2 19             	imul   $0x19,%edx,%eax
40e3f7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e3fa:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
40e3fe:	99                   	cltd
40e3ff:	b1 18                	mov    $0x18,%cl
40e401:	e8 5a cd ff ff       	call   0x40b160
40e406:	0b f0                	or     %eax,%esi
40e408:	0b fa                	or     %edx,%edi
40e40a:	8b c6                	mov    %esi,%eax
40e40c:	8b d7                	mov    %edi,%edx
40e40e:	b1 03                	mov    $0x3,%cl
40e410:	e8 6b cd ff ff       	call   0x40b180
40e415:	25 ff ff ff 01       	and    $0x1ffffff,%eax
40e41a:	83 e2 00             	and    $0x0,%edx
40e41d:	b9 08 00 00 00       	mov    $0x8,%ecx
40e422:	6b c9 07             	imul   $0x7,%ecx,%ecx
40e425:	8b 75 08             	mov    0x8(%ebp),%esi
40e428:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
40e42b:	89 54 0e 04          	mov    %edx,0x4(%esi,%ecx,1)
40e42f:	ba 01 00 00 00       	mov    $0x1,%edx
40e434:	6b c2 19             	imul   $0x19,%edx,%eax
40e437:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e43a:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
40e43e:	99                   	cltd
40e43f:	8b f0                	mov    %eax,%esi
40e441:	8b fa                	mov    %edx,%edi
40e443:	ba 01 00 00 00       	mov    $0x1,%edx
40e448:	6b c2 1a             	imul   $0x1a,%edx,%eax
40e44b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e44e:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
40e452:	99                   	cltd
40e453:	b1 08                	mov    $0x8,%cl
40e455:	e8 06 cd ff ff       	call   0x40b160
40e45a:	0b f0                	or     %eax,%esi
40e45c:	0b fa                	or     %edx,%edi
40e45e:	ba 01 00 00 00       	mov    $0x1,%edx
40e463:	6b c2 1b             	imul   $0x1b,%edx,%eax
40e466:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e469:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
40e46d:	99                   	cltd
40e46e:	b1 10                	mov    $0x10,%cl
40e470:	e8 eb cc ff ff       	call   0x40b160
40e475:	0b f0                	or     %eax,%esi
40e477:	0b fa                	or     %edx,%edi
40e479:	ba 01 00 00 00       	mov    $0x1,%edx
40e47e:	6b c2 1c             	imul   $0x1c,%edx,%eax
40e481:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e484:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
40e488:	99                   	cltd
40e489:	b1 18                	mov    $0x18,%cl
40e48b:	e8 d0 cc ff ff       	call   0x40b160
40e490:	0b f0                	or     %eax,%esi
40e492:	0b fa                	or     %edx,%edi
40e494:	8b c6                	mov    %esi,%eax
40e496:	8b d7                	mov    %edi,%edx
40e498:	b1 04                	mov    $0x4,%cl
40e49a:	e8 e1 cc ff ff       	call   0x40b180
40e49f:	25 ff ff ff 03       	and    $0x3ffffff,%eax
40e4a4:	83 e2 00             	and    $0x0,%edx
40e4a7:	b9 08 00 00 00       	mov    $0x8,%ecx
40e4ac:	c1 e1 03             	shl    $0x3,%ecx
40e4af:	8b 75 08             	mov    0x8(%ebp),%esi
40e4b2:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
40e4b5:	89 54 0e 04          	mov    %edx,0x4(%esi,%ecx,1)
40e4b9:	ba 01 00 00 00       	mov    $0x1,%edx
40e4be:	6b c2 1c             	imul   $0x1c,%edx,%eax
40e4c1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e4c4:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
40e4c8:	99                   	cltd
40e4c9:	8b f0                	mov    %eax,%esi
40e4cb:	8b fa                	mov    %edx,%edi
40e4cd:	ba 01 00 00 00       	mov    $0x1,%edx
40e4d2:	6b c2 1d             	imul   $0x1d,%edx,%eax
40e4d5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e4d8:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
40e4dc:	99                   	cltd
40e4dd:	b1 08                	mov    $0x8,%cl
40e4df:	e8 7c cc ff ff       	call   0x40b160
40e4e4:	0b f0                	or     %eax,%esi
40e4e6:	0b fa                	or     %edx,%edi
40e4e8:	ba 01 00 00 00       	mov    $0x1,%edx
40e4ed:	6b c2 1e             	imul   $0x1e,%edx,%eax
40e4f0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e4f3:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
40e4f7:	99                   	cltd
40e4f8:	b1 10                	mov    $0x10,%cl
40e4fa:	e8 61 cc ff ff       	call   0x40b160
40e4ff:	0b f0                	or     %eax,%esi
40e501:	0b fa                	or     %edx,%edi
40e503:	ba 01 00 00 00       	mov    $0x1,%edx
40e508:	6b c2 1f             	imul   $0x1f,%edx,%eax
40e50b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e50e:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
40e512:	99                   	cltd
40e513:	b1 18                	mov    $0x18,%cl
40e515:	e8 46 cc ff ff       	call   0x40b160
40e51a:	0b f0                	or     %eax,%esi
40e51c:	0b fa                	or     %edx,%edi
40e51e:	8b c6                	mov    %esi,%eax
40e520:	8b d7                	mov    %edi,%edx
40e522:	b1 06                	mov    $0x6,%cl
40e524:	e8 57 cc ff ff       	call   0x40b180
40e529:	25 ff ff ff 01       	and    $0x1ffffff,%eax
40e52e:	83 e2 00             	and    $0x0,%edx
40e531:	b9 08 00 00 00       	mov    $0x8,%ecx
40e536:	6b c9 09             	imul   $0x9,%ecx,%ecx
40e539:	8b 75 08             	mov    0x8(%ebp),%esi
40e53c:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
40e53f:	89 54 0e 04          	mov    %edx,0x4(%esi,%ecx,1)
40e543:	5f                   	pop    %edi
40e544:	5e                   	pop    %esi
40e545:	5d                   	pop    %ebp
40e546:	c3                   	ret
40e547:	cc                   	int3
40e548:	cc                   	int3
40e549:	cc                   	int3
40e54a:	cc                   	int3
40e54b:	cc                   	int3
40e54c:	cc                   	int3
40e54d:	cc                   	int3
40e54e:	cc                   	int3
40e54f:	cc                   	int3
40e550:	55                   	push   %ebp
40e551:	8b ec                	mov    %esp,%ebp
40e553:	8b 45 08             	mov    0x8(%ebp),%eax
40e556:	33 45 0c             	xor    0xc(%ebp),%eax
40e559:	f7 d0                	not    %eax
40e55b:	89 45 08             	mov    %eax,0x8(%ebp)
40e55e:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e561:	c1 e1 10             	shl    $0x10,%ecx
40e564:	23 4d 08             	and    0x8(%ebp),%ecx
40e567:	89 4d 08             	mov    %ecx,0x8(%ebp)
40e56a:	8b 55 08             	mov    0x8(%ebp),%edx
40e56d:	c1 e2 08             	shl    $0x8,%edx
40e570:	23 55 08             	and    0x8(%ebp),%edx
40e573:	89 55 08             	mov    %edx,0x8(%ebp)
40e576:	8b 45 08             	mov    0x8(%ebp),%eax
40e579:	c1 e0 04             	shl    $0x4,%eax
40e57c:	23 45 08             	and    0x8(%ebp),%eax
40e57f:	89 45 08             	mov    %eax,0x8(%ebp)
40e582:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e585:	c1 e1 02             	shl    $0x2,%ecx
40e588:	23 4d 08             	and    0x8(%ebp),%ecx
40e58b:	89 4d 08             	mov    %ecx,0x8(%ebp)
40e58e:	8b 55 08             	mov    0x8(%ebp),%edx
40e591:	d1 e2                	shl    $1,%edx
40e593:	23 55 08             	and    0x8(%ebp),%edx
40e596:	89 55 08             	mov    %edx,0x8(%ebp)
40e599:	8b 45 08             	mov    0x8(%ebp),%eax
40e59c:	c1 f8 1f             	sar    $0x1f,%eax
40e59f:	5d                   	pop    %ebp
40e5a0:	c3                   	ret
40e5a1:	cc                   	int3
40e5a2:	cc                   	int3
40e5a3:	cc                   	int3
40e5a4:	cc                   	int3
40e5a5:	cc                   	int3
40e5a6:	cc                   	int3
40e5a7:	cc                   	int3
40e5a8:	cc                   	int3
40e5a9:	cc                   	int3
40e5aa:	cc                   	int3
40e5ab:	cc                   	int3
40e5ac:	cc                   	int3
40e5ad:	cc                   	int3
40e5ae:	cc                   	int3
40e5af:	cc                   	int3
40e5b0:	55                   	push   %ebp
40e5b1:	8b ec                	mov    %esp,%ebp
40e5b3:	8b 45 08             	mov    0x8(%ebp),%eax
40e5b6:	2b 45 0c             	sub    0xc(%ebp),%eax
40e5b9:	89 45 08             	mov    %eax,0x8(%ebp)
40e5bc:	8b 45 08             	mov    0x8(%ebp),%eax
40e5bf:	c1 f8 1f             	sar    $0x1f,%eax
40e5c2:	f7 d0                	not    %eax
40e5c4:	5d                   	pop    %ebp
40e5c5:	c3                   	ret
40e5c6:	cc                   	int3
40e5c7:	cc                   	int3
40e5c8:	cc                   	int3
40e5c9:	cc                   	int3
40e5ca:	cc                   	int3
40e5cb:	cc                   	int3
40e5cc:	cc                   	int3
40e5cd:	cc                   	int3
40e5ce:	cc                   	int3
40e5cf:	cc                   	int3
40e5d0:	55                   	push   %ebp
40e5d1:	8b ec                	mov    %esp,%ebp
40e5d3:	83 ec 60             	sub    $0x60,%esp
40e5d6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40e5dd:	eb 09                	jmp    0x40e5e8
40e5df:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e5e2:	83 c0 01             	add    $0x1,%eax
40e5e5:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e5e8:	83 7d fc 0a          	cmpl   $0xa,-0x4(%ebp)
40e5ec:	7d 12                	jge    0x40e600
40e5ee:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e5f1:	8b 55 0c             	mov    0xc(%ebp),%edx
40e5f4:	8b 04 ca             	mov    (%edx,%ecx,8),%eax
40e5f7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e5fa:	89 44 8d a0          	mov    %eax,-0x60(%ebp,%ecx,4)
40e5fe:	eb df                	jmp    0x40e5df
40e600:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40e607:	eb 09                	jmp    0x40e612
40e609:	8b 55 f8             	mov    -0x8(%ebp),%edx
40e60c:	83 c2 01             	add    $0x1,%edx
40e60f:	89 55 f8             	mov    %edx,-0x8(%ebp)
40e612:	83 7d f8 02          	cmpl   $0x2,-0x8(%ebp)
40e616:	0f 8d 1d 01 00 00    	jge    0x40e739
40e61c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40e623:	eb 09                	jmp    0x40e62e
40e625:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e628:	83 c0 01             	add    $0x1,%eax
40e62b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e62e:	83 7d fc 09          	cmpl   $0x9,-0x4(%ebp)
40e632:	0f 8d 97 00 00 00    	jge    0x40e6cf
40e638:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e63b:	83 e1 01             	and    $0x1,%ecx
40e63e:	74 46                	je     0x40e686
40e640:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e643:	8b 44 95 a0          	mov    -0x60(%ebp,%edx,4),%eax
40e647:	c1 f8 1f             	sar    $0x1f,%eax
40e64a:	89 45 e0             	mov    %eax,-0x20(%ebp)
40e64d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e650:	8b 54 8d a0          	mov    -0x60(%ebp,%ecx,4),%edx
40e654:	23 55 e0             	and    -0x20(%ebp),%edx
40e657:	c1 fa 19             	sar    $0x19,%edx
40e65a:	f7 da                	neg    %edx
40e65c:	89 55 f0             	mov    %edx,-0x10(%ebp)
40e65f:	8b 45 f0             	mov    -0x10(%ebp),%eax
40e662:	c1 e0 19             	shl    $0x19,%eax
40e665:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e668:	03 44 8d a0          	add    -0x60(%ebp,%ecx,4),%eax
40e66c:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e66f:	89 44 95 a0          	mov    %eax,-0x60(%ebp,%edx,4)
40e673:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e676:	8b 4c 85 a4          	mov    -0x5c(%ebp,%eax,4),%ecx
40e67a:	2b 4d f0             	sub    -0x10(%ebp),%ecx
40e67d:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e680:	89 4c 95 a4          	mov    %ecx,-0x5c(%ebp,%edx,4)
40e684:	eb 44                	jmp    0x40e6ca
40e686:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e689:	8b 4c 85 a0          	mov    -0x60(%ebp,%eax,4),%ecx
40e68d:	c1 f9 1f             	sar    $0x1f,%ecx
40e690:	89 4d dc             	mov    %ecx,-0x24(%ebp)
40e693:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e696:	8b 44 95 a0          	mov    -0x60(%ebp,%edx,4),%eax
40e69a:	23 45 dc             	and    -0x24(%ebp),%eax
40e69d:	c1 f8 1a             	sar    $0x1a,%eax