40b6c4:	cc                   	int3
40b6c5:	cc                   	int3
40b6c6:	cc                   	int3
40b6c7:	cc                   	int3
40b6c8:	cc                   	int3
40b6c9:	cc                   	int3
40b6ca:	cc                   	int3
40b6cb:	cc                   	int3
40b6cc:	cc                   	int3
40b6cd:	cc                   	int3
40b6ce:	cc                   	int3
40b6cf:	cc                   	int3
40b6d0:	55                   	push   %ebp
40b6d1:	8b ec                	mov    %esp,%ebp
40b6d3:	8b 45 0c             	mov    0xc(%ebp),%eax
40b6d6:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b6d9:	8d 14 40             	lea    (%eax,%eax,2),%edx
40b6dc:	c1 e2 03             	shl    $0x3,%edx
40b6df:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
40b6e5:	72 14                	jb     0x40b6fb
40b6e7:	56                   	push   %esi
40b6e8:	8b 71 fc             	mov    -0x4(%ecx),%esi
40b6eb:	83 c2 23             	add    $0x23,%edx
40b6ee:	2b ce                	sub    %esi,%ecx
40b6f0:	8d 41 fc             	lea    -0x4(%ecx),%eax
40b6f3:	83 f8 1f             	cmp    $0x1f,%eax
40b6f6:	77 11                	ja     0x40b709
40b6f8:	8b ce                	mov    %esi,%ecx
40b6fa:	5e                   	pop    %esi
40b6fb:	52                   	push   %edx
40b6fc:	51                   	push   %ecx
40b6fd:	e8 0c 02 01 00       	call   0x41b90e
40b702:	83 c4 08             	add    $0x8,%esp
40b705:	5d                   	pop    %ebp
40b706:	c2 08 00             	ret    $0x8
40b709:	e8 71 53 01 00       	call   0x420a7f
40b70e:	cc                   	int3
40b70f:	cc                   	int3
40b710:	55                   	push   %ebp
40b711:	8b ec                	mov    %esp,%ebp
40b713:	51                   	push   %ecx
40b714:	8b 55 08             	mov    0x8(%ebp),%edx
40b717:	56                   	push   %esi
40b718:	8b 71 10             	mov    0x10(%ecx),%esi
40b71b:	3b d6                	cmp    %esi,%edx
40b71d:	77 16                	ja     0x40b735
40b71f:	89 51 10             	mov    %edx,0x10(%ecx)
40b722:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
40b726:	72 02                	jb     0x40b72a
40b728:	8b 09                	mov    (%ecx),%ecx
40b72a:	c6 04 11 00          	movb   $0x0,(%ecx,%edx,1)
40b72e:	5e                   	pop    %esi
40b72f:	8b e5                	mov    %ebp,%esp
40b731:	5d                   	pop    %ebp
40b732:	c2 08 00             	ret    $0x8
40b735:	8b 41 14             	mov    0x14(%ecx),%eax
40b738:	57                   	push   %edi
40b739:	8b fa                	mov    %edx,%edi
40b73b:	2b c6                	sub    %esi,%eax
40b73d:	2b fe                	sub    %esi,%edi
40b73f:	3b f8                	cmp    %eax,%edi
40b741:	77 28                	ja     0x40b76b
40b743:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
40b747:	89 51 10             	mov    %edx,0x10(%ecx)
40b74a:	72 02                	jb     0x40b74e
40b74c:	8b 09                	mov    (%ecx),%ecx
40b74e:	0f be 45 0c          	movsbl 0xc(%ebp),%eax
40b752:	03 f1                	add    %ecx,%esi
40b754:	57                   	push   %edi
40b755:	50                   	push   %eax
40b756:	56                   	push   %esi
40b757:	e8 84 22 01 00       	call   0x41d9e0
40b75c:	83 c4 0c             	add    $0xc,%esp
40b75f:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
40b763:	5f                   	pop    %edi
40b764:	5e                   	pop    %esi
40b765:	8b e5                	mov    %ebp,%esp
40b767:	5d                   	pop    %ebp
40b768:	c2 08 00             	ret    $0x8
40b76b:	ff 75 0c             	push   0xc(%ebp)
40b76e:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
40b772:	57                   	push   %edi
40b773:	ff 75 fc             	push   -0x4(%ebp)
40b776:	57                   	push   %edi
40b777:	e8 34 10 00 00       	call   0x40c7b0
40b77c:	5f                   	pop    %edi
40b77d:	5e                   	pop    %esi
40b77e:	8b e5                	mov    %ebp,%esp
40b780:	5d                   	pop    %ebp
40b781:	c2 08 00             	ret    $0x8
40b784:	cc                   	int3
40b785:	cc                   	int3
40b786:	cc                   	int3
40b787:	cc                   	int3
40b788:	cc                   	int3
40b789:	cc                   	int3
40b78a:	cc                   	int3
40b78b:	cc                   	int3
40b78c:	cc                   	int3
40b78d:	cc                   	int3
40b78e:	cc                   	int3
40b78f:	cc                   	int3
40b790:	55                   	push   %ebp
40b791:	8b ec                	mov    %esp,%ebp
40b793:	56                   	push   %esi
40b794:	8b f1                	mov    %ecx,%esi
40b796:	ff 76 08             	push   0x8(%esi)
40b799:	c7 06 54 06 44 00    	movl   $0x440654,(%esi)
40b79f:	e8 a9 a8 01 00       	call   0x42604d
40b7a4:	ff 76 10             	push   0x10(%esi)
40b7a7:	e8 a1 a8 01 00       	call   0x42604d
40b7ac:	ff 76 14             	push   0x14(%esi)
40b7af:	e8 99 a8 01 00       	call   0x42604d
40b7b4:	83 c4 0c             	add    $0xc,%esp
40b7b7:	c7 06 9c f8 43 00    	movl   $0x43f89c,(%esi)
40b7bd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40b7c1:	74 0b                	je     0x40b7ce
40b7c3:	6a 18                	push   $0x18
40b7c5:	56                   	push   %esi
40b7c6:	e8 43 01 01 00       	call   0x41b90e
40b7cb:	83 c4 08             	add    $0x8,%esp
40b7ce:	8b c6                	mov    %esi,%eax
40b7d0:	5e                   	pop    %esi
40b7d1:	5d                   	pop    %ebp
40b7d2:	c2 04 00             	ret    $0x4
40b7d5:	cc                   	int3
40b7d6:	cc                   	int3
40b7d7:	cc                   	int3
40b7d8:	cc                   	int3
40b7d9:	cc                   	int3
40b7da:	cc                   	int3
40b7db:	cc                   	int3
40b7dc:	cc                   	int3
40b7dd:	cc                   	int3
40b7de:	cc                   	int3
40b7df:	cc                   	int3
40b7e0:	55                   	push   %ebp
40b7e1:	8b ec                	mov    %esp,%ebp
40b7e3:	6a ff                	push   $0xffffffff
40b7e5:	68 5d dc 43 00       	push   $0x43dc5d
40b7ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b7f0:	50                   	push   %eax
40b7f1:	83 ec 0c             	sub    $0xc,%esp
40b7f4:	53                   	push   %ebx
40b7f5:	56                   	push   %esi
40b7f6:	57                   	push   %edi
40b7f7:	a1 14 40 45 00       	mov    0x454014,%eax
40b7fc:	33 c5                	xor    %ebp,%eax
40b7fe:	50                   	push   %eax
40b7ff:	8d 45 f4             	lea    -0xc(%ebp),%eax
40b802:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40b808:	8b d9                	mov    %ecx,%ebx
40b80a:	e8 a1 93 ff ff       	call   0x404bb0
40b80f:	8b 45 08             	mov    0x8(%ebp),%eax
40b812:	89 43 38             	mov    %eax,0x38(%ebx)
40b815:	8b 43 30             	mov    0x30(%ebx),%eax
40b818:	c7 43 3c 00 00 00 00 	movl   $0x0,0x3c(%ebx)
40b81f:	8b 78 04             	mov    0x4(%eax),%edi
40b822:	89 7d ec             	mov    %edi,-0x14(%ebp)
40b825:	8b 07                	mov    (%edi),%eax
40b827:	8b 70 04             	mov    0x4(%eax),%esi
40b82a:	8b ce                	mov    %esi,%ecx
40b82c:	ff 15 3c f2 43 00    	call   *0x43f23c
40b832:	8b cf                	mov    %edi,%ecx
40b834:	ff d6                	call   *%esi
40b836:	8d 45 e8             	lea    -0x18(%ebp),%eax
40b839:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40b840:	50                   	push   %eax
40b841:	e8 4a 0c 00 00       	call   0x40c490
40b846:	8b f8                	mov    %eax,%edi
40b848:	83 c4 04             	add    $0x4,%esp
40b84b:	8b 0f                	mov    (%edi),%ecx
40b84d:	6a 20                	push   $0x20
40b84f:	8b 71 30             	mov    0x30(%ecx),%esi
40b852:	8b ce                	mov    %esi,%ecx
40b854:	ff 15 3c f2 43 00    	call   *0x43f23c
40b85a:	8b cf                	mov    %edi,%ecx
40b85c:	ff d6                	call   *%esi
40b85e:	0f b7 f8             	movzwl %ax,%edi
40b861:	89 7d f0             	mov    %edi,-0x10(%ebp)
40b864:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40b86b:	8b 7d ec             	mov    -0x14(%ebp),%edi
40b86e:	85 ff                	test   %edi,%edi
40b870:	74 29                	je     0x40b89b
40b872:	8b 07                	mov    (%edi),%eax
40b874:	8b 70 08             	mov    0x8(%eax),%esi
40b877:	8b ce                	mov    %esi,%ecx
40b879:	ff 15 3c f2 43 00    	call   *0x43f23c
40b87f:	8b cf                	mov    %edi,%ecx
40b881:	ff d6                	call   *%esi
40b883:	8b f8                	mov    %eax,%edi
40b885:	85 ff                	test   %edi,%edi
40b887:	74 12                	je     0x40b89b
40b889:	8b 0f                	mov    (%edi),%ecx
40b88b:	6a 01                	push   $0x1
40b88d:	8b 31                	mov    (%ecx),%esi
40b88f:	8b ce                	mov    %esi,%ecx
40b891:	ff 15 3c f2 43 00    	call   *0x43f23c
40b897:	8b cf                	mov    %edi,%ecx
40b899:	ff d6                	call   *%esi
40b89b:	83 7b 38 00          	cmpl   $0x0,0x38(%ebx)
40b89f:	8b 45 f0             	mov    -0x10(%ebp),%eax
40b8a2:	66 89 43 40          	mov    %ax,0x40(%ebx)
40b8a6:	75 10                	jne    0x40b8b8
40b8a8:	8b 43 0c             	mov    0xc(%ebx),%eax
40b8ab:	8b cb                	mov    %ebx,%ecx
40b8ad:	6a 00                	push   $0x0
40b8af:	83 c8 04             	or     $0x4,%eax
40b8b2:	50                   	push   %eax
40b8b3:	e8 78 92 ff ff       	call   0x404b30
40b8b8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40b8bb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b8c2:	59                   	pop    %ecx
40b8c3:	5f                   	pop    %edi
40b8c4:	5e                   	pop    %esi
40b8c5:	5b                   	pop    %ebx
40b8c6:	8b e5                	mov    %ebp,%esp
40b8c8:	5d                   	pop    %ebp
40b8c9:	c2 08 00             	ret    $0x8
40b8cc:	cc                   	int3
40b8cd:	cc                   	int3
40b8ce:	cc                   	int3
40b8cf:	cc                   	int3
40b8d0:	68 a4 dc 44 00       	push   $0x44dca4
40b8d5:	e8 80 f5 00 00       	call   0x41ae5a
40b8da:	cc                   	int3
40b8db:	cc                   	int3
40b8dc:	cc                   	int3
40b8dd:	cc                   	int3
40b8de:	cc                   	int3
40b8df:	cc                   	int3
40b8e0:	55                   	push   %ebp
40b8e1:	8b ec                	mov    %esp,%ebp
40b8e3:	83 ec 20             	sub    $0x20,%esp
40b8e6:	83 7a 14 08          	cmpl   $0x8,0x14(%edx)
40b8ea:	53                   	push   %ebx
40b8eb:	8b d9                	mov    %ecx,%ebx
40b8ed:	89 55 f8             	mov    %edx,-0x8(%ebp)
40b8f0:	56                   	push   %esi
40b8f1:	57                   	push   %edi
40b8f2:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40b8f5:	8b ca                	mov    %edx,%ecx
40b8f7:	72 05                	jb     0x40b8fe
40b8f9:	8b 0a                	mov    (%edx),%ecx
40b8fb:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40b8fe:	8b 7d 08             	mov    0x8(%ebp),%edi
40b901:	8b 72 10             	mov    0x10(%edx),%esi
40b904:	89 75 e8             	mov    %esi,-0x18(%ebp)
40b907:	8b 57 10             	mov    0x10(%edi),%edx
40b90a:	8b 47 14             	mov    0x14(%edi),%eax
40b90d:	2b c2                	sub    %edx,%eax
40b90f:	89 55 f0             	mov    %edx,-0x10(%ebp)
40b912:	3b f0                	cmp    %eax,%esi
40b914:	0f 87 8d 00 00 00    	ja     0x40b9a7
40b91a:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40b91e:	8d 04 32             	lea    (%edx,%esi,1),%eax
40b921:	89 47 10             	mov    %eax,0x10(%edi)
40b924:	8b d7                	mov    %edi,%edx
40b926:	89 7d f4             	mov    %edi,-0xc(%ebp)
40b929:	72 05                	jb     0x40b930
40b92b:	8b 17                	mov    (%edi),%edx
40b92d:	89 55 f4             	mov    %edx,-0xc(%ebp)
40b930:	8d 04 36             	lea    (%esi,%esi,1),%eax
40b933:	89 45 ec             	mov    %eax,-0x14(%ebp)
40b936:	8b 45 f0             	mov    -0x10(%ebp),%eax
40b939:	03 c0                	add    %eax,%eax
40b93b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40b93e:	8d 04 71             	lea    (%ecx,%esi,2),%eax
40b941:	3b c2                	cmp    %edx,%eax
40b943:	76 17                	jbe    0x40b95c
40b945:	8b 45 f0             	mov    -0x10(%ebp),%eax
40b948:	03 c2                	add    %edx,%eax
40b94a:	3b c8                	cmp    %eax,%ecx
40b94c:	77 0e                	ja     0x40b95c
40b94e:	3b d1                	cmp    %ecx,%edx
40b950:	77 04                	ja     0x40b956
40b952:	33 f6                	xor    %esi,%esi
40b954:	eb 06                	jmp    0x40b95c
40b956:	8b f2                	mov    %edx,%esi
40b958:	2b f1                	sub    %ecx,%esi
40b95a:	d1 fe                	sar    $1,%esi
40b95c:	8b 45 f0             	mov    -0x10(%ebp),%eax
40b95f:	83 c0 02             	add    $0x2,%eax
40b962:	89 75 fc             	mov    %esi,-0x4(%ebp)
40b965:	50                   	push   %eax
40b966:	8b 45 ec             	mov    -0x14(%ebp),%eax
40b969:	52                   	push   %edx
40b96a:	03 c2                	add    %edx,%eax
40b96c:	50                   	push   %eax
40b96d:	e8 de 1a 01 00       	call   0x41d450
40b972:	03 f6                	add    %esi,%esi
40b974:	56                   	push   %esi
40b975:	ff 75 f8             	push   -0x8(%ebp)
40b978:	ff 75 f4             	push   -0xc(%ebp)
40b97b:	e8 d0 1a 01 00       	call   0x41d450
40b980:	8b 55 e8             	mov    -0x18(%ebp),%edx
40b983:	8b c2                	mov    %edx,%eax
40b985:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b988:	2b c1                	sub    %ecx,%eax
40b98a:	03 c0                	add    %eax,%eax
40b98c:	50                   	push   %eax
40b98d:	8d 04 11             	lea    (%ecx,%edx,1),%eax
40b990:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40b993:	8d 04 41             	lea    (%ecx,%eax,2),%eax
40b996:	50                   	push   %eax
40b997:	8b 45 f4             	mov    -0xc(%ebp),%eax
40b99a:	03 c6                	add    %esi,%eax
40b99c:	50                   	push   %eax
40b99d:	e8 ae 1a 01 00       	call   0x41d450
40b9a2:	83 c4 24             	add    $0x24,%esp
40b9a5:	eb 14                	jmp    0x40b9bb
40b9a7:	56                   	push   %esi
40b9a8:	51                   	push   %ecx
40b9a9:	51                   	push   %ecx
40b9aa:	c6 45 e8 00          	movb   $0x0,-0x18(%ebp)
40b9ae:	8b cf                	mov    %edi,%ecx
40b9b0:	ff 75 e8             	push   -0x18(%ebp)
40b9b3:	56                   	push   %esi
40b9b4:	e8 f7 18 00 00       	call   0x40d2b0
40b9b9:	8b f8                	mov    %eax,%edi
40b9bb:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
40b9c1:	33 c0                	xor    %eax,%eax
40b9c3:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
40b9ca:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
40b9d1:	0f 10 07             	movups (%edi),%xmm0
40b9d4:	0f 11 03             	movups %xmm0,(%ebx)
40b9d7:	f3 0f 7e 47 10       	movq   0x10(%edi),%xmm0
40b9dc:	66 0f d6 43 10       	movq   %xmm0,0x10(%ebx)
40b9e1:	66 89 07             	mov    %ax,(%edi)
40b9e4:	8b c3                	mov    %ebx,%eax
40b9e6:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
40b9ed:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
40b9f4:	5f                   	pop    %edi
40b9f5:	5e                   	pop    %esi
40b9f6:	5b                   	pop    %ebx
40b9f7:	8b e5                	mov    %ebp,%esp
40b9f9:	5d                   	pop    %ebp
40b9fa:	c3                   	ret
40b9fb:	cc                   	int3
40b9fc:	cc                   	int3
40b9fd:	cc                   	int3
40b9fe:	cc                   	int3
40b9ff:	cc                   	int3
40ba00:	55                   	push   %ebp
40ba01:	8b ec                	mov    %esp,%ebp
40ba03:	83 ec 0c             	sub    $0xc,%esp
40ba06:	8b 45 08             	mov    0x8(%ebp),%eax
40ba09:	53                   	push   %ebx
40ba0a:	56                   	push   %esi
40ba0b:	57                   	push   %edi