40d6da:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d6dd:	50                   	push   %eax
40d6de:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
40d6e4:	e8 71 a3 ff ff       	call   0x407a5a
40d6e9:	83 bd 90 fd ff ff 00 	cmpl   $0x0,-0x270(%ebp)
40d6f0:	59                   	pop    %ecx
40d6f1:	59                   	pop    %ecx
40d6f2:	75 a6                	jne    0x40d69a
40d6f4:	eb 23                	jmp    0x40d719
40d6f6:	83 8d dc fd ff ff ff 	orl    $0xffffffff,-0x224(%ebp)
40d6fd:	eb 1a                	jmp    0x40d719
40d6ff:	8b bd 9c fd ff ff    	mov    -0x264(%ebp),%edi
40d705:	50                   	push   %eax
40d706:	ff b5 e0 fd ff ff    	push   -0x220(%ebp)
40d70c:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
40d712:	e8 43 a3 ff ff       	call   0x407a5a
40d717:	59                   	pop    %ecx
40d718:	59                   	pop    %ecx
40d719:	83 bd dc fd ff ff 00 	cmpl   $0x0,-0x224(%ebp)
40d720:	7c 32                	jl     0x40d754
40d722:	f6 85 f0 fd ff ff 04 	testb  $0x4,-0x210(%ebp)
40d729:	74 29                	je     0x40d754
40d72b:	8b bd 98 fd ff ff    	mov    -0x268(%ebp),%edi
40d731:	eb 1d                	jmp    0x40d750
40d733:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
40d739:	8d b5 dc fd ff ff    	lea    -0x224(%ebp),%esi
40d73f:	b0 20                	mov    $0x20,%al
40d741:	4f                   	dec    %edi
40d742:	e8 44 f4 ff ff       	call   0x40cb8b
40d747:	83 bd dc fd ff ff ff 	cmpl   $0xffffffff,-0x224(%ebp)
40d74e:	74 04                	je     0x40d754
40d750:	85 ff                	test   %edi,%edi
40d752:	7f df                	jg     0x40d733
40d754:	83 bd a0 fd ff ff 00 	cmpl   $0x0,-0x260(%ebp)
40d75b:	74 13                	je     0x40d770
40d75d:	ff b5 a0 fd ff ff    	push   -0x260(%ebp)
40d763:	e8 03 48 ff ff       	call   0x401f6b
40d768:	83 a5 a0 fd ff ff 00 	andl   $0x0,-0x260(%ebp)
40d76f:	59                   	pop    %ecx
40d770:	8b 9d c0 fd ff ff    	mov    -0x240(%ebp),%ebx
40d776:	8a 03                	mov    (%ebx),%al
40d778:	88 85 ef fd ff ff    	mov    %al,-0x211(%ebp)
40d77e:	84 c0                	test   %al,%al
40d780:	74 0f                	je     0x40d791
40d782:	8b bd e4 fd ff ff    	mov    -0x21c(%ebp),%edi
40d788:	33 f6                	xor    %esi,%esi
40d78a:	8a d0                	mov    %al,%dl
40d78c:	e9 64 f5 ff ff       	jmp    0x40ccf5
40d791:	83 bd bc fd ff ff 00 	cmpl   $0x0,-0x244(%ebp)
40d798:	74 0d                	je     0x40d7a7
40d79a:	83 bd bc fd ff ff 07 	cmpl   $0x7,-0x244(%ebp)
40d7a1:	0f 85 8d f4 ff ff    	jne    0x40cc34
40d7a7:	80 bd b8 fd ff ff 00 	cmpb   $0x0,-0x248(%ebp)
40d7ae:	74 0a                	je     0x40d7ba
40d7b0:	8b 85 b4 fd ff ff    	mov    -0x24c(%ebp),%eax
40d7b6:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
40d7ba:	8b 85 dc fd ff ff    	mov    -0x224(%ebp),%eax
40d7c0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d7c3:	5f                   	pop    %edi
40d7c4:	5e                   	pop    %esi
40d7c5:	33 cd                	xor    %ebp,%ecx
40d7c7:	5b                   	pop    %ebx
40d7c8:	e8 d7 45 ff ff       	call   0x401da4
40d7cd:	c9                   	leave
40d7ce:	c3                   	ret
40d7cf:	8d 49 00             	lea    0x0(%ecx),%ecx
40d7d2:	5a                   	pop    %edx
40d7d3:	cf                   	iret
40d7d4:	40                   	inc    %eax
40d7d5:	00 57 cd             	add    %dl,-0x33(%edi)
40d7d8:	40                   	inc    %eax
40d7d9:	00 89 cd 40 00 e5    	add    %cl,-0x1affbf33(%ecx)
40d7df:	cd 40                	int    $0x40
40d7e1:	00 31                	add    %dh,(%ecx)
40d7e3:	ce                   	into
40d7e4:	40                   	inc    %eax
40d7e5:	00 3d ce 40 00 83    	add    %bh,0x830040ce
40d7eb:	ce                   	into
40d7ec:	40                   	inc    %eax
40d7ed:	00 b5 cf 40 00 cc    	add    %dh,-0x33ffbf31(%ebp)
40d7f3:	cc                   	int3
40d7f4:	cc                   	int3
40d7f5:	cc                   	int3
40d7f6:	cc                   	int3
40d7f7:	cc                   	int3
40d7f8:	cc                   	int3
40d7f9:	cc                   	int3
40d7fa:	cc                   	int3
40d7fb:	cc                   	int3
40d7fc:	cc                   	int3
40d7fd:	cc                   	int3
40d7fe:	cc                   	int3
40d7ff:	cc                   	int3
40d800:	51                   	push   %ecx
40d801:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40d805:	2b c8                	sub    %eax,%ecx
40d807:	1b c0                	sbb    %eax,%eax
40d809:	f7 d0                	not    %eax
40d80b:	23 c8                	and    %eax,%ecx
40d80d:	8b c4                	mov    %esp,%eax
40d80f:	25 00 f0 ff ff       	and    $0xfffff000,%eax
40d814:	3b c8                	cmp    %eax,%ecx
40d816:	72 0a                	jb     0x40d822
40d818:	8b c1                	mov    %ecx,%eax
40d81a:	59                   	pop    %ecx
40d81b:	94                   	xchg   %eax,%esp
40d81c:	8b 00                	mov    (%eax),%eax
40d81e:	89 04 24             	mov    %eax,(%esp)
40d821:	c3                   	ret
40d822:	2d 00 10 00 00       	sub    $0x1000,%eax
40d827:	85 00                	test   %eax,(%eax)
40d829:	eb e9                	jmp    0x40d814
40d82b:	8b ff                	mov    %edi,%edi
40d82d:	55                   	push   %ebp
40d82e:	8b ec                	mov    %esp,%ebp
40d830:	51                   	push   %ecx
40d831:	51                   	push   %ecx
40d832:	8b 45 0c             	mov    0xc(%ebp),%eax
40d835:	56                   	push   %esi
40d836:	8b 75 08             	mov    0x8(%ebp),%esi
40d839:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d83c:	8b 45 10             	mov    0x10(%ebp),%eax
40d83f:	57                   	push   %edi
40d840:	56                   	push   %esi
40d841:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d844:	e8 2c 58 ff ff       	call   0x403075
40d849:	83 cf ff             	or     $0xffffffff,%edi
40d84c:	59                   	pop    %ecx
40d84d:	3b c7                	cmp    %edi,%eax
40d84f:	75 11                	jne    0x40d862
40d851:	e8 d1 68 ff ff       	call   0x404127
40d856:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40d85c:	8b c7                	mov    %edi,%eax
40d85e:	8b d7                	mov    %edi,%edx
40d860:	eb 4a                	jmp    0x40d8ac
40d862:	ff 75 14             	push   0x14(%ebp)
40d865:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40d868:	51                   	push   %ecx
40d869:	ff 75 f8             	push   -0x8(%ebp)
40d86c:	50                   	push   %eax
40d86d:	ff 15 00 f1 40 00    	call   *0x40f100
40d873:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d876:	3b c7                	cmp    %edi,%eax
40d878:	75 13                	jne    0x40d88d
40d87a:	ff 15 44 f0 40 00    	call   *0x40f044
40d880:	85 c0                	test   %eax,%eax
40d882:	74 09                	je     0x40d88d
40d884:	50                   	push   %eax
40d885:	e8 c3 68 ff ff       	call   0x40414d
40d88a:	59                   	pop    %ecx
40d88b:	eb cf                	jmp    0x40d85c
40d88d:	8b c6                	mov    %esi,%eax
40d88f:	c1 f8 05             	sar    $0x5,%eax
40d892:	8b 04 85 20 46 41 00 	mov    0x414620(,%eax,4),%eax
40d899:	83 e6 1f             	and    $0x1f,%esi
40d89c:	c1 e6 06             	shl    $0x6,%esi
40d89f:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
40d8a3:	80 20 fd             	andb   $0xfd,(%eax)
40d8a6:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d8a9:	8b 55 fc             	mov    -0x4(%ebp),%edx
40d8ac:	5f                   	pop    %edi
40d8ad:	5e                   	pop    %esi
40d8ae:	c9                   	leave
40d8af:	c3                   	ret
40d8b0:	6a 14                	push   $0x14
40d8b2:	68 50 14 41 00       	push   $0x411450
40d8b7:	e8 b4 68 ff ff       	call   0x404170
40d8bc:	83 cb ff             	or     $0xffffffff,%ebx
40d8bf:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40d8c2:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40d8c5:	8b 45 08             	mov    0x8(%ebp),%eax
40d8c8:	83 f8 fe             	cmp    $0xfffffffe,%eax
40d8cb:	75 1c                	jne    0x40d8e9
40d8cd:	e8 68 68 ff ff       	call   0x40413a
40d8d2:	83 20 00             	andl   $0x0,(%eax)
40d8d5:	e8 4d 68 ff ff       	call   0x404127
40d8da:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40d8e0:	8b c3                	mov    %ebx,%eax
40d8e2:	8b d3                	mov    %ebx,%edx
40d8e4:	e9 a1 00 00 00       	jmp    0x40d98a
40d8e9:	85 c0                	test   %eax,%eax
40d8eb:	78 08                	js     0x40d8f5
40d8ed:	3b 05 00 46 41 00    	cmp    0x414600,%eax
40d8f3:	72 1a                	jb     0x40d90f
40d8f5:	e8 40 68 ff ff       	call   0x40413a
40d8fa:	83 20 00             	andl   $0x0,(%eax)
40d8fd:	e8 25 68 ff ff       	call   0x404127
40d902:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40d908:	e8 7a 53 ff ff       	call   0x402c87
40d90d:	eb d1                	jmp    0x40d8e0
40d90f:	8b c8                	mov    %eax,%ecx
40d911:	c1 f9 05             	sar    $0x5,%ecx
40d914:	8d 3c 8d 20 46 41 00 	lea    0x414620(,%ecx,4),%edi
40d91b:	8b f0                	mov    %eax,%esi
40d91d:	83 e6 1f             	and    $0x1f,%esi
40d920:	c1 e6 06             	shl    $0x6,%esi
40d923:	8b 0f                	mov    (%edi),%ecx
40d925:	0f be 4c 31 04       	movsbl 0x4(%ecx,%esi,1),%ecx
40d92a:	83 e1 01             	and    $0x1,%ecx
40d92d:	74 c6                	je     0x40d8f5
40d92f:	50                   	push   %eax
40d930:	e8 a9 57 ff ff       	call   0x4030de
40d935:	59                   	pop    %ecx
40d936:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d93a:	8b 07                	mov    (%edi),%eax
40d93c:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
40d941:	74 1c                	je     0x40d95f
40d943:	ff 75 14             	push   0x14(%ebp)
40d946:	ff 75 10             	push   0x10(%ebp)
40d949:	ff 75 0c             	push   0xc(%ebp)
40d94c:	ff 75 08             	push   0x8(%ebp)
40d94f:	e8 d7 fe ff ff       	call   0x40d82b
40d954:	83 c4 10             	add    $0x10,%esp
40d957:	89 45 dc             	mov    %eax,-0x24(%ebp)
40d95a:	89 55 e0             	mov    %edx,-0x20(%ebp)
40d95d:	eb 19                	jmp    0x40d978
40d95f:	e8 c3 67 ff ff       	call   0x404127
40d964:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40d96a:	e8 cb 67 ff ff       	call   0x40413a
40d96f:	83 20 00             	andl   $0x0,(%eax)
40d972:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40d975:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40d978:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40d97f:	e8 0c 00 00 00       	call   0x40d990
40d984:	8b 45 dc             	mov    -0x24(%ebp),%eax
40d987:	8b 55 e0             	mov    -0x20(%ebp),%edx
40d98a:	e8 26 68 ff ff       	call   0x4041b5
40d98f:	c3                   	ret
40d990:	ff 75 08             	push   0x8(%ebp)
40d993:	e8 e5 57 ff ff       	call   0x40317d
40d998:	59                   	pop    %ecx
40d999:	c3                   	ret
40d99a:	8b ff                	mov    %edi,%edi
40d99c:	55                   	push   %ebp
40d99d:	8b ec                	mov    %esp,%ebp
40d99f:	ff 05 e0 2e 41 00    	incl   0x412ee0
40d9a5:	68 00 10 00 00       	push   $0x1000
40d9aa:	e8 10 8f ff ff       	call   0x4068bf
40d9af:	59                   	pop    %ecx
40d9b0:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d9b3:	89 41 08             	mov    %eax,0x8(%ecx)
40d9b6:	85 c0                	test   %eax,%eax
40d9b8:	74 0d                	je     0x40d9c7
40d9ba:	83 49 0c 08          	orl    $0x8,0xc(%ecx)
40d9be:	c7 41 18 00 10 00 00 	movl   $0x1000,0x18(%ecx)
40d9c5:	eb 11                	jmp    0x40d9d8
40d9c7:	83 49 0c 04          	orl    $0x4,0xc(%ecx)
40d9cb:	8d 41 14             	lea    0x14(%ecx),%eax
40d9ce:	89 41 08             	mov    %eax,0x8(%ecx)
40d9d1:	c7 41 18 02 00 00 00 	movl   $0x2,0x18(%ecx)
40d9d8:	8b 41 08             	mov    0x8(%ecx),%eax
40d9db:	83 61 04 00          	andl   $0x0,0x4(%ecx)
40d9df:	89 01                	mov    %eax,(%ecx)
40d9e1:	5d                   	pop    %ebp
40d9e2:	c3                   	ret
40d9e3:	66 0f ef c0          	pxor   %xmm0,%xmm0
40d9e7:	51                   	push   %ecx
40d9e8:	53                   	push   %ebx
40d9e9:	8b c1                	mov    %ecx,%eax
40d9eb:	83 e0 0f             	and    $0xf,%eax
40d9ee:	85 c0                	test   %eax,%eax
40d9f0:	75 7f                	jne    0x40da71
40d9f2:	8b c2                	mov    %edx,%eax
40d9f4:	83 e2 7f             	and    $0x7f,%edx
40d9f7:	c1 e8 07             	shr    $0x7,%eax
40d9fa:	74 37                	je     0x40da33
40d9fc:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40da03:	66 0f 7f 01          	movdqa %xmm0,(%ecx)
40da07:	66 0f 7f 41 10       	movdqa %xmm0,0x10(%ecx)
40da0c:	66 0f 7f 41 20       	movdqa %xmm0,0x20(%ecx)
40da11:	66 0f 7f 41 30       	movdqa %xmm0,0x30(%ecx)
40da16:	66 0f 7f 41 40       	movdqa %xmm0,0x40(%ecx)
40da1b:	66 0f 7f 41 50       	movdqa %xmm0,0x50(%ecx)
40da20:	66 0f 7f 41 60       	movdqa %xmm0,0x60(%ecx)
40da25:	66 0f 7f 41 70       	movdqa %xmm0,0x70(%ecx)
40da2a:	8d 89 80 00 00 00    	lea    0x80(%ecx),%ecx
40da30:	48                   	dec    %eax
40da31:	75 d0                	jne    0x40da03
40da33:	85 d2                	test   %edx,%edx
40da35:	74 37                	je     0x40da6e
40da37:	8b c2                	mov    %edx,%eax
40da39:	c1 e8 04             	shr    $0x4,%eax
40da3c:	74 0f                	je     0x40da4d
40da3e:	eb 03                	jmp    0x40da43
40da40:	8d 49 00             	lea    0x0(%ecx),%ecx
40da43:	66 0f 7f 01          	movdqa %xmm0,(%ecx)
40da47:	8d 49 10             	lea    0x10(%ecx),%ecx
40da4a:	48                   	dec    %eax
40da4b:	75 f6                	jne    0x40da43
40da4d:	83 e2 0f             	and    $0xf,%edx
40da50:	74 1c                	je     0x40da6e
40da52:	8b c2                	mov    %edx,%eax
40da54:	33 db                	xor    %ebx,%ebx
40da56:	c1 ea 02             	shr    $0x2,%edx
40da59:	74 08                	je     0x40da63
40da5b:	89 19                	mov    %ebx,(%ecx)
40da5d:	8d 49 04             	lea    0x4(%ecx),%ecx
40da60:	4a                   	dec    %edx
40da61:	75 f8                	jne    0x40da5b
40da63:	83 e0 03             	and    $0x3,%eax
40da66:	74 06                	je     0x40da6e
40da68:	88 19                	mov    %bl,(%ecx)
40da6a:	41                   	inc    %ecx
40da6b:	48                   	dec    %eax
40da6c:	75 fa                	jne    0x40da68
40da6e:	5b                   	pop    %ebx
40da6f:	58                   	pop    %eax
40da70:	c3                   	ret
40da71:	8b d8                	mov    %eax,%ebx
40da73:	f7 db                	neg    %ebx
40da75:	83 c3 10             	add    $0x10,%ebx
40da78:	2b d3                	sub    %ebx,%edx
40da7a:	33 c0                	xor    %eax,%eax
40da7c:	52                   	push   %edx
40da7d:	8b d3                	mov    %ebx,%edx
40da7f:	83 e2 03             	and    $0x3,%edx
40da82:	74 06                	je     0x40da8a
40da84:	88 01                	mov    %al,(%ecx)
40da86:	41                   	inc    %ecx
40da87:	4a                   	dec    %edx
40da88:	75 fa                	jne    0x40da84
40da8a:	c1 eb 02             	shr    $0x2,%ebx
40da8d:	74 08                	je     0x40da97
40da8f:	89 01                	mov    %eax,(%ecx)
40da91:	8d 49 04             	lea    0x4(%ecx),%ecx
40da94:	4b                   	dec    %ebx
40da95:	75 f8                	jne    0x40da8f
40da97:	5a                   	pop    %edx
40da98:	e9 55 ff ff ff       	jmp    0x40d9f2
40da9d:	6a 0a                	push   $0xa
40da9f:	ff 15 3c f1 40 00    	call   *0x40f13c
40daa5:	a3 f8 45 41 00       	mov    %eax,0x4145f8
40daaa:	33 c0                	xor    %eax,%eax
40daac:	c3                   	ret
40daad:	8b ff                	mov    %edi,%edi
40daaf:	55                   	push   %ebp
40dab0:	8b ec                	mov    %esp,%ebp
40dab2:	83 ec 10             	sub    $0x10,%esp
40dab5:	53                   	push   %ebx
40dab6:	56                   	push   %esi
40dab7:	8b 75 0c             	mov    0xc(%ebp),%esi
40daba:	33 db                	xor    %ebx,%ebx
40dabc:	57                   	push   %edi
40dabd:	8b 7d 10             	mov    0x10(%ebp),%edi
40dac0:	3b f3                	cmp    %ebx,%esi
40dac2:	75 11                	jne    0x40dad5
40dac4:	3b fb                	cmp    %ebx,%edi
40dac6:	76 0d                	jbe    0x40dad5
40dac8:	8b 45 08             	mov    0x8(%ebp),%eax
40dacb:	3b c3                	cmp    %ebx,%eax