41de0a:	8b d8                	mov    %eax,%ebx
41de0c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
41de10:	8b 54 24 10          	mov    0x10(%esp),%edx
41de14:	8b 44 24 0c          	mov    0xc(%esp),%eax
41de18:	d1 eb                	shr    $1,%ebx
41de1a:	d1 d9                	rcr    $1,%ecx
41de1c:	d1 ea                	shr    $1,%edx
41de1e:	d1 d8                	rcr    $1,%eax
41de20:	0b db                	or     %ebx,%ebx
41de22:	75 f4                	jne    0x41de18
41de24:	f7 f1                	div    %ecx
41de26:	8b c8                	mov    %eax,%ecx
41de28:	f7 64 24 18          	mull   0x18(%esp)
41de2c:	91                   	xchg   %eax,%ecx
41de2d:	f7 64 24 14          	mull   0x14(%esp)
41de31:	03 d1                	add    %ecx,%edx
41de33:	72 0e                	jb     0x41de43
41de35:	3b 54 24 10          	cmp    0x10(%esp),%edx
41de39:	77 08                	ja     0x41de43
41de3b:	72 0e                	jb     0x41de4b
41de3d:	3b 44 24 0c          	cmp    0xc(%esp),%eax
41de41:	76 08                	jbe    0x41de4b
41de43:	2b 44 24 14          	sub    0x14(%esp),%eax
41de47:	1b 54 24 18          	sbb    0x18(%esp),%edx
41de4b:	2b 44 24 0c          	sub    0xc(%esp),%eax
41de4f:	1b 54 24 10          	sbb    0x10(%esp),%edx
41de53:	4f                   	dec    %edi
41de54:	79 07                	jns    0x41de5d
41de56:	f7 da                	neg    %edx
41de58:	f7 d8                	neg    %eax
41de5a:	83 da 00             	sbb    $0x0,%edx
41de5d:	5f                   	pop    %edi
41de5e:	5b                   	pop    %ebx
41de5f:	c2 10 00             	ret    $0x10
41de62:	55                   	push   %ebp
41de63:	8b ec                	mov    %esp,%ebp
41de65:	83 ec 24             	sub    $0x24,%esp
41de68:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
41de6d:	89 45 fc             	mov    %eax,-0x4(%ebp)
41de70:	8b 45 14             	mov    0x14(%ebp),%eax
41de73:	b9 a1 00 00 00       	mov    $0xa1,%ecx
41de78:	3b c1                	cmp    %ecx,%eax
41de7a:	56                   	push   %esi
41de7b:	0f 8f 13 01 00 00    	jg     0x41df94
41de81:	0f 84 01 01 00 00    	je     0x41df88
41de87:	83 f8 18             	cmp    $0x18,%eax
41de8a:	0f 8f 88 00 00 00    	jg     0x41df18
41de90:	74 73                	je     0x41df05
41de92:	6a 02                	push   $0x2
41de94:	59                   	pop    %ecx
41de95:	2b c1                	sub    %ecx,%eax
41de97:	74 5d                	je     0x41def6
41de99:	48                   	dec    %eax
41de9a:	74 4e                	je     0x41deea
41de9c:	83 e8 05             	sub    $0x5,%eax
41de9f:	74 3a                	je     0x41dedb
41dea1:	48                   	dec    %eax
41dea2:	74 2b                	je     0x41decf
41dea4:	83 e8 05             	sub    $0x5,%eax
41dea7:	74 13                	je     0x41debc
41dea9:	48                   	dec    %eax
41deaa:	0f 85 35 02 00 00    	jne    0x41e0e5
41deb0:	c7 45 e0 90 20 49 00 	movl   $0x492090,-0x20(%ebp)
41deb7:	e9 9d 00 00 00       	jmp    0x41df59
41debc:	c7 45 dc 03 00 00 00 	movl   $0x3,-0x24(%ebp)
41dec3:	c7 45 e0 90 20 49 00 	movl   $0x492090,-0x20(%ebp)
41deca:	e9 4c 01 00 00       	jmp    0x41e01b
41decf:	c7 45 e0 88 20 49 00 	movl   $0x492088,-0x20(%ebp)
41ded6:	e9 a7 01 00 00       	jmp    0x41e082
41dedb:	89 4d dc             	mov    %ecx,-0x24(%ebp)
41dede:	c7 45 e0 88 20 49 00 	movl   $0x492088,-0x20(%ebp)
41dee5:	e9 31 01 00 00       	jmp    0x41e01b
41deea:	c7 45 e0 84 20 49 00 	movl   $0x492084,-0x20(%ebp)
41def1:	e9 8c 01 00 00       	jmp    0x41e082
41def6:	89 4d dc             	mov    %ecx,-0x24(%ebp)
41def9:	c7 45 e0 84 20 49 00 	movl   $0x492084,-0x20(%ebp)
41df00:	e9 16 01 00 00       	jmp    0x41e01b
41df05:	c7 45 dc 03 00 00 00 	movl   $0x3,-0x24(%ebp)
41df0c:	c7 45 e0 80 20 49 00 	movl   $0x492080,-0x20(%ebp)
41df13:	e9 03 01 00 00       	jmp    0x41e01b
41df18:	83 e8 19             	sub    $0x19,%eax
41df1b:	74 35                	je     0x41df52
41df1d:	48                   	dec    %eax
41df1e:	74 26                	je     0x41df46
41df20:	48                   	dec    %eax
41df21:	74 1a                	je     0x41df3d
41df23:	48                   	dec    %eax
41df24:	0f 84 51 01 00 00    	je     0x41e07b
41df2a:	48                   	dec    %eax
41df2b:	0f 85 b4 01 00 00    	jne    0x41e0e5
41df31:	c7 45 e0 80 20 49 00 	movl   $0x492080,-0x20(%ebp)
41df38:	e9 66 01 00 00       	jmp    0x41e0a3
41df3d:	c7 45 dc 02 00 00 00 	movl   $0x2,-0x24(%ebp)
41df44:	eb c6                	jmp    0x41df0c
41df46:	8b 45 10             	mov    0x10(%ebp),%eax
41df49:	d9 e8                	fld1
41df4b:	dd 18                	fstpl  (%eax)
41df4d:	e9 93 01 00 00       	jmp    0x41e0e5
41df52:	c7 45 e0 80 20 49 00 	movl   $0x492080,-0x20(%ebp)
41df59:	8b 45 08             	mov    0x8(%ebp),%eax
41df5c:	dd 00                	fldl   (%eax)
41df5e:	8b 45 0c             	mov    0xc(%ebp),%eax
41df61:	8b 75 10             	mov    0x10(%ebp),%esi
41df64:	dd 5d e4             	fstpl  -0x1c(%ebp)
41df67:	dd 00                	fldl   (%eax)
41df69:	8d 45 dc             	lea    -0x24(%ebp),%eax
41df6c:	dd 5d ec             	fstpl  -0x14(%ebp)
41df6f:	50                   	push   %eax
41df70:	dd 06                	fldl   (%esi)
41df72:	c7 45 dc 04 00 00 00 	movl   $0x4,-0x24(%ebp)
41df79:	dd 5d f4             	fstpl  -0xc(%ebp)
41df7c:	ff 15 c0 8f 4a 00    	call   *0x4a8fc0
41df82:	59                   	pop    %ecx
41df83:	e9 58 01 00 00       	jmp    0x41e0e0
41df88:	c7 45 dc 03 00 00 00 	movl   $0x3,-0x24(%ebp)
41df8f:	e9 80 00 00 00       	jmp    0x41e014
41df94:	b9 ea 03 00 00       	mov    $0x3ea,%ecx
41df99:	3b c1                	cmp    %ecx,%eax
41df9b:	0f 8f be 00 00 00    	jg     0x41e05f
41dfa1:	0f 84 af 00 00 00    	je     0x41e056
41dfa7:	2d a2 00 00 00       	sub    $0xa2,%eax
41dfac:	74 5f                	je     0x41e00d
41dfae:	83 e8 04             	sub    $0x4,%eax
41dfb1:	74 4a                	je     0x41dffd
41dfb3:	83 e8 04             	sub    $0x4,%eax
41dfb6:	74 35                	je     0x41dfed
41dfb8:	48                   	dec    %eax
41dfb9:	74 26                	je     0x41dfe1
41dfbb:	2d 3d 03 00 00       	sub    $0x33d,%eax
41dfc0:	74 13                	je     0x41dfd5
41dfc2:	48                   	dec    %eax
41dfc3:	0f 85 1c 01 00 00    	jne    0x41e0e5
41dfc9:	c7 45 e0 88 20 49 00 	movl   $0x492088,-0x20(%ebp)
41dfd0:	e9 ce 00 00 00       	jmp    0x41e0a3
41dfd5:	c7 45 e0 84 20 49 00 	movl   $0x492084,-0x20(%ebp)
41dfdc:	e9 c2 00 00 00       	jmp    0x41e0a3
41dfe1:	c7 45 e0 78 20 49 00 	movl   $0x492078,-0x20(%ebp)
41dfe8:	e9 95 00 00 00       	jmp    0x41e082
41dfed:	c7 45 dc 02 00 00 00 	movl   $0x2,-0x24(%ebp)
41dff4:	c7 45 e0 78 20 49 00 	movl   $0x492078,-0x20(%ebp)
41dffb:	eb 1e                	jmp    0x41e01b
41dffd:	c7 45 dc 03 00 00 00 	movl   $0x3,-0x24(%ebp)
41e004:	c7 45 e0 70 20 49 00 	movl   $0x492070,-0x20(%ebp)
41e00b:	eb 0e                	jmp    0x41e01b
41e00d:	c7 45 dc 04 00 00 00 	movl   $0x4,-0x24(%ebp)
41e014:	c7 45 e0 68 20 49 00 	movl   $0x492068,-0x20(%ebp)
41e01b:	8b 45 08             	mov    0x8(%ebp),%eax
41e01e:	dd 00                	fldl   (%eax)
41e020:	8b 45 0c             	mov    0xc(%ebp),%eax
41e023:	8b 75 10             	mov    0x10(%ebp),%esi
41e026:	dd 5d e4             	fstpl  -0x1c(%ebp)
41e029:	dd 00                	fldl   (%eax)
41e02b:	8d 45 dc             	lea    -0x24(%ebp),%eax
41e02e:	dd 5d ec             	fstpl  -0x14(%ebp)
41e031:	50                   	push   %eax
41e032:	dd 06                	fldl   (%esi)
41e034:	dd 5d f4             	fstpl  -0xc(%ebp)
41e037:	ff 15 c0 8f 4a 00    	call   *0x4a8fc0
41e03d:	85 c0                	test   %eax,%eax
41e03f:	59                   	pop    %ecx
41e040:	0f 85 9a 00 00 00    	jne    0x41e0e0
41e046:	e8 db b1 ff ff       	call   0x419226
41e04b:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
41e051:	e9 8a 00 00 00       	jmp    0x41e0e0
41e056:	c7 45 e0 90 20 49 00 	movl   $0x492090,-0x20(%ebp)
41e05d:	eb 44                	jmp    0x41e0a3
41e05f:	2d eb 03 00 00       	sub    $0x3eb,%eax
41e064:	74 36                	je     0x41e09c
41e066:	48                   	dec    %eax
41e067:	74 2a                	je     0x41e093
41e069:	48                   	dec    %eax
41e06a:	74 1e                	je     0x41e08a
41e06c:	48                   	dec    %eax
41e06d:	74 0c                	je     0x41e07b
41e06f:	48                   	dec    %eax
41e070:	75 73                	jne    0x41e0e5
41e072:	c7 45 e0 60 20 49 00 	movl   $0x492060,-0x20(%ebp)
41e079:	eb 28                	jmp    0x41e0a3
41e07b:	c7 45 e0 80 20 49 00 	movl   $0x492080,-0x20(%ebp)
41e082:	8b 45 08             	mov    0x8(%ebp),%eax
41e085:	8b 75 10             	mov    0x10(%ebp),%esi
41e088:	eb 23                	jmp    0x41e0ad
41e08a:	c7 45 e0 58 20 49 00 	movl   $0x492058,-0x20(%ebp)
41e091:	eb 10                	jmp    0x41e0a3
41e093:	c7 45 e0 50 20 49 00 	movl   $0x492050,-0x20(%ebp)
41e09a:	eb 07                	jmp    0x41e0a3
41e09c:	c7 45 e0 48 20 49 00 	movl   $0x492048,-0x20(%ebp)
41e0a3:	8b 45 08             	mov    0x8(%ebp),%eax
41e0a6:	dd 00                	fldl   (%eax)
41e0a8:	8b 75 10             	mov    0x10(%ebp),%esi
41e0ab:	dd 1e                	fstpl  (%esi)
41e0ad:	dd 00                	fldl   (%eax)
41e0af:	8b 45 0c             	mov    0xc(%ebp),%eax
41e0b2:	dd 5d e4             	fstpl  -0x1c(%ebp)
41e0b5:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
41e0bc:	dd 00                	fldl   (%eax)
41e0be:	8d 45 dc             	lea    -0x24(%ebp),%eax
41e0c1:	dd 5d ec             	fstpl  -0x14(%ebp)
41e0c4:	50                   	push   %eax
41e0c5:	dd 06                	fldl   (%esi)
41e0c7:	dd 5d f4             	fstpl  -0xc(%ebp)
41e0ca:	ff 15 c0 8f 4a 00    	call   *0x4a8fc0
41e0d0:	85 c0                	test   %eax,%eax
41e0d2:	59                   	pop    %ecx
41e0d3:	75 0b                	jne    0x41e0e0
41e0d5:	e8 4c b1 ff ff       	call   0x419226
41e0da:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
41e0e0:	dd 45 f4             	fldl   -0xc(%ebp)
41e0e3:	dd 1e                	fstpl  (%esi)
41e0e5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41e0e8:	5e                   	pop    %esi
41e0e9:	e8 f0 9a ff ff       	call   0x417bde
41e0ee:	c9                   	leave
41e0ef:	c3                   	ret
41e0f0:	6a 0c                	push   $0xc
41e0f2:	68 98 20 49 00       	push   $0x492098
41e0f7:	e8 ec a0 ff ff       	call   0x4181e8
41e0fc:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41e100:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41e104:	66 0f 28 c1          	movapd %xmm1,%xmm0
41e108:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
41e10f:	eb 07                	jmp    0x41e118
41e111:	33 c0                	xor    %eax,%eax
41e113:	40                   	inc    %eax
41e114:	c3                   	ret
41e115:	8b 65 e8             	mov    -0x18(%ebp),%esp
41e118:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41e11c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41e11f:	e8 ff a0 ff ff       	call   0x418223
41e124:	c3                   	ret
41e125:	55                   	push   %ebp
41e126:	8b ec                	mov    %esp,%ebp
41e128:	83 ec 20             	sub    $0x20,%esp
41e12b:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
41e130:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e133:	33 c0                	xor    %eax,%eax
41e135:	53                   	push   %ebx
41e136:	56                   	push   %esi
41e137:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41e13a:	89 45 e8             	mov    %eax,-0x18(%ebp)
41e13d:	88 45 ec             	mov    %al,-0x14(%ebp)
41e140:	53                   	push   %ebx
41e141:	9c                   	pushf
41e142:	58                   	pop    %eax
41e143:	8b c8                	mov    %eax,%ecx
41e145:	35 00 00 20 00       	xor    $0x200000,%eax
41e14a:	50                   	push   %eax
41e14b:	9d                   	popf
41e14c:	9c                   	pushf
41e14d:	5a                   	pop    %edx
41e14e:	2b d1                	sub    %ecx,%edx
41e150:	74 1f                	je     0x41e171
41e152:	51                   	push   %ecx
41e153:	9d                   	popf
41e154:	33 c0                	xor    %eax,%eax
41e156:	0f a2                	cpuid
41e158:	89 45 e0             	mov    %eax,-0x20(%ebp)
41e15b:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41e15e:	89 55 f0             	mov    %edx,-0x10(%ebp)
41e161:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41e164:	b8 01 00 00 00       	mov    $0x1,%eax
41e169:	0f a2                	cpuid
41e16b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
41e16e:	89 45 e8             	mov    %eax,-0x18(%ebp)
41e171:	5b                   	pop    %ebx
41e172:	83 25 14 e1 4a 00 00 	andl   $0x0,0x4ae114
41e179:	83 25 04 e1 4a 00 00 	andl   $0x0,0x4ae104
41e180:	f6 45 e7 04          	testb  $0x4,-0x19(%ebp)
41e184:	74 5f                	je     0x41e1e5
41e186:	e8 65 ff ff ff       	call   0x41e0f0
41e18b:	85 c0                	test   %eax,%eax
41e18d:	74 56                	je     0x41e1e5
41e18f:	6a 0c                	push   $0xc
41e191:	8d 45 ec             	lea    -0x14(%ebp),%eax
41e194:	33 f6                	xor    %esi,%esi
41e196:	50                   	push   %eax
41e197:	46                   	inc    %esi
41e198:	68 a4 20 49 00       	push   $0x4920a4
41e19d:	89 35 14 e1 4a 00    	mov    %esi,0x4ae114
41e1a3:	e8 58 56 00 00       	call   0x423800
41e1a8:	83 c4 0c             	add    $0xc,%esp
41e1ab:	85 c0                	test   %eax,%eax
41e1ad:	75 30                	jne    0x41e1df
41e1af:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41e1b2:	8b c1                	mov    %ecx,%eax
41e1b4:	c1 f8 08             	sar    $0x8,%eax
41e1b7:	83 e0 0f             	and    $0xf,%eax
41e1ba:	c1 f9 14             	sar    $0x14,%ecx
41e1bd:	8b d0                	mov    %eax,%edx
41e1bf:	83 ea 0f             	sub    $0xf,%edx
41e1c2:	81 e1 ff 00 00 00    	and    $0xff,%ecx
41e1c8:	f7 da                	neg    %edx
41e1ca:	1b d2                	sbb    %edx,%edx
41e1cc:	f7 d2                	not    %edx
41e1ce:	23 d1                	and    %ecx,%edx
41e1d0:	03 d0                	add    %eax,%edx
41e1d2:	83 ea 0f             	sub    $0xf,%edx
41e1d5:	f7 da                	neg    %edx
41e1d7:	1b d2                	sbb    %edx,%edx
41e1d9:	42                   	inc    %edx
41e1da:	89 55 e0             	mov    %edx,-0x20(%ebp)
41e1dd:	75 06                	jne    0x41e1e5
41e1df:	89 35 04 e1 4a 00    	mov    %esi,0x4ae104
41e1e5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41e1e8:	33 c0                	xor    %eax,%eax
41e1ea:	e8 ef 99 ff ff       	call   0x417bde
41e1ef:	5e                   	pop    %esi
41e1f0:	5b                   	pop    %ebx
41e1f1:	c9                   	leave
41e1f2:	c3                   	ret
41e1f3:	8b 44 24 04          	mov    0x4(%esp),%eax
41e1f7:	f7 d8                	neg    %eax
41e1f9:	1b c0                	sbb    %eax,%eax
41e1fb:	23 05 14 e1 4a 00    	and    0x4ae114,%eax
41e201:	a3 04 e1 4a 00       	mov    %eax,0x4ae104
41e206:	c3                   	ret
41e207:	55                   	push   %ebp
41e208:	8b ec                	mov    %esp,%ebp
41e20a:	51                   	push   %ecx
41e20b:	51                   	push   %ecx
41e20c:	53                   	push   %ebx
41e20d:	56                   	push   %esi
41e20e:	be ff ff 00 00       	mov    $0xffff,%esi
41e213:	56                   	push   %esi
41e214:	ff 35 c4 8f 4a 00    	push   0x4a8fc4
41e21a:	e8 34 6b 00 00       	call   0x424d53
41e21f:	dd 45 08             	fldl   0x8(%ebp)
41e222:	59                   	pop    %ecx
41e223:	59                   	pop    %ecx
41e224:	8b d8                	mov    %eax,%ebx
41e226:	8b 45 0e             	mov    0xe(%ebp),%eax
41e229:	51                   	push   %ecx
41e22a:	66 25 f0 7f          	and    $0x7ff0,%ax
41e22e:	66 3d f0 7f          	cmp    $0x7ff0,%ax
41e232:	51                   	push   %ecx
41e233:	dd 1c 24             	fstpl  (%esp)
41e236:	75 55                	jne    0x41e28d
41e238:	e8 e8 69 00 00       	call   0x424c25
41e23d:	85 c0                	test   %eax,%eax
41e23f:	59                   	pop    %ecx
41e240:	59                   	pop    %ecx
41e241:	7e 2d                	jle    0x41e270
41e243:	83 f8 02             	cmp    $0x2,%eax
41e246:	7e 1a                	jle    0x41e262
41e248:	83 f8 03             	cmp    $0x3,%eax
41e24b:	75 23                	jne    0x41e270
41e24d:	dd 45 08             	fldl   0x8(%ebp)
41e250:	53                   	push   %ebx
41e251:	51                   	push   %ecx
41e252:	51                   	push   %ecx