41e867:	50                   	push   %eax
41e868:	50                   	push   %eax
41e869:	50                   	push   %eax
41e86a:	56                   	push   %esi
41e86b:	e8 dd 94 ff ff       	call   0x417d4d
41e870:	23 c2                	and    %edx,%eax
41e872:	83 c4 10             	add    $0x10,%esp
41e875:	83 f8 ff             	cmp    $0xffffffff,%eax
41e878:	74 b2                	je     0x41e82c
41e87a:	33 c0                	xor    %eax,%eax
41e87c:	5f                   	pop    %edi
41e87d:	5e                   	pop    %esi
41e87e:	5b                   	pop    %ebx
41e87f:	c9                   	leave
41e880:	c3                   	ret
41e881:	8b ff                	mov    %edi,%edi
41e883:	55                   	push   %ebp
41e884:	8b ec                	mov    %esp,%ebp
41e886:	83 ec 18             	sub    $0x18,%esp
41e889:	33 c0                	xor    %eax,%eax
41e88b:	56                   	push   %esi
41e88c:	89 45 e8             	mov    %eax,-0x18(%ebp)
41e88f:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e892:	89 45 f0             	mov    %eax,-0x10(%ebp)
41e895:	89 45 f4             	mov    %eax,-0xc(%ebp)
41e898:	89 45 f8             	mov    %eax,-0x8(%ebp)
41e89b:	88 45 fc             	mov    %al,-0x4(%ebp)
41e89e:	e8 72 bc ff ff       	call   0x41a515
41e8a3:	50                   	push   %eax
41e8a4:	8d 45 e8             	lea    -0x18(%ebp),%eax
41e8a7:	50                   	push   %eax
41e8a8:	ff 75 10             	push   0x10(%ebp)
41e8ab:	e8 27 0e ff ff       	call   0x40f6d7
41e8b0:	83 c4 0c             	add    $0xc,%esp
41e8b3:	85 c0                	test   %eax,%eax
41e8b5:	74 05                	je     0x41e8bc
41e8b7:	83 ce ff             	or     $0xffffffff,%esi
41e8ba:	eb 1f                	jmp    0x41e8db
41e8bc:	ff 75 20             	push   0x20(%ebp)
41e8bf:	ff 75 1c             	push   0x1c(%ebp)
41e8c2:	ff 75 18             	push   0x18(%ebp)
41e8c5:	ff 75 14             	push   0x14(%ebp)
41e8c8:	ff 75 f0             	push   -0x10(%ebp)
41e8cb:	ff 75 0c             	push   0xc(%ebp)
41e8ce:	ff 75 08             	push   0x8(%ebp)
41e8d1:	e8 39 00 00 00       	call   0x41e90f
41e8d6:	83 c4 1c             	add    $0x1c,%esp
41e8d9:	8b f0                	mov    %eax,%esi
41e8db:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
41e8df:	74 09                	je     0x41e8ea
41e8e1:	ff 75 f0             	push   -0x10(%ebp)
41e8e4:	e8 22 48 ff ff       	call   0x41310b
41e8e9:	59                   	pop    %ecx
41e8ea:	8b c6                	mov    %esi,%eax
41e8ec:	5e                   	pop    %esi
41e8ed:	c9                   	leave
41e8ee:	c3                   	ret
41e8ef:	8b ff                	mov    %edi,%edi
41e8f1:	55                   	push   %ebp
41e8f2:	8b ec                	mov    %esp,%ebp
41e8f4:	6a 01                	push   $0x1
41e8f6:	ff 75 08             	push   0x8(%ebp)
41e8f9:	ff 75 18             	push   0x18(%ebp)
41e8fc:	ff 75 14             	push   0x14(%ebp)
41e8ff:	ff 75 10             	push   0x10(%ebp)
41e902:	ff 75 0c             	push   0xc(%ebp)
41e905:	e8 aa f9 ff ff       	call   0x41e2b4
41e90a:	83 c4 18             	add    $0x18,%esp
41e90d:	5d                   	pop    %ebp
41e90e:	c3                   	ret
41e90f:	8b ff                	mov    %edi,%edi
41e911:	55                   	push   %ebp
41e912:	8b ec                	mov    %esp,%ebp
41e914:	83 ec 44             	sub    $0x44,%esp
41e917:	53                   	push   %ebx
41e918:	56                   	push   %esi
41e919:	57                   	push   %edi
41e91a:	ff 75 1c             	push   0x1c(%ebp)
41e91d:	8d 45 bc             	lea    -0x44(%ebp),%eax
41e920:	ff 75 18             	push   0x18(%ebp)
41e923:	ff 75 14             	push   0x14(%ebp)
41e926:	50                   	push   %eax
41e927:	e8 31 fd ff ff       	call   0x41e65d
41e92c:	83 c4 10             	add    $0x10,%esp
41e92f:	8d 7d d4             	lea    -0x2c(%ebp),%edi
41e932:	8b f0                	mov    %eax,%esi
41e934:	6a 06                	push   $0x6
41e936:	59                   	pop    %ecx
41e937:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41e939:	83 ce ff             	or     $0xffffffff,%esi
41e93c:	39 75 e0             	cmp    %esi,-0x20(%ebp)
41e93f:	75 19                	jne    0x41e95a
41e941:	e8 a2 04 ff ff       	call   0x40ede8
41e946:	83 20 00             	andl   $0x0,(%eax)
41e949:	8b 45 0c             	mov    0xc(%ebp),%eax
41e94c:	89 30                	mov    %esi,(%eax)
41e94e:	e8 a8 04 ff ff       	call   0x40edfb
41e953:	8b 00                	mov    (%eax),%eax
41e955:	e9 da 02 00 00       	jmp    0x41ec34
41e95a:	e8 f3 cc ff ff       	call   0x41b652
41e95f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41e962:	89 03                	mov    %eax,(%ebx)
41e964:	3b c6                	cmp    %esi,%eax
41e966:	75 17                	jne    0x41e97f
41e968:	e8 7b 04 ff ff       	call   0x40ede8
41e96d:	83 20 00             	andl   $0x0,(%eax)
41e970:	89 33                	mov    %esi,(%ebx)
41e972:	e8 84 04 ff ff       	call   0x40edfb
41e977:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
41e97d:	eb cf                	jmp    0x41e94e
41e97f:	8b 45 08             	mov    0x8(%ebp),%eax
41e982:	8d 75 d4             	lea    -0x2c(%ebp),%esi
41e985:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
41e989:	33 c9                	xor    %ecx,%ecx
41e98b:	41                   	inc    %ecx
41e98c:	c7 45 ec 0c 00 00 00 	movl   $0xc,-0x14(%ebp)
41e993:	83 ec 18             	sub    $0x18,%esp
41e996:	89 08                	mov    %ecx,(%eax)
41e998:	8b 45 14             	mov    0x14(%ebp),%eax
41e99b:	c1 e8 07             	shr    $0x7,%eax
41e99e:	f7 d0                	not    %eax
41e9a0:	23 c1                	and    %ecx,%eax
41e9a2:	6a 06                	push   $0x6
41e9a4:	59                   	pop    %ecx
41e9a5:	89 45 f4             	mov    %eax,-0xc(%ebp)
41e9a8:	8b fc                	mov    %esp,%edi
41e9aa:	8d 45 ec             	lea    -0x14(%ebp),%eax
41e9ad:	50                   	push   %eax
41e9ae:	ff 75 10             	push   0x10(%ebp)
41e9b1:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41e9b3:	e8 10 fc ff ff       	call   0x41e5c8
41e9b8:	8b f8                	mov    %eax,%edi
41e9ba:	83 c4 20             	add    $0x20,%esp
41e9bd:	89 7d f8             	mov    %edi,-0x8(%ebp)
41e9c0:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
41e9c5:	83 ff ff             	cmp    $0xffffffff,%edi
41e9c8:	75 6b                	jne    0x41ea35
41e9ca:	8b 4d d8             	mov    -0x28(%ebp),%ecx
41e9cd:	8b c1                	mov    %ecx,%eax
41e9cf:	23 c2                	and    %edx,%eax
41e9d1:	3b c2                	cmp    %edx,%eax
41e9d3:	75 35                	jne    0x41ea0a
41e9d5:	f6 45 14 01          	testb  $0x1,0x14(%ebp)
41e9d9:	74 2f                	je     0x41ea0a
41e9db:	83 ec 18             	sub    $0x18,%esp
41e9de:	8d 45 ec             	lea    -0x14(%ebp),%eax
41e9e1:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
41e9e7:	8d 75 d4             	lea    -0x2c(%ebp),%esi
41e9ea:	89 4d d8             	mov    %ecx,-0x28(%ebp)
41e9ed:	6a 06                	push   $0x6
41e9ef:	59                   	pop    %ecx
41e9f0:	8b fc                	mov    %esp,%edi
41e9f2:	50                   	push   %eax
41e9f3:	ff 75 10             	push   0x10(%ebp)
41e9f6:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41e9f8:	e8 cb fb ff ff       	call   0x41e5c8
41e9fd:	8b f8                	mov    %eax,%edi
41e9ff:	83 c4 20             	add    $0x20,%esp
41ea02:	89 7d f8             	mov    %edi,-0x8(%ebp)
41ea05:	83 ff ff             	cmp    $0xffffffff,%edi
41ea08:	75 2b                	jne    0x41ea35
41ea0a:	8b 0b                	mov    (%ebx),%ecx
41ea0c:	8b c1                	mov    %ecx,%eax
41ea0e:	83 e1 3f             	and    $0x3f,%ecx
41ea11:	c1 f8 06             	sar    $0x6,%eax
41ea14:	6b c9 38             	imul   $0x38,%ecx,%ecx
41ea17:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41ea1e:	80 64 08 28 fe       	andb   $0xfe,0x28(%eax,%ecx,1)
41ea23:	ff 15 98 40 42 00    	call   *0x424098
41ea29:	50                   	push   %eax
41ea2a:	e8 96 03 ff ff       	call   0x40edc5
41ea2f:	59                   	pop    %ecx
41ea30:	e9 19 ff ff ff       	jmp    0x41e94e
41ea35:	57                   	push   %edi
41ea36:	ff 15 ec 40 42 00    	call   *0x4240ec
41ea3c:	85 c0                	test   %eax,%eax
41ea3e:	75 47                	jne    0x41ea87
41ea40:	ff 15 98 40 42 00    	call   *0x424098
41ea46:	8b f0                	mov    %eax,%esi
41ea48:	56                   	push   %esi
41ea49:	e8 77 03 ff ff       	call   0x40edc5
41ea4e:	59                   	pop    %ecx
41ea4f:	8b 0b                	mov    (%ebx),%ecx
41ea51:	8b c1                	mov    %ecx,%eax
41ea53:	83 e1 3f             	and    $0x3f,%ecx
41ea56:	c1 f8 06             	sar    $0x6,%eax
41ea59:	6b c9 38             	imul   $0x38,%ecx,%ecx
41ea5c:	57                   	push   %edi
41ea5d:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41ea64:	80 64 08 28 fe       	andb   $0xfe,0x28(%eax,%ecx,1)
41ea69:	ff 15 f0 40 42 00    	call   *0x4240f0
41ea6f:	85 f6                	test   %esi,%esi
41ea71:	0f 85 d7 fe ff ff    	jne    0x41e94e
41ea77:	e8 7f 03 ff ff       	call   0x40edfb
41ea7c:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
41ea82:	e9 c7 fe ff ff       	jmp    0x41e94e
41ea87:	83 f8 02             	cmp    $0x2,%eax
41ea8a:	75 07                	jne    0x41ea93
41ea8c:	8a 45 d4             	mov    -0x2c(%ebp),%al
41ea8f:	0c 40                	or     $0x40,%al
41ea91:	eb 0a                	jmp    0x41ea9d
41ea93:	83 f8 03             	cmp    $0x3,%eax
41ea96:	8a 45 d4             	mov    -0x2c(%ebp),%al
41ea99:	75 02                	jne    0x41ea9d
41ea9b:	0c 08                	or     $0x8,%al
41ea9d:	57                   	push   %edi
41ea9e:	ff 33                	push   (%ebx)
41eaa0:	88 45 ff             	mov    %al,-0x1(%ebp)
41eaa3:	e8 f5 ca ff ff       	call   0x41b59d
41eaa8:	8a 55 ff             	mov    -0x1(%ebp),%dl
41eaab:	59                   	pop    %ecx
41eaac:	59                   	pop    %ecx
41eaad:	8b 0b                	mov    (%ebx),%ecx
41eaaf:	80 ca 01             	or     $0x1,%dl
41eab2:	8b c1                	mov    %ecx,%eax
41eab4:	88 55 ff             	mov    %dl,-0x1(%ebp)
41eab7:	83 e1 3f             	and    $0x3f,%ecx
41eaba:	c1 f8 06             	sar    $0x6,%eax
41eabd:	6b c9 38             	imul   $0x38,%ecx,%ecx
41eac0:	88 55 d4             	mov    %dl,-0x2c(%ebp)
41eac3:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41eaca:	88 54 08 28          	mov    %dl,0x28(%eax,%ecx,1)
41eace:	8b 0b                	mov    (%ebx),%ecx
41ead0:	8b c1                	mov    %ecx,%eax
41ead2:	83 e1 3f             	and    $0x3f,%ecx
41ead5:	c1 f8 06             	sar    $0x6,%eax
41ead8:	6b c9 38             	imul   $0x38,%ecx,%ecx
41eadb:	f6 45 14 02          	testb  $0x2,0x14(%ebp)
41eadf:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41eae6:	c6 44 08 29 00       	movb   $0x0,0x29(%eax,%ecx,1)
41eaeb:	74 1d                	je     0x41eb0a
41eaed:	ff 33                	push   (%ebx)
41eaef:	e8 e3 fc ff ff       	call   0x41e7d7
41eaf4:	8b f0                	mov    %eax,%esi
41eaf6:	59                   	pop    %ecx
41eaf7:	85 f6                	test   %esi,%esi
41eaf9:	74 0f                	je     0x41eb0a
41eafb:	ff 33                	push   (%ebx)
41eafd:	e8 0a 71 ff ff       	call   0x415c0c
41eb02:	59                   	pop    %ecx
41eb03:	8b c6                	mov    %esi,%eax
41eb05:	e9 2a 01 00 00       	jmp    0x41ec34
41eb0a:	8d 45 fe             	lea    -0x2(%ebp),%eax
41eb0d:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
41eb11:	50                   	push   %eax
41eb12:	ff 75 14             	push   0x14(%ebp)
41eb15:	8d 75 d4             	lea    -0x2c(%ebp),%esi
41eb18:	83 ec 18             	sub    $0x18,%esp
41eb1b:	6a 06                	push   $0x6
41eb1d:	59                   	pop    %ecx
41eb1e:	8b fc                	mov    %esp,%edi
41eb20:	ff 33                	push   (%ebx)
41eb22:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41eb24:	e8 4c f8 ff ff       	call   0x41e375
41eb29:	8b 13                	mov    (%ebx),%edx
41eb2b:	8b f0                	mov    %eax,%esi
41eb2d:	83 c4 24             	add    $0x24,%esp
41eb30:	85 f6                	test   %esi,%esi
41eb32:	74 03                	je     0x41eb37
41eb34:	52                   	push   %edx
41eb35:	eb c6                	jmp    0x41eafd
41eb37:	8a 45 fe             	mov    -0x2(%ebp),%al
41eb3a:	8b ca                	mov    %edx,%ecx
41eb3c:	c1 f9 06             	sar    $0x6,%ecx
41eb3f:	83 e2 3f             	and    $0x3f,%edx
41eb42:	6b d2 38             	imul   $0x38,%edx,%edx
41eb45:	8b 0c 8d c0 4a 43 00 	mov    0x434ac0(,%ecx,4),%ecx
41eb4c:	88 44 11 29          	mov    %al,0x29(%ecx,%edx,1)
41eb50:	8b 0b                	mov    (%ebx),%ecx
41eb52:	8b c1                	mov    %ecx,%eax
41eb54:	c1 f8 06             	sar    $0x6,%eax
41eb57:	83 e1 3f             	and    $0x3f,%ecx
41eb5a:	6b d1 38             	imul   $0x38,%ecx,%edx
41eb5d:	8b 0c 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%ecx
41eb64:	8b 45 14             	mov    0x14(%ebp),%eax
41eb67:	c1 e8 10             	shr    $0x10,%eax
41eb6a:	32 44 11 2d          	xor    0x2d(%ecx,%edx,1),%al
41eb6e:	24 01                	and    $0x1,%al
41eb70:	30 44 11 2d          	xor    %al,0x2d(%ecx,%edx,1)
41eb74:	f6 45 ff 48          	testb  $0x48,-0x1(%ebp)
41eb78:	75 1f                	jne    0x41eb99
41eb7a:	f6 45 14 08          	testb  $0x8,0x14(%ebp)
41eb7e:	74 19                	je     0x41eb99
41eb80:	8b 0b                	mov    (%ebx),%ecx
41eb82:	8b c1                	mov    %ecx,%eax
41eb84:	83 e1 3f             	and    $0x3f,%ecx
41eb87:	c1 f8 06             	sar    $0x6,%eax
41eb8a:	6b c9 38             	imul   $0x38,%ecx,%ecx
41eb8d:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41eb94:	80 4c 08 28 20       	orb    $0x20,0x28(%eax,%ecx,1)
41eb99:	8b 75 d8             	mov    -0x28(%ebp),%esi
41eb9c:	b9 00 00 00 c0       	mov    $0xc0000000,%ecx
41eba1:	8b c6                	mov    %esi,%eax
41eba3:	23 c1                	and    %ecx,%eax
41eba5:	3b c1                	cmp    %ecx,%eax
41eba7:	0f 85 85 00 00 00    	jne    0x41ec32
41ebad:	f6 45 14 01          	testb  $0x1,0x14(%ebp)
41ebb1:	74 7f                	je     0x41ec32
41ebb3:	ff 75 f8             	push   -0x8(%ebp)
41ebb6:	ff 15 f0 40 42 00    	call   *0x4240f0
41ebbc:	83 ec 18             	sub    $0x18,%esp
41ebbf:	8d 45 ec             	lea    -0x14(%ebp),%eax
41ebc2:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
41ebc8:	89 75 d8             	mov    %esi,-0x28(%ebp)
41ebcb:	8d 75 d4             	lea    -0x2c(%ebp),%esi
41ebce:	6a 06                	push   $0x6
41ebd0:	59                   	pop    %ecx
41ebd1:	8b fc                	mov    %esp,%edi
41ebd3:	50                   	push   %eax
41ebd4:	ff 75 10             	push   0x10(%ebp)
41ebd7:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41ebd9:	e8 ea f9 ff ff       	call   0x41e5c8
41ebde:	8b d0                	mov    %eax,%edx
41ebe0:	83 c4 20             	add    $0x20,%esp
41ebe3:	83 fa ff             	cmp    $0xffffffff,%edx
41ebe6:	75 32                	jne    0x41ec1a
41ebe8:	ff 15 98 40 42 00    	call   *0x424098
41ebee:	50                   	push   %eax
41ebef:	e8 d1 01 ff ff       	call   0x40edc5
41ebf4:	8b 0b                	mov    (%ebx),%ecx
41ebf6:	8b c1                	mov    %ecx,%eax
41ebf8:	83 e1 3f             	and    $0x3f,%ecx
41ebfb:	c1 f8 06             	sar    $0x6,%eax
41ebfe:	6b c9 38             	imul   $0x38,%ecx,%ecx
41ec01:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41ec08:	80 64 08 28 fe       	andb   $0xfe,0x28(%eax,%ecx,1)
41ec0d:	ff 33                	push   (%ebx)
41ec0f:	e8 51 cb ff ff       	call   0x41b765
41ec14:	59                   	pop    %ecx
41ec15:	e9 15 fe ff ff       	jmp    0x41ea2f
41ec1a:	8b 0b                	mov    (%ebx),%ecx
41ec1c:	8b c1                	mov    %ecx,%eax
41ec1e:	c1 f8 06             	sar    $0x6,%eax
41ec21:	83 e1 3f             	and    $0x3f,%ecx
41ec24:	6b c9 38             	imul   $0x38,%ecx,%ecx
41ec27:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41ec2e:	89 54 08 18          	mov    %edx,0x18(%eax,%ecx,1)
41ec32:	33 c0                	xor    %eax,%eax
41ec34:	5f                   	pop    %edi
41ec35:	5e                   	pop    %esi
41ec36:	5b                   	pop    %ebx
41ec37:	c9                   	leave
41ec38:	c3                   	ret
41ec39:	8b ff                	mov    %edi,%edi
41ec3b:	55                   	push   %ebp
41ec3c:	8b ec                	mov    %esp,%ebp
41ec3e:	53                   	push   %ebx
41ec3f:	56                   	push   %esi
41ec40:	57                   	push   %edi
41ec41:	33 ff                	xor    %edi,%edi