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
40e6a0:	f7 d8                	neg    %eax
40e6a2:	89 45 ec             	mov    %eax,-0x14(%ebp)
40e6a5:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40e6a8:	c1 e1 1a             	shl    $0x1a,%ecx
40e6ab:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e6ae:	03 4c 95 a0          	add    -0x60(%ebp,%edx,4),%ecx
40e6b2:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e6b5:	89 4c 85 a0          	mov    %ecx,-0x60(%ebp,%eax,4)
40e6b9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e6bc:	8b 54 8d a4          	mov    -0x5c(%ebp,%ecx,4),%edx
40e6c0:	2b 55 ec             	sub    -0x14(%ebp),%edx
40e6c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e6c6:	89 54 85 a4          	mov    %edx,-0x5c(%ebp,%eax,4)
40e6ca:	e9 56 ff ff ff       	jmp    0x40e625
40e6cf:	b9 04 00 00 00       	mov    $0x4,%ecx
40e6d4:	6b d1 09             	imul   $0x9,%ecx,%edx
40e6d7:	8b 44 15 a0          	mov    -0x60(%ebp,%edx,1),%eax
40e6db:	c1 f8 1f             	sar    $0x1f,%eax
40e6de:	89 45 d8             	mov    %eax,-0x28(%ebp)
40e6e1:	b9 04 00 00 00       	mov    $0x4,%ecx
40e6e6:	6b d1 09             	imul   $0x9,%ecx,%edx
40e6e9:	8b 44 15 a0          	mov    -0x60(%ebp,%edx,1),%eax
40e6ed:	23 45 d8             	and    -0x28(%ebp),%eax
40e6f0:	c1 f8 19             	sar    $0x19,%eax
40e6f3:	f7 d8                	neg    %eax
40e6f5:	89 45 e8             	mov    %eax,-0x18(%ebp)
40e6f8:	b9 04 00 00 00       	mov    $0x4,%ecx
40e6fd:	6b d1 09             	imul   $0x9,%ecx,%edx
40e700:	8b 45 e8             	mov    -0x18(%ebp),%eax
40e703:	c1 e0 19             	shl    $0x19,%eax
40e706:	03 44 15 a0          	add    -0x60(%ebp,%edx,1),%eax
40e70a:	b9 04 00 00 00       	mov    $0x4,%ecx
40e70f:	6b d1 09             	imul   $0x9,%ecx,%edx
40e712:	89 44 15 a0          	mov    %eax,-0x60(%ebp,%edx,1)
40e716:	b8 04 00 00 00       	mov    $0x4,%eax
40e71b:	6b c8 00             	imul   $0x0,%eax,%ecx
40e71e:	6b 55 e8 13          	imul   $0x13,-0x18(%ebp),%edx
40e722:	8b 44 0d a0          	mov    -0x60(%ebp,%ecx,1),%eax
40e726:	2b c2                	sub    %edx,%eax
40e728:	b9 04 00 00 00       	mov    $0x4,%ecx
40e72d:	6b d1 00             	imul   $0x0,%ecx,%edx
40e730:	89 44 15 a0          	mov    %eax,-0x60(%ebp,%edx,1)
40e734:	e9 d0 fe ff ff       	jmp    0x40e609
40e739:	b8 04 00 00 00       	mov    $0x4,%eax
40e73e:	6b c8 00             	imul   $0x0,%eax,%ecx
40e741:	8b 54 0d a0          	mov    -0x60(%ebp,%ecx,1),%edx
40e745:	c1 fa 1f             	sar    $0x1f,%edx
40e748:	89 55 d4             	mov    %edx,-0x2c(%ebp)
40e74b:	b8 04 00 00 00       	mov    $0x4,%eax
40e750:	6b c8 00             	imul   $0x0,%eax,%ecx
40e753:	8b 54 0d a0          	mov    -0x60(%ebp,%ecx,1),%edx
40e757:	23 55 d4             	and    -0x2c(%ebp),%edx
40e75a:	c1 fa 1a             	sar    $0x1a,%edx
40e75d:	f7 da                	neg    %edx
40e75f:	89 55 e4             	mov    %edx,-0x1c(%ebp)
40e762:	b8 04 00 00 00       	mov    $0x4,%eax
40e767:	6b c8 00             	imul   $0x0,%eax,%ecx
40e76a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
40e76d:	c1 e2 1a             	shl    $0x1a,%edx
40e770:	03 54 0d a0          	add    -0x60(%ebp,%ecx,1),%edx
40e774:	b8 04 00 00 00       	mov    $0x4,%eax
40e779:	6b c8 00             	imul   $0x0,%eax,%ecx
40e77c:	89 54 0d a0          	mov    %edx,-0x60(%ebp,%ecx,1)
40e780:	ba 04 00 00 00       	mov    $0x4,%edx
40e785:	c1 e2 00             	shl    $0x0,%edx
40e788:	8b 44 15 a0          	mov    -0x60(%ebp,%edx,1),%eax
40e78c:	2b 45 e4             	sub    -0x1c(%ebp),%eax
40e78f:	b9 04 00 00 00       	mov    $0x4,%ecx
40e794:	c1 e1 00             	shl    $0x0,%ecx
40e797:	89 44 0d a0          	mov    %eax,-0x60(%ebp,%ecx,1)
40e79b:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40e7a2:	eb 09                	jmp    0x40e7ad
40e7a4:	8b 55 f8             	mov    -0x8(%ebp),%edx
40e7a7:	83 c2 01             	add    $0x1,%edx
40e7aa:	89 55 f8             	mov    %edx,-0x8(%ebp)
40e7ad:	83 7d f8 02          	cmpl   $0x2,-0x8(%ebp)
40e7b1:	0f 8d d9 00 00 00    	jge    0x40e890
40e7b7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40e7be:	eb 09                	jmp    0x40e7c9
40e7c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e7c3:	83 c0 01             	add    $0x1,%eax
40e7c6:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e7c9:	83 7d fc 09          	cmpl   $0x9,-0x4(%ebp)
40e7cd:	7d 70                	jge    0x40e83f
40e7cf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e7d2:	83 e1 01             	and    $0x1,%ecx
40e7d5:	74 34                	je     0x40e80b
40e7d7:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e7da:	8b 44 95 a0          	mov    -0x60(%ebp,%edx,4),%eax
40e7de:	c1 f8 19             	sar    $0x19,%eax
40e7e1:	89 45 d0             	mov    %eax,-0x30(%ebp)
40e7e4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e7e7:	8b 54 8d a0          	mov    -0x60(%ebp,%ecx,4),%edx
40e7eb:	81 e2 ff ff ff 01    	and    $0x1ffffff,%edx
40e7f1:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e7f4:	89 54 85 a0          	mov    %edx,-0x60(%ebp,%eax,4)
40e7f8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e7fb:	8b 54 8d a4          	mov    -0x5c(%ebp,%ecx,4),%edx
40e7ff:	03 55 d0             	add    -0x30(%ebp),%edx
40e802:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e805:	89 54 85 a4          	mov    %edx,-0x5c(%ebp,%eax,4)
40e809:	eb 32                	jmp    0x40e83d
40e80b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e80e:	8b 54 8d a0          	mov    -0x60(%ebp,%ecx,4),%edx
40e812:	c1 fa 1a             	sar    $0x1a,%edx
40e815:	89 55 cc             	mov    %edx,-0x34(%ebp)
40e818:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e81b:	8b 4c 85 a0          	mov    -0x60(%ebp,%eax,4),%ecx
40e81f:	81 e1 ff ff ff 03    	and    $0x3ffffff,%ecx
40e825:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e828:	89 4c 95 a0          	mov    %ecx,-0x60(%ebp,%edx,4)
40e82c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e82f:	8b 4c 85 a4          	mov    -0x5c(%ebp,%eax,4),%ecx
40e833:	03 4d cc             	add    -0x34(%ebp),%ecx
40e836:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e839:	89 4c 95 a4          	mov    %ecx,-0x5c(%ebp,%edx,4)
40e83d:	eb 81                	jmp    0x40e7c0
40e83f:	b8 04 00 00 00       	mov    $0x4,%eax
40e844:	6b c8 09             	imul   $0x9,%eax,%ecx
40e847:	8b 54 0d a0          	mov    -0x60(%ebp,%ecx,1),%edx
40e84b:	c1 fa 19             	sar    $0x19,%edx
40e84e:	89 55 c8             	mov    %edx,-0x38(%ebp)
40e851:	b8 04 00 00 00       	mov    $0x4,%eax
40e856:	6b c8 09             	imul   $0x9,%eax,%ecx
40e859:	8b 54 0d a0          	mov    -0x60(%ebp,%ecx,1),%edx
40e85d:	81 e2 ff ff ff 01    	and    $0x1ffffff,%edx
40e863:	b8 04 00 00 00       	mov    $0x4,%eax
40e868:	6b c8 09             	imul   $0x9,%eax,%ecx
40e86b:	89 54 0d a0          	mov    %edx,-0x60(%ebp,%ecx,1)
40e86f:	ba 04 00 00 00       	mov    $0x4,%edx
40e874:	6b c2 00             	imul   $0x0,%edx,%eax
40e877:	6b 4d c8 13          	imul   $0x13,-0x38(%ebp),%ecx
40e87b:	03 4c 05 a0          	add    -0x60(%ebp,%eax,1),%ecx
40e87f:	ba 04 00 00 00       	mov    $0x4,%edx
40e884:	6b c2 00             	imul   $0x0,%edx,%eax
40e887:	89 4c 05 a0          	mov    %ecx,-0x60(%ebp,%eax,1)
40e88b:	e9 14 ff ff ff       	jmp    0x40e7a4
40e890:	68 ed ff ff 03       	push   $0x3ffffed
40e895:	b9 04 00 00 00       	mov    $0x4,%ecx
40e89a:	6b d1 00             	imul   $0x0,%ecx,%edx
40e89d:	8b 44 15 a0          	mov    -0x60(%ebp,%edx,1),%eax
40e8a1:	50                   	push   %eax
40e8a2:	e8 09 fd ff ff       	call   0x40e5b0
40e8a7:	83 c4 08             	add    $0x8,%esp
40e8aa:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e8ad:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40e8b4:	eb 09                	jmp    0x40e8bf
40e8b6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e8b9:	83 c1 01             	add    $0x1,%ecx
40e8bc:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e8bf:	83 7d fc 0a          	cmpl   $0xa,-0x4(%ebp)
40e8c3:	7d 42                	jge    0x40e907
40e8c5:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e8c8:	83 e2 01             	and    $0x1,%edx
40e8cb:	74 1d                	je     0x40e8ea
40e8cd:	68 ff ff ff 01       	push   $0x1ffffff
40e8d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e8d5:	8b 4c 85 a0          	mov    -0x60(%ebp,%eax,4),%ecx
40e8d9:	51                   	push   %ecx
40e8da:	e8 71 fc ff ff       	call   0x40e550
40e8df:	83 c4 08             	add    $0x8,%esp
40e8e2:	23 45 f4             	and    -0xc(%ebp),%eax
40e8e5:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e8e8:	eb 1b                	jmp    0x40e905
40e8ea:	68 ff ff ff 03       	push   $0x3ffffff
40e8ef:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e8f2:	8b 44 95 a0          	mov    -0x60(%ebp,%edx,4),%eax
40e8f6:	50                   	push   %eax
40e8f7:	e8 54 fc ff ff       	call   0x40e550
40e8fc:	83 c4 08             	add    $0x8,%esp
40e8ff:	23 45 f4             	and    -0xc(%ebp),%eax
40e902:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e905:	eb af                	jmp    0x40e8b6
40e907:	b9 04 00 00 00       	mov    $0x4,%ecx
40e90c:	6b d1 00             	imul   $0x0,%ecx,%edx