415cb4:	c9                   	leave
415cb5:	c3                   	ret
415cb6:	8b ff                	mov    %edi,%edi
415cb8:	55                   	push   %ebp
415cb9:	8b ec                	mov    %esp,%ebp
415cbb:	8b 4d 08             	mov    0x8(%ebp),%ecx
415cbe:	ba 00 03 00 00       	mov    $0x300,%edx
415cc3:	8b c1                	mov    %ecx,%eax
415cc5:	c1 e9 16             	shr    $0x16,%ecx
415cc8:	c1 e8 0e             	shr    $0xe,%eax
415ccb:	23 ca                	and    %edx,%ecx
415ccd:	23 c2                	and    %edx,%eax
415ccf:	3b c1                	cmp    %ecx,%eax
415cd1:	74 03                	je     0x415cd6
415cd3:	83 c8 ff             	or     $0xffffffff,%eax
415cd6:	5d                   	pop    %ebp
415cd7:	c3                   	ret
415cd8:	8b ff                	mov    %edi,%edi
415cda:	55                   	push   %ebp
415cdb:	8b ec                	mov    %esp,%ebp
415cdd:	83 ec 20             	sub    $0x20,%esp
415ce0:	56                   	push   %esi
415ce1:	57                   	push   %edi
415ce2:	6a 07                	push   $0x7
415ce4:	59                   	pop    %ecx
415ce5:	33 c0                	xor    %eax,%eax
415ce7:	8d 7d e0             	lea    -0x20(%ebp),%edi
415cea:	f3 ab                	rep stos %eax,%es:(%edi)
415cec:	d9 75 e0             	fnstenv -0x20(%ebp)
415cef:	d9 65 e0             	fldenv -0x20(%ebp)
415cf2:	8b 45 e0             	mov    -0x20(%ebp),%eax
415cf5:	25 3f 1f 00 00       	and    $0x1f3f,%eax
415cfa:	50                   	push   %eax
415cfb:	e8 9d fd ff ff       	call   0x415a9d
415d00:	83 3d 6c 1a 42 00 01 	cmpl   $0x1,0x421a6c
415d07:	8b f0                	mov    %eax,%esi
415d09:	59                   	pop    %ecx
415d0a:	7d 04                	jge    0x415d10
415d0c:	33 c9                	xor    %ecx,%ecx
415d0e:	eb 0d                	jmp    0x415d1d
415d10:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
415d14:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415d17:	81 e1 c0 ff 00 00    	and    $0xffc0,%ecx
415d1d:	51                   	push   %ecx
415d1e:	e8 ca fc ff ff       	call   0x4159ed
415d23:	59                   	pop    %ecx
415d24:	8b d0                	mov    %eax,%edx
415d26:	8b c8                	mov    %eax,%ecx
415d28:	83 e2 3f             	and    $0x3f,%edx
415d2b:	81 e1 00 ff ff ff    	and    $0xffffff00,%ecx
415d31:	c1 e2 02             	shl    $0x2,%edx
415d34:	0b d1                	or     %ecx,%edx
415d36:	8b ce                	mov    %esi,%ecx
415d38:	c1 e2 06             	shl    $0x6,%edx
415d3b:	83 e1 3f             	and    $0x3f,%ecx
415d3e:	0b d1                	or     %ecx,%edx
415d40:	8b ce                	mov    %esi,%ecx
415d42:	c1 e2 02             	shl    $0x2,%edx
415d45:	81 e1 00 03 00 00    	and    $0x300,%ecx
415d4b:	0b d1                	or     %ecx,%edx
415d4d:	c1 e2 0e             	shl    $0xe,%edx
415d50:	0b c2                	or     %edx,%eax
415d52:	5f                   	pop    %edi
415d53:	0b c6                	or     %esi,%eax
415d55:	5e                   	pop    %esi
415d56:	c9                   	leave
415d57:	c3                   	ret
415d58:	8b ff                	mov    %edi,%edi
415d5a:	55                   	push   %ebp
415d5b:	8b ec                	mov    %esp,%ebp
415d5d:	51                   	push   %ecx
415d5e:	56                   	push   %esi
415d5f:	33 c0                	xor    %eax,%eax
415d61:	57                   	push   %edi
415d62:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
415d66:	dd 7d fc             	fnstsw -0x4(%ebp)
415d69:	0f b7 55 fc          	movzwl -0x4(%ebp),%edx
415d6d:	8b f2                	mov    %edx,%esi
415d6f:	8b c2                	mov    %edx,%eax
415d71:	c1 ee 02             	shr    $0x2,%esi
415d74:	83 e0 10             	and    $0x10,%eax
415d77:	83 e6 08             	and    $0x8,%esi
415d7a:	8b ca                	mov    %edx,%ecx
415d7c:	0b f0                	or     %eax,%esi
415d7e:	83 e1 02             	and    $0x2,%ecx
415d81:	c1 ee 02             	shr    $0x2,%esi
415d84:	8b c2                	mov    %edx,%eax
415d86:	83 e0 08             	and    $0x8,%eax
415d89:	c1 e1 03             	shl    $0x3,%ecx
415d8c:	0b f0                	or     %eax,%esi
415d8e:	8b c2                	mov    %edx,%eax
415d90:	83 e0 04             	and    $0x4,%eax
415d93:	d1 ee                	shr    $1,%esi
415d95:	0b c8                	or     %eax,%ecx
415d97:	83 e2 01             	and    $0x1,%edx
415d9a:	03 c9                	add    %ecx,%ecx
415d9c:	c1 e2 04             	shl    $0x4,%edx
415d9f:	0b f1                	or     %ecx,%esi
415da1:	0b f2                	or     %edx,%esi
415da3:	83 3d 6c 1a 42 00 01 	cmpl   $0x1,0x421a6c
415daa:	7d 04                	jge    0x415db0
415dac:	33 ff                	xor    %edi,%edi
415dae:	eb 0a                	jmp    0x415dba
415db0:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
415db4:	8b 7d fc             	mov    -0x4(%ebp),%edi
415db7:	83 e7 3f             	and    $0x3f,%edi
415dba:	8b d7                	mov    %edi,%edx
415dbc:	8b c7                	mov    %edi,%eax
415dbe:	83 e0 10             	and    $0x10,%eax
415dc1:	c1 ea 02             	shr    $0x2,%edx
415dc4:	83 e2 08             	and    $0x8,%edx
415dc7:	8b cf                	mov    %edi,%ecx
415dc9:	0b d0                	or     %eax,%edx
415dcb:	83 e1 02             	and    $0x2,%ecx
415dce:	8b c7                	mov    %edi,%eax
415dd0:	c1 ea 02             	shr    $0x2,%edx
415dd3:	83 e0 08             	and    $0x8,%eax
415dd6:	c1 e1 03             	shl    $0x3,%ecx
415dd9:	0b d0                	or     %eax,%edx
415ddb:	8b c7                	mov    %edi,%eax
415ddd:	83 e0 04             	and    $0x4,%eax
415de0:	d1 ea                	shr    $1,%edx
415de2:	0b c8                	or     %eax,%ecx
415de4:	83 e7 01             	and    $0x1,%edi
415de7:	03 c9                	add    %ecx,%ecx
415de9:	c1 e7 04             	shl    $0x4,%edi
415dec:	0b d1                	or     %ecx,%edx
415dee:	0b d7                	or     %edi,%edx
415df0:	8b c2                	mov    %edx,%eax
415df2:	c1 e0 08             	shl    $0x8,%eax
415df5:	0b c6                	or     %esi,%eax
415df7:	c1 e0 10             	shl    $0x10,%eax
415dfa:	0b c2                	or     %edx,%eax
415dfc:	5f                   	pop    %edi
415dfd:	0b c6                	or     %esi,%eax
415dff:	5e                   	pop    %esi
415e00:	c9                   	leave
415e01:	c3                   	ret
415e02:	8b ff                	mov    %edi,%edi
415e04:	55                   	push   %ebp
415e05:	8b ec                	mov    %esp,%ebp
415e07:	83 ec 20             	sub    $0x20,%esp
415e0a:	57                   	push   %edi
415e0b:	ff 75 08             	push   0x8(%ebp)
415e0e:	e8 ed fd ff ff       	call   0x415c00
415e13:	59                   	pop    %ecx
415e14:	6a 07                	push   $0x7
415e16:	0f b7 d0             	movzwl %ax,%edx
415e19:	8d 7d e0             	lea    -0x20(%ebp),%edi
415e1c:	59                   	pop    %ecx
415e1d:	33 c0                	xor    %eax,%eax
415e1f:	f3 ab                	rep stos %eax,%es:(%edi)
415e21:	d9 75 e0             	fnstenv -0x20(%ebp)
415e24:	8b 4d e0             	mov    -0x20(%ebp),%ecx
415e27:	81 e2 3f 1f 00 00    	and    $0x1f3f,%edx
415e2d:	81 e1 c0 e0 ff ff    	and    $0xffffe0c0,%ecx
415e33:	8b c2                	mov    %edx,%eax
415e35:	0b ca                	or     %edx,%ecx
415e37:	89 45 fc             	mov    %eax,-0x4(%ebp)
415e3a:	89 4d e0             	mov    %ecx,-0x20(%ebp)
415e3d:	d9 65 e0             	fldenv -0x20(%ebp)
415e40:	ff 75 08             	push   0x8(%ebp)
415e43:	e8 02 fd ff ff       	call   0x415b4a
415e48:	83 3d 6c 1a 42 00 01 	cmpl   $0x1,0x421a6c
415e4f:	59                   	pop    %ecx
415e50:	0f b7 d0             	movzwl %ax,%edx
415e53:	5f                   	pop    %edi
415e54:	7c 25                	jl     0x415e7b
415e56:	81 e2 c0 ff 00 00    	and    $0xffc0,%edx
415e5c:	0f b7 c2             	movzwl %dx,%eax
415e5f:	89 45 fc             	mov    %eax,-0x4(%ebp)
415e62:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
415e66:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415e69:	81 e1 3f 00 ff ff    	and    $0xffff003f,%ecx
415e6f:	0f b7 c2             	movzwl %dx,%eax
415e72:	0b c8                	or     %eax,%ecx
415e74:	89 4d fc             	mov    %ecx,-0x4(%ebp)
415e77:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
415e7b:	c9                   	leave
415e7c:	c3                   	ret
415e7d:	8b ff                	mov    %edi,%edi
415e7f:	55                   	push   %ebp
415e80:	8b ec                	mov    %esp,%ebp
415e82:	83 ec 20             	sub    $0x20,%esp
415e85:	56                   	push   %esi
415e86:	8b 75 08             	mov    0x8(%ebp),%esi
415e89:	8b ce                	mov    %esi,%ecx
415e8b:	c1 e9 10             	shr    $0x10,%ecx
415e8e:	83 e1 3f             	and    $0x3f,%ecx
415e91:	8b d1                	mov    %ecx,%edx
415e93:	8b c1                	mov    %ecx,%eax
415e95:	83 e2 01             	and    $0x1,%edx
415e98:	f7 da                	neg    %edx
415e9a:	57                   	push   %edi
415e9b:	1b d2                	sbb    %edx,%edx
415e9d:	8d 7d e0             	lea    -0x20(%ebp),%edi
415ea0:	83 e0 02             	and    $0x2,%eax
415ea3:	83 e2 20             	and    $0x20,%edx
415ea6:	f7 d8                	neg    %eax
415ea8:	6a 00                	push   $0x0
415eaa:	1b c0                	sbb    %eax,%eax
415eac:	83 e0 10             	and    $0x10,%eax
415eaf:	0b d0                	or     %eax,%edx
415eb1:	8b c1                	mov    %ecx,%eax
415eb3:	83 e0 04             	and    $0x4,%eax
415eb6:	f7 d8                	neg    %eax
415eb8:	1b c0                	sbb    %eax,%eax
415eba:	83 e0 08             	and    $0x8,%eax
415ebd:	0b d0                	or     %eax,%edx
415ebf:	8b c1                	mov    %ecx,%eax
415ec1:	83 e0 08             	and    $0x8,%eax
415ec4:	f7 d8                	neg    %eax
415ec6:	1b c0                	sbb    %eax,%eax
415ec8:	83 e0 04             	and    $0x4,%eax
415ecb:	0b d0                	or     %eax,%edx
415ecd:	f7 c1 10 00 00 00    	test   $0x10,%ecx
415ed3:	58                   	pop    %eax
415ed4:	0f 95 c0             	setne  %al
415ed7:	83 e1 20             	and    $0x20,%ecx
415eda:	0b d0                	or     %eax,%edx
415edc:	f7 d9                	neg    %ecx
415ede:	6a 07                	push   $0x7
415ee0:	1b c9                	sbb    %ecx,%ecx
415ee2:	33 c0                	xor    %eax,%eax
415ee4:	83 e1 02             	and    $0x2,%ecx
415ee7:	0b d1                	or     %ecx,%edx
415ee9:	59                   	pop    %ecx
415eea:	f3 ab                	rep stos %eax,%es:(%edi)
415eec:	d9 75 e0             	fnstenv -0x20(%ebp)
415eef:	8b 45 e4             	mov    -0x1c(%ebp),%eax
415ef2:	83 e2 3f             	and    $0x3f,%edx
415ef5:	83 e0 c0             	and    $0xffffffc0,%eax
415ef8:	0b c2                	or     %edx,%eax
415efa:	89 45 e4             	mov    %eax,-0x1c(%ebp)
415efd:	d9 65 e0             	fldenv -0x20(%ebp)
415f00:	c1 ee 18             	shr    $0x18,%esi
415f03:	83 e6 3f             	and    $0x3f,%esi
415f06:	8b ce                	mov    %esi,%ecx
415f08:	8b c6                	mov    %esi,%eax
415f0a:	83 e1 01             	and    $0x1,%ecx
415f0d:	f7 d9                	neg    %ecx
415f0f:	6a 00                	push   $0x0
415f11:	1b c9                	sbb    %ecx,%ecx
415f13:	83 e0 02             	and    $0x2,%eax
415f16:	83 e1 20             	and    $0x20,%ecx
415f19:	f7 d8                	neg    %eax
415f1b:	1b c0                	sbb    %eax,%eax
415f1d:	83 e0 10             	and    $0x10,%eax
415f20:	0b c8                	or     %eax,%ecx
415f22:	8b c6                	mov    %esi,%eax
415f24:	83 e0 04             	and    $0x4,%eax
415f27:	f7 d8                	neg    %eax
415f29:	1b c0                	sbb    %eax,%eax
415f2b:	83 e0 08             	and    $0x8,%eax
415f2e:	0b c8                	or     %eax,%ecx
415f30:	8b c6                	mov    %esi,%eax
415f32:	83 e0 08             	and    $0x8,%eax
415f35:	f7 d8                	neg    %eax
415f37:	1b c0                	sbb    %eax,%eax
415f39:	83 e0 04             	and    $0x4,%eax
415f3c:	0b c8                	or     %eax,%ecx
415f3e:	f7 c6 10 00 00 00    	test   $0x10,%esi
415f44:	58                   	pop    %eax
415f45:	0f 95 c0             	setne  %al
415f48:	0b c8                	or     %eax,%ecx
415f4a:	83 e6 20             	and    $0x20,%esi
415f4d:	f7 de                	neg    %esi
415f4f:	5f                   	pop    %edi
415f50:	1b f6                	sbb    %esi,%esi
415f52:	83 e6 02             	and    $0x2,%esi
415f55:	0b ce                	or     %esi,%ecx
415f57:	83 3d 6c 1a 42 00 01 	cmpl   $0x1,0x421a6c
415f5e:	5e                   	pop    %esi
415f5f:	7c 16                	jl     0x415f77
415f61:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
415f65:	8b 45 fc             	mov    -0x4(%ebp),%eax
415f68:	83 e1 3f             	and    $0x3f,%ecx
415f6b:	83 e0 c0             	and    $0xffffffc0,%eax
415f6e:	0b c1                	or     %ecx,%eax
415f70:	89 45 fc             	mov    %eax,-0x4(%ebp)
415f73:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
415f77:	c9                   	leave
415f78:	c3                   	ret
415f79:	8b ff                	mov    %edi,%edi
415f7b:	55                   	push   %ebp
415f7c:	8b ec                	mov    %esp,%ebp
415f7e:	8b 45 0c             	mov    0xc(%ebp),%eax
415f81:	83 20 00             	andl   $0x0,(%eax)
415f84:	83 60 04 00          	andl   $0x0,0x4(%eax)
415f88:	8b 45 08             	mov    0x8(%ebp),%eax
415f8b:	5d                   	pop    %ebp
415f8c:	c3                   	ret
415f8d:	8b ff                	mov    %edi,%edi
415f8f:	55                   	push   %ebp
415f90:	8b ec                	mov    %esp,%ebp
415f92:	8b 45 08             	mov    0x8(%ebp),%eax
415f95:	83 20 00             	andl   $0x0,(%eax)
415f98:	83 60 04 00          	andl   $0x0,0x4(%eax)
415f9c:	8b 45 0c             	mov    0xc(%ebp),%eax
415f9f:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
415fa3:	c7 40 18 2a 00 00 00 	movl   $0x2a,0x18(%eax)
415faa:	83 c8 ff             	or     $0xffffffff,%eax
415fad:	5d                   	pop    %ebp
415fae:	c3                   	ret
415faf:	8b ff                	mov    %edi,%edi
415fb1:	55                   	push   %ebp
415fb2:	8b ec                	mov    %esp,%ebp
415fb4:	8b 4d 08             	mov    0x8(%ebp),%ecx
415fb7:	33 c0                	xor    %eax,%eax
415fb9:	38 01                	cmp    %al,(%ecx)
415fbb:	74 0c                	je     0x415fc9
415fbd:	3b 45 0c             	cmp    0xc(%ebp),%eax
415fc0:	74 07                	je     0x415fc9
415fc2:	40                   	inc    %eax
415fc3:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
415fc7:	75 f4                	jne    0x415fbd
415fc9:	5d                   	pop    %ebp
415fca:	c3                   	ret
415fcb:	8b ff                	mov    %edi,%edi
415fcd:	55                   	push   %ebp
415fce:	8b ec                	mov    %esp,%ebp
415fd0:	56                   	push   %esi
415fd1:	8b 75 14             	mov    0x14(%ebp),%esi
415fd4:	85 f6                	test   %esi,%esi
415fd6:	7e 0d                	jle    0x415fe5
415fd8:	56                   	push   %esi
415fd9:	ff 75 10             	push   0x10(%ebp)
415fdc:	e8 be 0f ff ff       	call   0x406f9f
415fe1:	59                   	pop    %ecx
415fe2:	59                   	pop    %ecx
415fe3:	8b f0                	mov    %eax,%esi
415fe5:	8b 45 1c             	mov    0x1c(%ebp),%eax
415fe8:	85 c0                	test   %eax,%eax
415fea:	7e 0b                	jle    0x415ff7
415fec:	50                   	push   %eax
415fed:	ff 75 18             	push   0x18(%ebp)
415ff0:	e8 aa 0f ff ff       	call   0x406f9f
415ff5:	59                   	pop    %ecx
415ff6:	59                   	pop    %ecx
415ff7:	85 f6                	test   %esi,%esi
415ff9:	74 1e                	je     0x416019
415ffb:	85 c0                	test   %eax,%eax
415ffd:	74 1a                	je     0x416019
415fff:	33 c9                	xor    %ecx,%ecx
416001:	51                   	push   %ecx
416002:	51                   	push   %ecx
416003:	51                   	push   %ecx
416004:	50                   	push   %eax
416005:	ff 75 18             	push   0x18(%ebp)
416008:	56                   	push   %esi